Registriert: Mi Aug 09, 2006 15:47 Beiträge: 44 Wohnort: St. Wendel
Programmiersprache: Delphi, C#, Java, C
Hi.
Nachdem ich endlich freigeschaltet wurde (Danke an Phobeus und Delphic, habt ja prompt reagiert ) kommt auch hier meine erste Frage.
Ich habe einen schönen Raum den ich via Multitexturing Standart-,Detail- und Lichttexturen verschönere.
Jetzt wollte ich auf diese Wand eine 4. Textur projezieren lassen.
Wie man das bei normalem Texturmapping macht weiß ich, aber wie macht man das bei Multitexturing?
Habe schon versucht die Projezierte Textur extra auf eine 4. Texturebene binden zu lassen, aber das geht wahrscheinlich deshalb nicht, da ich nicht weiß wie man OpenGL sagt auf welcher Ebene es automatisch Texturkoordinaten generieren soll.
Daher meine Frage: Wie kann ich eine Textur auf eine mit Multitexturing "tapezierte Wand" projezieren?
Hier der Code (ist fast identisch mit dem von delphigl.de, kommt daher):
Code:
//[...]
glDisable(GL_TEXTURE_GEN_S);
glDisable(GL_TEXTURE_GEN_T);
glDisable(GL_TEXTURE_GEN_R);
glDisable(GL_TEXTURE_GEN_Q);
// Erster Durchgang : Normale Szene zeichnen
// Texturenmatrix sichern und zurücksetzen
glMatrixMode(GL_TEXTURE);
glPushMatrix;
glLoadIdentity;
// In die Modelansicht wechseln und Szene mit aktivierter Beleuchtung und Texturen zeichnen
glMatrixMode(GL_MODELVIEW);
glEnable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
DrawQB(True);
glEnable(GL_TEXTURE_2D);
// Texturenmatrix (in der die Projektorperspektive gesichert wird) wieder zurückholen
glMatrixMode(GL_TEXTURE);
glPopMatrix;
glMatrixMode(GL_MODELVIEW);
glDisable(GL_LIGHTING);
// Texgen-Flächen setzen (werden mit der invertierten Modelansichtsmatrix multiplizert)
P := Vector4f(1,0,0,0); glTexGenfv(GL_S, GL_EYE_PLANE,@P);
P := Vector4f(0,1,0,0); glTexGenfv(GL_T, GL_EYE_PLANE,@P);
P := Vector4f(0,0,1,0); glTexGenfv(GL_R, GL_EYE_PLANE,@P);
P := Vector4f(0,0,0,1); glTexGenfv(GL_Q, GL_EYE_PLANE,@P);
Mitglieder in diesem Forum: 0 Mitglieder und 9 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.