Habe folgendes Problem:
Vor ist als TVertex declariert und Ray.Direction auch.
Vor := NormalizeVector(Ray.Direction);
Doch es kommt der Fehler, das es inkompitable Typen sind.
Du müsstest noch überprüfen, wie NormalizeVector implementiert ist - da man manchmal ursprüngliche Länge und normalisierten Vector braucht, gibt es in BaseGraph (das für elementare Aufgaben meist mehrere Aufrufmöglichkeiten zur Verfügung stellt) z.B. folgende Routine:
Code:
function VectorNormalize(var v: TVec): float;
mit der der übergebene Vektor normalisiert wird, und die ursprüngliche Länge als Skalar im Funktionsergebnis zurückliefert, da man diese zur Normalisierung ohnehin braucht - mit so etwas kann man bei rechenintensiven Aufgaben Zeit sparen - und ich nehme an, bei deiner Routine ist es ebenso (was für eine Bibliothek verwendest du denn?).
Ich verwende die OpenGL12... wobei ich gehört habe ich sollte lieber die DGLOpenGL nutzen, im nächsten Projekt Hat aber mit diesem Prob nichts zu tun oder?
Ich meinte eigentlich die Mathematikbibliothek, die du verwendest (z.B. Lischkes Geometry) - schau dir da mal im Inteface die Deklaration von VectorNormalize an, ob dies wirklich einen Vektor zurückliefert.
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Mars hat gesagt das du dir die Deklaration angucken sollst, die bloßen Funktionsnamen helfen nicht viel. Bei den meisten Geometriebibliotheken (bei meiner eigenen auch) wird der zu normalisierende Vektor nicht als Ergebnis zurückgeliefert, sondern als Var-Parameter übergeben und so normalisiert gespeichert. Also statt
Mitglieder in diesem Forum: 0 Mitglieder und 12 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.