ich scheiter hier gerade daran Multitexturing bei einem VertexBufferObject anzuwenden...
Also habe ein VertexBufferObject erstellt. Ich zeichne das ganze dann folgendermaßen:
Mit einer Textur funktioniert das alles super. Nur wenn ich meherer Texturen zwecks Detailmapping usw. verwenden möchte müsste ich ja die Texturkoordinaten per
Zitat:
glMultiTexCoord2f(GL_TEXTURE0, 0, 0);
für jede Texturstufe übermitteln. Doch wie könnte ich das machen, da ich ja zum zeichnen einfach die oberen Funktionen verwende.
Oder kann ich OpenGL irgendwie sagen, dass es die in glInterleavedArrays(GL_T2F_N3F_V3F, SizeOf(TVertex), nil) übergebenen Texturkoordinaten einfach auf alle Texturstufen anwendet?
Du kannst so auch dafür sorgen, dass alleine deine Vertexe auf einen Haufen liegen und nicht immer alles direkt hintereinander liegen muss wie es mit Interleved der Fall ist. Stride gibt die Größe deines Arrays an. In deinem Fall sollte das 40 - größe des aktuellen feldes sein, da 10F (T2F T2F N3F V3F) = 40 Bytes insgesammt und du musst da halt angeben wie viele Bytes bis zum nächsten Feld existieren. Pointer ist kein wirklicher Pointer sondern gibt das Offset innerhalb des VBOs an. Also bei der ersten TexCoor wäre das 0 bei der zweiten dann 8 usw.
also irgendwie krieg ich das nicht so wirklich zum laufen. Hab jetzt erstmal versucht nur die Vertexe über Lossys Code zeichnen zu lassen, aber er zeichnet nur ein riesiges graues Rechteck über den ganzen Sichtbereich.
Wenn du also den TexturKoordinaten Pointer weglässt dann werden natürlich auch keine TexturKoordinaten gesetzt.
Was mir gerade auffällt. Du darfst als Pointer natürlich keinen Pointer angeben sondern das ist bei VBOs das Offset in dem VBO Buffer. Also 0 (nil) ist der Anfang des Buffers. Und 10 ist 10 Bytes vom Anfang entfernt. Also dort bitte keinen Speicherpointer übergeben. glBindBuffer hast du auch angerufen? Okay. Sonst hättest du vorher ja nichts gesehen gehabt.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ne die Beschreibung im Wiki ist richtig. Aber leider nicht ganz für VBOs gültig. Die im Wiki ist nur für Clientseitige VertexBuffer. Die liegen dann aber nicht auf der Grafikkarte. Dort müssen dann Adressen der Daten übergeben werden. VBOs benutzen die selbe Technick und die selben Methoden. Aber mit leicht abgewandeltem letzten Parameter.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Irgendwie habe ich das bedrückende Gefühl du möchtest mir etwas sagen?
Muss ich mal schauen wenn ich zeitlich ein wenig besser gestückt bin als es gerade der Fall ist. Wobei wir dazu ja auch ein Tutorial haben. Aber da stehen solche Informationen nun auch nicht drinne.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Och Lossy ... Das scheint nur so... Es kann sich ruhig auch jemand anderes dafür verantwortlich zeichnen, nur halt wer? Das soll hier jetzt nicht wie ein Aufruf klingen, aber ich rufe hier ganz offen mal zur mitarbeit auf.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: 0 Mitglieder und 2 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.