Mir ist gerade was naderes eingefallen: Hat es einen Einfluss auf die Normalen, wenn ich glScalef aufrufe, bevor ich das Modell rendere? Werden die u.U. nicht mitskaliert??
Hmm... Dann versteh ich aber nicht, wie es zu diesem Fehler kommt. Werd jetzt mal mit GL_NORMALIZE weiterarbeiten, aber trotzdem ärgerts mich irgendwie das ich das nicht mit meinem eigenen Code schaffe.
edit: Bin gerade auf etwas sehr interessantes gekommen: Die Normalvektoren werden nur mitskaliert wenn man GL_NORMALIZE verwendet. Hab jetzt mal die Normalen innerhalb meines Loaders mit dem selben Wert skaliert den ich bei glScalef auch benutze - und siehe da - es funzt... Gibts nen weg die Momentane Skalierung einer Szene abzufragen??
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Bin mir da net ganz sicher wie OpenGL die Skalierung macht es gibt nämlich zwei möglichkeiten. Entweder die Skalierung ist auf den 3 Elementen der Hauptdiagonale der aktuellen Matrix aufmultipliziert oder Es wird die Gesamtskalierung genutzt. Das ist der Letzte wert in der aktuellen Matrix.
Also könntest du mal folgendes ausprobieren. Hohl dir mal die aktuelle Matrix mittels glGet(GL_MODELVIEW_MATRIX) und guck dir dann mal den letzten wert an. Wenn der mit deinem Scalierungsfaktor übereinstimmt kannste den benutzen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Bin grad draugekommen wie ich das Ganze viel einfacher lösen kann. Einfach glEnable(GL_RESCALE_NORMAL_EXT) aufrufen, und das Ergebnis genießen Tja, das Wiki bringts schon...
Mitglieder in diesem Forum: 0 Mitglieder und 14 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.