Frage zu Normalen und gluLookAt()



  • Grüße,
    ich dachte eigentlich ich hätte es begriffen. Aber...
    Also ganz einfach ich habe einen Würfel der mit Normalen, die 100% richtig sind, bestückt ist und ein Licht vor dem Würfel(Diffuse).

    So, wenn sich der Würfel mit glRotatef() dreht schaut alles richtig aus.
    Aber wenn ich mich mit gluLookAt() hinter den Würfel bewege oder auf die Seiten... egal schaut es so aus als würde ich wieder vor den Würfel sitzen... also als ob ich das Licht mitnehmen würde.

    kann mich vielleicht bitte jemand aufklären?

    langsam bin ich am verzweifeln mit dem Licht... 😞



  • Das Licht muss auch in die Transformation miteinbezogen werden, d.h. gluLookAt muss vor dem Licht setzen stehen. Ist das so?



  • öhm... moment das Licht setz ich doch sowieso ganz am Anfang mit...

    glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);
      glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);
      glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);
      glEnable(GL_LIGHT1);	
      glEnable(GL_LIGHTING);
    


  • Setz mal die Lichtposition nach dem gluLookAt. Dann sollte es gehen.



  • danke jetzt gehts...
    dachte diese Initwerte sind fix und werden durch keine translation beeinflusst...



  • Ne, alles was von gluLookAt beeinflusst werden soll (also mit der modifizierten View-Matrix multipliziert wird), muss nach gluLookAt aufgerufen werden.


Log in to reply