Hallo,
ich fange gerade erst an mit
OpenGl und habe in ner
unit names movement vorerst nur eine Procedure die es ermöglichen soll sich mit der Maus umzuschauen. Fehler beim Compilieren erhalte ich nicht. Allerdings passiert auch nichts wenn man die Maus bewegt.
Evtl. könnt ihr mir ja weiterhelfen. Hier ist ersteinmal der code der movement.pas:
Delphi-Quellcode:
unit movement;
interface
uses openGl,windows,glaux;
function mytilt():glFloat;
function myhead():glFloat;
implementation
var
mpos : TPoint;
MouseSpeed : Integer = 7;
Tilt : glFloat;
Heading : glFLoat;
Procedure look_around;
BEGIN
GetCursorPos(mpos);
SetCursorPos(400,300);
Heading := Heading + (mpos.x - 400) / 100 * MouseSpeed;
Tilt := Tilt-(300-mpos.y)/100 * MouseSpeed;
if Tilt > 60
then Tilt :=60;
if Tilt < -60
then Tilt :=-60;
END;
function mytilt():glFloat;
BEGIN look_around; Result := tilt;
END;
function myhead():glFloat;
BEGIN look_around; Result := Heading;
END;
end.
Die beiden Funktionen rufe ich dann folgender maßen in einer anderen datei auf (movement ist via uses eingebunden):
Delphi-Quellcode:
procedure TForm1.Draw;
begin
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
glShadeModel(GL_SMOOTH);
glCullFace(GL_BACK);
glENABLE(GL_Normalize);
glLoadIdentity;
glRotatef(mytilt,1,0,0);
glRotatef(myhead,0,1,0);
glCallList(SkyBox);
SwapBuffers(wglGetCurrentDC);
end;
Leider weiß ich nicht was ich falsch mache.
Gruß Sick