Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Suchergebnisse

Suchergebnisse 1-18 von insgesamt 18.

Werbeanzeige

26.09.2011, 19:17

Forenbeitrag von: »Kippstrahl«

Zugriff auf VertexBuffer

Zu sagen ist wohl, dass ich DX VB's benutze. Aber in GL würde ich das dann so realisieren, wie du es vorgeschlagen hast. Jedoch wäre es in diesem Beispiel viel zu viel Overhead. Ich habe ein bisschen überlegt und werde mich wohl eines Trickes bedienen, bei dem einfach per ZBuffer die Bilder in den Würfel reinblende, ohne den ganzen VB neu erstellen zu müssen. Das wär bei einer 8-Bilder-Animation auf einem Würfel wahrscheinlich auch viel zu heftig in Echtzeit. Ich werde nach wie vor die nur sicht...

25.09.2011, 22:09

Forenbeitrag von: »Kippstrahl«

Zugriff auf VertexBuffer

Moin, ich sitze gerade an meinem MC-Klon ( siehe meinen andere Thread ). Ich stehe momentan vor dem Problem, einen VertexBuffer zu aktualisieren. Derzeit schreibe ich in den VertexBuffer nur die Vertices, die auch sichtbar sind (ich dachte am Anfang, dass es Overhead wäre, den man vermeiden könnte). Nun möchte ich aber geziehlt einzelne Seiten der Würfel verändern (z.B eine Textur draufblenden), ohne den gesamten VertexBuffer neu zu erstellen. Dies ist jedoch mit meinem speichersparendem Konzept...

30.04.2011, 03:49

Forenbeitrag von: »Kippstrahl«

Anisotropische Filterung stört Texturkoordinaten

Zitat von »daG« Normalerweise entstehen doch an den Kanten der Objekte Übergänge zu den benachbarten Texturteilen. Anscheinend ja nicht, wenn man sie mit einem richtigen Filter runterskaliert. Ich werde mich mal ransetzen. Danke für den Denkanstoß.

29.04.2011, 16:26

Forenbeitrag von: »Kippstrahl«

Anisotropische Filterung stört Texturkoordinaten

Werden denn bei einer eigenen Textur auch die Texturkoordinaten dementsprechend runterskaliert? Wenn ich aus der 256 x 256 eine 128 x 128 mache, müssen ja auch die Texturkoordinaten korrigiert werden.

29.04.2011, 14:56

Forenbeitrag von: »Kippstrahl«

Anisotropische Filterung stört Texturkoordinaten

Möchte ich ja gar nicht. Ich möchte nur, dass die 16x16 Ausschnitte auf große Entfernung kein Augenkrebs verursachen.

29.04.2011, 13:50

Forenbeitrag von: »Kippstrahl«

Anisotropische Filterung stört Texturkoordinaten

Wenn du mit Inseln diese 1x1 Löcher im Boden meinst: Die sind beabsichtigt (für die Kollisionserkennung). Diese grauen Punkte auf den Blöcken kommen in der Textur vor. Dieses Pink ist in der Textur enthalten (nämlich leere, noch nicht besetzte Texturoffsets sind Pink). @dot: Hab ich mir schon gedacht, aber wie genau stell ich das an? Ob ich nun ne eigene Mipchain erstelle oder automatisch generieren lasse macht ja keinen Unterschied. Das Herunterskalieren soll ja vermieden werden. Und zum Thema ...

29.04.2011, 02:54

Forenbeitrag von: »Kippstrahl«

Anisotropische Filterung stört Texturkoordinaten

Hi, ich habe bei meinem Projekt eine einzige Textur, die für jeden Block einen Textur-Ausschnitt beinhaltet (16 x 16). Ich würde in meinem Spiel schon gerne eine anisotropische Filterung benutzen, weil 16x16 Texturen auf die Entfernung schon ziemlich stark verpixelt aussehen. Problem ist hierbei die aktivierte automatische Mipchain, die meine ganze Textur runterskaliert. Auf die Entfernung kommen dann Farben zustande, die dort nicht sein sollten (siehe Screenshot). Kann ich das irgendwie verhind...

25.04.2011, 14:26

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Ich bin jetzt soweit, dass ich das Cullen der Chunks implementieren kann. Der Vorteil meiner Chunks ist, dass sie immer gleich groß sind, nur eben unterschiedliche Koordinaten haben und alle die gleiche Form besitzen. Da sie alle rechteckig sind, wäre es sinnvoll, einen AABB-Test mit dem Frustum durchzuführen. Ich Culle jetzt mit ner Boundingbox um jeden Chunk und das klappt bis jetzt ganz gut.

24.04.2011, 21:05

Forenbeitrag von: »Kippstrahl«

Was brauche ich alles um Spiele zu programmieren?

Kommt drauf an, aber in der ersten Auflage von deinem Ersten Buch wird das zweite Buch von dir als "Nachfolgewerk" deutlichst empfohlen und ich kann es bis heute nicht nachvollziehen. Wenn du das erste Buch durch hast, musst du das Wissen noch deutlich erweitern, da erst Konsolenprogramme geschrieben werden. Irgendwann muss man das Gespür für die richtigen Techniken für Problemlösungen finden. Irgendwann kannst du nach ersten Schritten mit einer Grafiklib dein Hit The Ball, hin zum Tetris und vi...

