Also mal von vorne:
Die Vertices liegen Viewspace vor (Modelview).
Die Normalen liegen im Worldspace vor weil sie mit der normalen Matrix die aus der Modelmatrix erstellt wird multipliziert werden.
Dann muss ich wohl die Lichtposition in den Viewspace bringen, den Lichtvektor errechnen und diesen dann in den Worldspace bringen (so wie die Normalen). Falls ich das jetzt richtig verstanden habe.
Mein Problem sind irgendwie die Begrifflichkeiten...
Der Viewspace ist doch Viewmatrix ("lookAt") mal Objektmatrix (Rotation, Transformation, ... des Objekts).
Der Objektspace ist dann nur die Objektmatrix.
Und der Worldspace ist quasi keines davon, also die "Rohdaten".
Im Shader läuft es ja auch so (glaube ich):
worldspace -> viewspace -> screenspace (oder wie man das nennt mit der Projektionsmatrix).
Meine Normalen rechne ich dann ja mit der invertierten, transponierten Modelview zurück in den Worldspace (da ich bei dem directional light den Lichtvektor auch so vorliegen habe?).
Jetzt hab ich bestimmt viel Mist geschrieben