[ogl] lichteinstellungen



  • wo find ich texte die sich mit den opengl lichteinstellungen befassen?

    ich hab grad eine menge objekte bei denen sich der lichteinfall ändert wenn ich sie um die eigene achse rotiere

    rotiert das licht mit? sieht jedenfalls fast so aus -> was kann ich dagegen machen?



  • Sovok schrieb:

    wo find ich texte die sich mit den opengl lichteinstellungen befassen?

    ich hab grad eine menge objekte bei denen sich der lichteinfall ändert wenn ich sie um die eigene achse rotiere

    rotiert das licht mit? sieht jedenfalls fast so aus -> was kann ich dagegen machen?

    Ne, das Licht ist schon stationär. Aber bist Du sicher, dass Du nur das Objekt rotierst?



  • genaugenommen is es ne ansammlung aus linien und quads
    ich mach n translate ins zentrum, rotiere um die achsen, beweg mich wieder zurück zum ausgangspunkt und zeichne dann die linien und quads

    is doch richtig so oder?



  • Du solltest für die Lichtberechnung auf jeden Fall die Normalvektoren berechnen und durchreichen. Sonst gibt es schnell so komische Licht-Phänomene (Gott hat das bei der Welt-Engine anscheinend auch vergessen, weshalb dauernd irgendwelche Leute irgendwelche Ufos sehen 😉 )
    Such bei google einfach nach "Opengl Beleuchtungsmodell" - Da wirste allerhand finden.



  • Und Du musst aufpassen, dass Du nur das Objekt drehst. Also glPushMatrix() und glPopMatrix() um die rotation/translation.



  • durito schrieb:

    Und Du musst aufpassen, dass Du nur das Objekt drehst. Also glPushMatrix() und glPopMatrix() um die rotation/translation.

    wie meinst du das

    glLoadIdentity();
    
    glTranslatef ( 0.0f, 0.0f, -10.0f );
    glRotatef ( 20.0f, 1.0f, 0.0f, 0.0f );
    glTranslatef ( 0.0f, 0.0f, 10.0f );
    
    glBegin ( GL_QUADS );
    
    glVertex3f//...
    glVertex3f//...
    glVertex3f//...
    glVertex3f//...
    
    glEnd();
    

    in dem fall brauch ich kein push und pop oder?


Anmelden zum Antworten