24.04.2011, 20:51

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Zitat von »daG« Soweit ich weiß geht pro VBO nur eine Textur. Du müsstest daher eine Textur haben die alle möglichen Würfel-Texturen beinhaltet und dort mit TexCoords arbeiten. Die Koordinaten müsstest du ja nur am Anfang einmal berechnen und mit im VBO speichern. Das ist eine gute Idee. So macht es Minecraft ja auch, fällt mir gerade auf.

24.04.2011, 19:59

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Ja ich habe da was mit den Dimensionen verwechselt. Jedenfalls kann ich jetzt locker 16 Chunks mit voller FPS rendern und kriege alle Innenseiten "gecullt". Jetzt bin ich jedoch auf die Frage gestoßen, wie ich einzelne Seiten unterschiedlich texturieren kann. Mit VertexBuffern weiß ich nur, dass ich ab einem bestimmten Offset + Count rendere. Das würde jedoch bedeuten, dass ich wieder für jeden Würfel den Typ abfrage und somit wieder Face per Face rendere.

24.04.2011, 11:43

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Zitat von »dot« Dann machst du irgendwas falsch. Werden die Buffer in jedem Frame dynamisch befüllt? Nein, bei der Generierung des Gitters mit 4 x 4 Chunks (Ein Chunk = 16 x 16 x 128 Würfel) wird der VertexBuffer gefüllt (jede Instanz der Struktur SChunk hat einen VertexBuffer). Nach dem ausschließen der nicht sichtbaren Seiten werden theoretisch 16*16*6*2 (für oben und unten) + 16*16*128*4 (Außenseiten) Vertices in den Buffer geladen [134144 Gesamt]. Dürfte ja eigentlich kein Problem sein für ...

23.04.2011, 18:06

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Ich bin dabei jetzt auf ein Problem gestoßen. Zuerst habe ich für jeden Chunk einen gleich großen VertexBuffer erstellt (der bei nicht gezeichneten Würfelseiten einfach 0 als Wert hat). Da das jedoch total perfomancelastig ist (was ich später auch gemerkt habe), habe ich es folgendermaßen realisiert: Die Größe des VertexBuffers wird zur Laufzeit bestimmt (also nach dem Erstellen des Chunk). Problem ist, dass das Zeichnen dieser VertexBuffer total langsam ist, erstaunlicherweise viel langsamer al...

17.04.2011, 20:51

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Zitat von »BlueCobold« Jup. Einmal 100 Würfel zu rendern ist deutlich schneller als hundert mal einen einzelnen. Da wirst Du vermutlich ähnlich viel Performance rausholen wie Du mit Deinem Frustum-Culling erreichen willst. Eine Umstellung Deiner gesamten Geometrie wäre also von Vorteil. Wie Jonathan sagte wäre es vermutlich klug, große Teile des Levels (die Du dann separat cullen kannst) in einem VBO abzulegen statt jeden Würfel einzeln. Ja, dass die Würfel-für-Würfel Methode ineffizient ist, w...

16.04.2011, 16:09

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Zitat von »BlueCobold« Man kann sogar einzelne Seiten der Würfel weglassen, welche an einen anderen angrenzen. Kann ja durchaus sein, dass von einem Würfel nur eine Seite sichtbar ist, ähnlich wie bei Kopfsteinpflaster auf einer Straße. Bisher habe ich alle im Frustum liegenden Würfel gerendert und dabei auf die Funktion Mesh->DrawSubset(0); zurückgegriffen. Diese Funktion rendert ja den gesamten Mesh. Wie kann ich nun aus diesem Mesh bestimmte Faces rauslassen? Erstmal wird natürlich geprüft, ...

14.04.2011, 11:43

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Zitat von »BlueCobold« Nun, jeden Würfel einzeln zu cullen (und ich hoffe nicht, dass du Würfel/Flächen zeichnest, die im Inneren liegen und somit eh nicht sichtbar sind) dürfte fast mehr Performance fressen als sie einfach zu zeichnen. Daher ist zumindest eine Gruppierung definitiv sinnvoll, auch wenn es nicht unbedingt ein Octree sein muss. Da habe ich mir überlegt, dass beim Generieren des "Terrains" überprüft wird, ob ein Würfel von 6 anderen umschlossen wird, und wenn ja, dass dieser dann ...

14.04.2011, 11:18

Forenbeitrag von: »Kippstrahl«

Frustum Culling

Hi, ich versuche gerade Minecraft in C++ nachzubauen, um meine Kenntnisse in DX zu verbessern. Da die gesamte Szene nur aus Würfeln besteht, müsste es prinzipiell einfach sein, das Culling zu implementieren. Meine Frage an dieser Stelle: Ist Frustum Culling ausreichend oder muss ich extra Octrees dafür verwenden bzw. gibt es eine bessere Methode?

14.04.2011, 10:44

Forenbeitrag von: »Kippstrahl«

Visual C++ 2010: Das umfassende Handbuch

Ich habe ebenfalls von Heiko Kalista "C++ für Spieleprogrammierer" gelesen (allerdings die durchaus dünnere 1. Edition), als ich mit C++ angefangen habe. Ein durchaus gutes Buch für absolute Anfänger, jedoch würde ich dir "The C++ Programming Language" vom Begründer von C++ empfehlen, denn dort werden dir das OOP-Konzept, die Programmierparadigmen usw. noch näher gebracht. Das Buch solltest du in jedem Fall auf Englisch kaufen, denn die deutsche Übersetzung ist teilweise grauenhaft (z.B. "actual...

Werbeanzeige