Probleme mit Beleuchtung von GL_QUADS

chris_head

Mitglied
Hallo zusammen,

ich beschäftige mich seit einiger Zeit mit OpenGL.
Ich habe nun ein Problem mit der Ausleuchtung eines GL_QUADS auf der ich ein Bitmap zeichne. Ich habe GL_Lightning gesetzt und einige Polygone gezeichnet. Die Polygone werden ordentlich von der Lichtquelle angestrahlt. Nun habe ich ein das besagte Quadrat eingefügt. Trotz aller Bemühungen habe ich es nicht die Beleuchtung des Quadrats hingekriegt.
Kann mir bitte jemand weiterhelfen?

Anbei noch der Codeschnipsel mit dem ich das Quadrat inkl. Textur erzeuge
Code:
glEnable(GL_LIGHTING);
glEnable(GL_TEXTURE_2D);
	glBindTexture(GL_TEXTURE_2D, myTexture[1]);
	glBegin(GL_QUADS);
	glTexCoord2f(0.0f, 1.0f); glVertex3f(4.995f, 0.9f,  -7.0f);
	glTexCoord2f(1.0f, 1.0f); glVertex3f(4.995f, 0.9f,  3.0f);
	glTexCoord2f(1.0f, 0.0f); glVertex3f(4.995f, 0.0f,  3.0f);
	glTexCoord2f(0.0f, 0.0f); glVertex3f(4.995f, 0.0f,  -7.0f);
	glEnd();		
glDisable(GL_TEXTURE_2D); 
glDisable(GL_LIGHTING);
 
wenn mich nicht alles täuscht wurden hier die Normalen vergessen die zur berechnung des lichtes benötigt werden...
möglicherweise bei OpenGL garnicht notwendig, glaub ich aber nicht... einfach mal testen :)

Code:
glNormal3f()
für FLOAT
solltest du nicht wissen wie man Normalen nutzt, tutorials gibts jede menge...
 
@SGSSGene: mit GL_POLYGON funktioniert es auch nicht

@rook: ich habe mit den Normalen experimentiert, aber leider ohne sichtbaren Erfolg
U.a. habe ich den Normalenvektor der Eckpunkte auf (-1.0f, 0.0f, 0.0f) gesetzt. was eigentlich richtig sein sollte. Aber wie schon erwähnt keine Effekte sichtbar :(

Gibts noch andere Ansätze?
 
licht richtig initialisiert? licht eingeschaltet (pipeline)?
was passiert denn genau?

ich kann dir nur nehe.gamedev.net ans herz legen, in deinem fall is dann wohl Lesson 7 interessant..

viel erfolg :)
 
Danke für den Tipp mit dem NeHe Lessons. Die hat schon einiges zum Verständnis beigetragen.
In Lesson 7 wird da ein Würfel mit den GL_QUADS in den Koordinatenursprung gezeichnet. Habe das bei mir auch mal versucht. Dabei ist mir aufgefallen es scheinbar an "glEnable(GL_TEXTURE_2D);" liegt, das keine Lichteffekte bei mir auftreten.
Also wenn ich das "glEnable(GL_TEXTURE_2D);" weglasse habe ich die Beleuchtung auf den Quadraten, allerdings OHNE Texturen :mad:.
Wie krieg ich beides hin?
 
Zurück