Und eine Doku, wie man was dreht und was sich in Abhängigkeit mit dreht.
Kleines Beispiel: Ich habe ein Spielfeld, welches dem User präsentiert wird. Darauf befindet sich momentan 1 Spielstein, den man mit den Pfeiltasten bewegen kann. Ist das Spielfeld nicht gedreht geht alles. Sobald das Spielfeld gedreht wird, fängt das System an zu spinnen, heißt der Spielstein bewegt sich nicht mit einem Winkel von 0° zum Spielfeld.
Noch ein Punkt zur Liste:
Dein TGA-Loader und mein TGA-Bild aus GIMP wollen nicht zusammen kommen. Eventuell solltest du ne
Exception mit schönen Fehlertext werfen, wenn ein Fehler im Bilder-Loader auftritt.
PS: Und in
function TGLBMP.LoadImage(filename : String): Boolean;
kann man auch etwas kürzen:
Delphi-Quellcode:
const
ImageBMP = 0;
ImageJPG = 1;
ImageTGA = 2;
case (AnsiIndexText(ExtractFileExt(filename), ['.bmp', '.jpg', '.png']) of
ImageBMP: Result := LoadBMP(filename);
ImageJPG: Result := LoadJPG(filename);
ImageTGA: Result := LoadTGA(filename);
end;
PPS:
a) Deine Bibliothek lädt übrgens die Texturen spiegelverkehrt auf die Körper. Workaround
(dirty) .Rotate(180, 0, 0)
.
b) Dein Code:
Delphi-Quellcode:
AppEvents := TApplicationEvents.Create(AForm);
AppEvents.OnIdle := Kamera.Render;
Mein Code:
Application.OnIdle := Kamera.Render;
(Die
Unit Forms ist ja eh in der USES drin.)
Bernhard