Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mo Jul 07, 2025 11:37

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
BeitragVerfasst: Do Jan 09, 2003 17:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 31, 2002 11:58
Beiträge: 15
Wohnort: Werne
Hoi.. also es geht darum : Ich hatte n schickes kleines programm gebastelt welches die "CameraClass" unit von Jan Horn benutzt, weil die is gut, nachdem ich dann versucht hatte die OpenGL12 Unit zu benutzen funzte irgendwie garnix mehr darum hab ich das ganze Projeckt neu VCL mäßig aufgezogen, lübbt alles wieder aber leider die bewegung mit der Maus nich mehr. Die Kamera läßt sich über Tasten bewegen (Strafen, vorwärts und rückwärts) doch wenn die "Camera.MoveCameraByMouse" prozedur zum einsatz kommt, kommt dabei nur noch Chaos raus, die Ansicht bewegt sich zwar, auch in die richtung wo sie eigentlich hin soll aber dann macht sie was sie will und verwurschtelt sich dann so daß garkeine bewegung mehr klappt! Komisch ist auch das der Mauscursor irgendwie ausserhalb des Fenstes zu liegen scheint also fest links oben inner Ecke des Desktops.

procedure InitOpenGL;
var DummyPal : HPalette;
begin
DC := GetDC(Form1.Handle);
RC := CreateRenderingContext(DC, [opDoubleBuffered], 32, 24, 8, 0, 0, 0, DummyPal);
elapsedtime:=0; // elapsedtime:integer;
Demostart:=gettickcount(); // demostart:dword;
ActivateRenderingContext(DC, RC);
glClearColor(0,0,1,0);
glClearDepth(1);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
glShadeModel(GL_SMOOTH);
glEnable(GL_TEXTURE_2D);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
.
.
.
Camera.PositionCamera( 0, 0, 0, 0, 0, 1, 0, 1, 0);

DeActivateRenderingContext;
end;

Procedure DrawScene;
begin
speed := CAMERA_SPEED * FrameTime/10000; // speed:tglfloat;
//Camera_speed => const=200;
gluLookAt(Camera.Position.X, Camera.Position.Y, Camera.Position.Z,
Camera.View.x, Camera.View.y, Camera.View.Z,
Camera.UpVector.x, Camera.UpVector.y, Camera.UpVector.Z);
.
.
.
end;

procedure TForm1.AppeventIdle(Sender: TObject; var Done: Boolean);
begin
LastFrameTime := ElapsedTime; // lastframetime:integer;
FrameTime := GetTickCount() - ElapsedTime - DemoStart;
// frametime:integer;
LastTime :=ElapsedTime; // lasttime:dword;
ElapsedTime :=GetTickCount() - DemoStart;
ElapsedTime :=(LastTime + ElapsedTime) DIV 2;
// ^für smoothere bewegung

ActivateRenderingContext(DC, RC);

DrawScene; //zeichnet die szene :)

SwapBuffers(DC);

Camera.MoveCameraByMouse; // das is der bösewicht!!!

DeActivateRenderingContext;

inc(Frames); // frames:integer;
Done := False;

if (Hi(GetAsyncKeyState(vk_Left))) = 128 then
Camera.StrafeCamera(-speed);
.
.
.
end;

die klamotten mit ( speed, elapsedtime, demostart, frametime usw hab ich aus meinem vorherigem programm übernommen weil da hats so gefunzt)

vielleicht kann da ja jemand was mit anfangen und es is einfach nur n total doofer fehler der mir einfach nich auffällt.

_________________
...and don't forget .. real coders don't write specs!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: problem halbwegs gelöst
BeitragVerfasst: Do Jan 16, 2003 17:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 31, 2002 11:58
Beiträge: 15
Wohnort: Werne
Also ich hab das problem mit der Maus dann doch so halbwegs lösen können in dem ich das programm wieder in eine Api-Version umgebaut habe.... aber kann es sein das vielleicht mein Delphi 7 die Quelle allen übels ist? Weil seit dem ich das hab funzt nämlich im Bereich OpenGL und so fast garnix mehr weis das jemand vielleicht was drüber? Weil z.B. auch wenn ich die Api Version meines proggis benutze und es im Fenster laufen lasse sehe ich immer noch den Mauscursor ganz links oben am Desktoprand und so richtig bewegen lässt sie sich auch nich und auf tastenbefehle reagierts auch so gut wie garnich also Camera.MoveCamera und Camera.StrafeCamera aus der CameraClass Unit von Jan Horn zeigen sogut wie garkeine Wirkung wobei wundersamer Weise das Beenden des Programms durch ESC astrein lübbt. Kann es sein das ich seit Delphi7 vielleicht irgendwo noch n extra Parameter oder irgendeine Einstellung in der IDE machen muss damit es dann doch vielleicht funktioniert?

_________________
...and don't forget .. real coders don't write specs!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 16, 2003 17:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
An Delphi 7.0 liegts definitiv nicht.Ich bin auch erst vor Kurzem von 6 auf 7 umgestiegen und hab auch mit OpenGL-Anwendungen (ob API oder VCL) keine Probleme.
Nach einer Neukompilierung war auch kein Unterschied zu Delphi 6 sichtbar.Weder Geschwindigkeitsverlust noch -gewinn.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Jan 16, 2003 18:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 31, 2002 11:58
Beiträge: 15
Wohnort: Werne
ahhhhhhhh 1000000000 Stöckschläge auf die Fußsohlen!!!!! ich such mir hier nen Wolf und bin schon fast am verzweifeln und watt is? Ich hab vergessen der Camera mitzuteilen wie hoch und wie breit das Fenster bzw. der screen ist ... ohhhhh man!!!!
Kaum macht mans richtig, schon funktionierts!

_________________
...and don't forget .. real coders don't write specs!!!


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 18 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.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]