Registriert: So Sep 26, 2004 05:57 Beiträge: 190 Wohnort: Linz
Ich hab's zwar nicht getestet würde aber meinen:
- gluProject
Hier brauchst du keine Invertierung der Matrizen. Wundert mich das es hier überhaupt nen Rückgabewert gibt ... Naja vielleicht in weiser Voraussicht auf Quantenrechner wo diese Funktion dann nur noch mit 99% Wahrscheinlichkeit richtig durchgeführt wird oder sowas in der Art *gg*.
- gluUnProject
Hat einen Rückgabewert (True/False) der wie ich annehme genau dafür zuständig ist. Woher das Invalid-Op kommt wär allerdings wirklich noch interessant zu wissen.
- glFrustum, gluPerspective, glOrtho und gluOrtho2D
Die Projektionsmatrix muss (ausser bei gluUnProject) nicht invertiert werden wenn ich mich nicht irre. Bei diversen Spezialfällen wie Near=0, Near=Far, Top=Bottom und dergleichen wird ja ohnehin Invalid-Value gesetzt. Siehe glFrustum & glOrtho, die ja meines Wissens nach auch von den GLU-Funktionen verwendet werden bzw. sich an die selben Standards halten sollten ... aber GLU-Zeugs war mir ohnehin schon immer suspekt *gg*. Und wenn ich mich nicht irre sollten alle anderen Matrizen (die nicht durch diese Spezialfälle abgedeckt werden) niemals singular werden, denn:
- Es gibt keine linear abhängigen Zeilen
- Es gibt keine 0-Zeilen
- Es gibt keine 0-Spalten
und wenn mich meine mathematische Intuition hier nicht trügt müsste das ausreichend sein. Also einziger Fall wo diese singular werden könnte ist ebenfalls mit glMultMatrix und glScale was aber (wie gesagt) nur für gluUnProject Auswirkungen haben dürfte.
- glMultMatrix & glScale mit 1er Achse 0
Dazu steht in den OGL-Spezifikationen, dass mit singularen Matrizen die ein oder andere Funktion (TexGen, Rescale Normal, ...) nicht so ganz richtig hin haut. Ich interpretiere das jetzt mal so, dass es überall anders hin hauen sollte, ob das die Hersteller auch so sehen ist halt die andere Frage. Möglicherweise stammt das Invalid-Op auch vom glScale weil sich ein Treiber Programmierer dachte er muss den Benutzer darauf hinweisen, dass das etwas gefährlich sein könnte, oder ein Hardware Designer dachte, dass er das ohnehin nicht beachten müsse.
Ach ja ... sorry für meinen "singular"-englisch-Slang ein Informatiker darf sowas :-).
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wie gesagt, probieren geht über studieren...
Ich hab die Funktionen aufgeführt, weil die Matrizen Mutliplizieren. Eventuell wird da geprüft, ob Teile der Matrix 0 werden... Das mit glScale is mir noch gar nicht in den Sinn gekommen. Wie gesagt...man muss halt mal probieren.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Mitglieder in diesem Forum: Bing [Bot] und 5 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.