Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 00:11

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Indizierte VBOs?
BeitragVerfasst: So Mär 20, 2005 01:18 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

hab ne frage zu VBOs... und zwar:

Ich habe z.B. 10 Vertices, die packe ich hier in einen VBO:

Code:
  1.   glGenBuffersARB(1, @VertexVBO);
  2.   glBindBufferARB(GL_ARRAY_BUFFER_ARB, VertexVBO);
  3.   glBufferDataARB(GL_ARRAY_BUFFER_ARB, Length(VertexData) * sizeOf(TVertex), VertexData, GL_STATIC_DRAW_ARB);


Jetzt möchte ich aber mit den 10 Vertices 5 Triangles zeichnen, sprich es werden einige von ihnen doppelt verwendet.. kann ich da irgendwie nen IndexArray machen...?

Also einfach eine auflistung der VertexIDs.. z.B.

0 1 2 3 4 5 6 7 8 9 3 4 2 7 6

das wären jetzt z.B. die indizes für die 5 Triangles...

Hoffe sowas gibt es und irgendwer kann mir sagen wie es geht :)

Au'revoir,
Aya~

PS: Klar geht es auch anders, so das ich z.B. einfach die VertexDaten entsprechend der Triangles in den VBO schreibe... aber da würden dann bei z.B. einer Sphere aus 382 Vertices ca. 1500 werden... sprich es ist irgendwie speicherverschwendung ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 11:47 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
glIndexPointer sollte das verbunden mit glDrawElements eigentlich tun.
einfach nen vbo als indexarray binden und die entsprechende Anzahl an elementen zeichnen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 20, 2005 15:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

mhh... is das so richtig???

Code:
  1.  
  2. var
  3.   VertexVBO, NormalVBO, mainVBO: GLUInt;
  4.   IndexData: Array of GLUInt;
  5. begin
  6.   glGenBuffersARB(1, @VertexVBO);
  7.   glBindBufferARB(GL_ARRAY_BUFFER_ARB, VertexVBO);
  8.   glBufferDataARB(GL_ARRAY_BUFFER_ARB, Length(VertexData) * sizeOf(TVertex), VertexData, GL_STATIC_DRAW_ARB);
  9.  
  10.   glGenBuffersARB(1, @NormalVBO);
  11.   glBindBufferARB(GL_ARRAY_BUFFER_ARB, NormalVBO);
  12.   glBufferDataARB(GL_ARRAY_BUFFER_ARB, Length(NormalData) * sizeOf(TNormal), NormalData, GL_STATIC_DRAW_ARB);
  13.  
  14.   SetLength(IndexData, Length(Triangles) * 3);
  15.   for i:=Low(Triangles) to High(Triangles) do begin
  16.     IndexData[i*3+0]:=Triangles[i, 1];
  17.     IndexData[i*3+1]:=Triangles[i, 2];
  18.     IndexData[i*3+2]:=Triangles[i, 3];
  19.   end;
  20.  
  21.   glGenBuffersARB(1, @mainVBO);
  22.   glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, mainVBO);
  23.   glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB, Length(IndexData) * SizeOf(GLUInt), IndexData, GL_STATIC_DRAW_ARB);


weil bei mir stürzt es immer bei der letzten Zeile ab... sprich, wenn ich die letzte Zeile (glBufferDataARB(GL_ELEM...) auskommentiere läuft es, wenn ich sie wieder reinmache stürzt es ab... (Nicht erst wenn es ans zeichnen geht.. die Zeichenroutine der VBOs is auskommentiert, es stürzt bei der erstellung ab)

Hab ich da was falsch gemacht???

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: Majestic-12 [Bot] und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]