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!

Werbeanzeige

1

27.05.2007, 20:16

Vertex Buffer und Index Buffer

Hallo!
Tschuldige wenn ich schon wieder mit so einer simplen Frage auftauche.
ICh habe mal wieder eine Frage:
Was macht eigentlich ein Vertex bzw. Index Buffer?

Gruß Flo

PS: nur bitte ganz kurz erklären wie das funktioniert (möchte einen eigenen bauen)

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

27.05.2007, 20:52

Ein Haufen Vertice/Indice im Speicher Puffern (darum auch Buffer ;)). Das nette hierbei ist das OpenGL/DirectX die Möglichkeit bietet die Vertex/Index-Daten Serverseitig abzulegen, also im Grafikspeicher (ggf). Für statische Daten ist das enorm gut, da der Flaschenhals (Bustransport der Daten) umgangen wird, da die Daten ja sowiso schon auf Serverseite verfügbar sind.
@D13_Dreinig

Leahcim

Frischling

Beiträge: 2

Wohnort: Krefeld

  • Private Nachricht senden

3

17.06.2007, 18:14

Hallo,

der vertex buffer enthält eine Liste mit vertices. Mit Hilfe des index Buffers können die vertices indiziert werden. Dabei gibt es verschiedene Möglichkeiten diese Buffer zu nutzen. Man kann für jeden Vertex Typ (bspw. Vertex, Color, Normal) einen eigenen Buffer verwenden oder diese interleaved in einem einzigen Buffer speichern. Wenn man dieses benutzen möchte so muss ebenfalls der Abstand zwischen den Daten gleichen Typs angegeben werden (stride).
Je nachdem wie man den Vertex Buffer benutzen möchte, gibt es unterschiedliche OpenGL Funktionen. Der Sinn der Vertex Buffer ist doppelt definition eines Vertex zu vermeiden und dadurch Funktionsaufrufe zu sparen. Des Weiteren sind Vertex Buffer in der Handhabung flexibler. So lassen sich Objekte aus Dateien lesen und in einem Buffer abspeichern der dann zum rendern übergeben wird.

Gruß

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

4

17.06.2007, 21:00

@dave
soweit ich weiss, basiert dx nicht auf einem client-server modell

@leahcim
wenns nur im die flexibilität geht, kann man auch nur ein vertex array benutzen ^^
"Don't trust your eyes: They are a hell of a lot smarter than you are"

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

17.06.2007, 21:03

Re: Vertex Buffer und Index Buffer

Zitat von »"F-Wölkchen"«

PS: nur bitte ganz kurz erklären wie das funktioniert (möchte einen eigenen bauen)


inwiefern möchtest du einen eigenen bauen?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

6

17.06.2007, 21:32

Zitat von »"ChrisJ"«

@dave
soweit ich weiss, basiert dx nicht auf einem client-server modell


Es wäre tragisch wenn nicht. DX würde einen großen Geschwindigkeitsvorteil einbüsen wenn die Möglichkeit der Serverseitigen Datenhaltung nicht bestehen würde...
@D13_Dreinig

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

7

17.06.2007, 21:42

mit dem opengl client-server modell kann man die grafische ausgabe von der datenberechnung trennen - in einem netzwerk zb kann man dann drei rechner rechnen lassen und an dem vierten findet dann die ausgabe statt ( wo dann auch die vertex buffer daten liegen )
mit dx geht das nicht...

so hab ich das zumindest verstanden.
"Don't trust your eyes: They are a hell of a lot smarter than you are"

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

8

17.06.2007, 21:44

http://archiv.tu-chemnitz.de/pub/1997/0042/node11.html

Zitat

mit dx geht das nicht...


!?

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

9

17.06.2007, 21:50

Zitat von »"ChrisJ"«

mit dem opengl client-server modell kann man die grafische ausgabe von der datenberechnung trennen - in einem netzwerk zb kann man dann drei rechner rechnen lassen und an dem vierten findet dann die ausgabe statt ( wo dann auch die vertex buffer daten liegen )
mit dx geht das nicht...

so hab ich das zumindest verstanden.


Du weißt ja sicher das man vom Grafikadapter als "Serverseite" spricht?! ;-)
@D13_Dreinig

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

10

17.06.2007, 21:51

das allgemeine prinzip von einem server/client ist mir schon klar...
aber es geht mir nicht um das hin- und herschicken von datenpaketen, sondern um das trennen von berechnung und ausgabe, wie es beispielsweise von dem x window system unterstüzt wird
"Don't trust your eyes: They are a hell of a lot smarter than you are"

Werbeanzeige