Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Maus mit OpenGL (https://www.delphipraxis.net/8131-maus-mit-opengl.html)

neolithos 29. Aug 2003 10:04


Maus mit OpenGL
 
Gibt es in OpenGL spezielle MausCursor Funktionen wie in DirectX

- SetCursorPosition
- SetCursorProperties
- ShowCursor?

Oder muss ich selbst etwas schreiben? Wie mach ich nun einen bunten Maus-Kursor mit gerinden aufwand?

Daniel B 29. Aug 2003 12:46

Re: Maus mit OpenGL
 
Hi,

bei einer NonVCL-Version Deines Programms in der Nachrichtenschlaeife die Tasten anfragen, ansonsten wia OnKeyPress und KeyPreview auf True. dann hast Du aber einzelne Prozeduren, NonVCL wäre da etwas angebrachter, da hast Du dann im Case die Möglichkeit die Tasten abzufragen, nagle mich jetzt Bitte nicht an die Wand, ich habe es noch nicht getestet, müsste aber gehen, vielleicht probiere ich es am WE mal aus.
Delphi-Quellcode:
function WndProc(hWnd: HWND; message: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  Result:=0;
  Case message of
    WM_CREATE: begin
      InitOpenGL;
      h_DC:=GetDC(hWnd);
      SetDCPixelFormat(h_DC);
      h_RC:=wglCreateContext(h_DC);
      wglMakeCurrent(h_DC,h_RC);
      InitGL;
    end;
    WM_DESTROY, WM_CLOSE: begin
      ChangeDisplaySettings(DEVMODE(nil^), 0);
      wglMakeCurrent(h_DC,0);
      wglDeleteContext(h_RC);
      ReleaseDC(hWnd,h_DC);
      PostQuitMessage(0);
    end;
    WM_KEYDOWN: begin
      Go[wParam]:=true;
    end;
    WM_KEYUP: begin
      Go[wParam]:=false;
    end;
    WM_SIZE: begin
      ResizeGL(LOWORD(lParam),HIWORD(lParam));
    end;
    else begin
      Result:=DefWindowProc(hWnd,message,wParam,lParam);
      exit;
    end;
  end;
end;

neolithos 29. Aug 2003 12:51

Re: Maus mit OpenGL
 
Keine sorge ich erschlag dich nicht. Ich dachte nur es kommt sowas wie WM_SETCURSOR bzw. WM_MOUSEMOVE.

Denn ich meine den Cursor den ich mit meiner Optischen Maus bewege.

Ich wollt das für einen Level-Editor verwenden.

Daniel B 29. Aug 2003 12:54

Re: Maus mit OpenGL
 
Jaa, die Funktion ist ja nur ein Beispiel, und nicht genau das was Du bruachst, aber so sollte es im "prinzip" aussehen, im Case kommt z.B. WM_KEYUP vor, Du müsstest es halt mit den Maustasten ergänzen/umbauen. ;)

neolithos 29. Aug 2003 13:39

Re: Maus mit OpenGL
 
Also gibt es von OpenGL keine Fertige funktionalität.

Ergo: Ich muss mir selbst etwas ausdenken.

Daniel B 29. Aug 2003 13:52

Re: Maus mit OpenGL
 
Ja, bei OpenGL gibts gar ncihts, das ist halt nicht so ein Spielzeug wie DirectX. ;) :lol:

Aya hat das mal schön Formuliert, bei DirectX sagst Du Licht an und es werde Licht, das ist ein Befehl, bei OpenGL gibt da gar ncihts, DU musst alles selbst von Hand erst programmieren, so ist es auch mit allen anderen Sachen bei OpenGL, daher sind die zwei Tutorials von Aya schon zu 95% das was man über OpenGL wissen kann und muss, den rest muss man sich erst machen.

Wenn Dir das nicht gefällt oder zu komplex ist, dann steige um auf DirectX(Draw) usw., da kommst Du warscheinlich schneller weiter.

neolithos 29. Aug 2003 14:17

Re: Maus mit OpenGL
 
DirectDraw wird ja von Microsoft nicht mehr gewartet und ist langsam.
Mit Direct3D komm ich ja derzeit noch nicht klar.

Nun wurde mir in hier von einigen erklärt OpenGL wäre das non-plus-ultra, was ja auch stimmt.

Ich kann das Vergleichen mit ODBC und ADO

- ADO hab ich angefangen es ging ja alles so schön
- dann bin ich auf ODBC gestoßen
- da hab ich erst verstanden wie ADO tickt
und nun nehme ich nur noch ODBC weil das jetzt für mich einfacher ist.

Tja, was mach ich nun!

Zeit in DirectX oder mehr Zeit in OpenGL stecken?????

Daniel B 29. Aug 2003 14:21

Re: Maus mit OpenGL
 
Tja, es ist allein Deine entscheidung, wenn Du zeit und Lust hast, nim OpenGL, bedeutet aber das Du abartig viel schreiben musst, um z.B. zwei Kugeln, um ne Achse drehen zu lassen mit verschiedenen Texturen usw., bei DXD/DX3D wäre die wohl einfach und in ein paar Zeilen erledigt, aber eines kann Dir doch helfen, wenn Du ein Schlepptop hast, dann lass die Finger von OpenGL, da kommst Du nicht weit, den Rest musst allein Du entscheiden und Deine Zeit.

Darty 29. Aug 2003 14:28

Re: Maus mit OpenGL
 
Zitat:

Zitat von Daniel B
aber eines kann Dir doch helfen, wenn Du ein Schlepptop hast, dann lass die Finger von OpenGL, da kommst Du nicht weit,

Wieso dass ? :shock:

Daniel B 29. Aug 2003 14:35

Re: Maus mit OpenGL
 
Aus Erfahrung und Hören, Sagen.
Es funktioniert prinzipiell schon, aber, aus welchen Gründen auch immer läuft es auf Laptops einfach nur "ahah".
Wenn Du jetzt meintwegen ne Wiese hast, mit ner schönen Textur und ein paar Wände in der Landschaft, 2-3 Bäumchen villeicht noch und Deine Figur, ich komme mit meinem 1GHz-Schlepptop auf 3-4 FPS, kannst Dir ja vorstellen wie sich das spielt...

Darty 29. Aug 2003 14:41

Re: Maus mit OpenGL
 
Könnte natürlich an Deiner Graka liegen oder an die Treiber ...

Daniel B 29. Aug 2003 14:51

Re: Maus mit OpenGL
 
Die Treiber ind halt die neuesten was es gibt speziell für Win2K, mehr kann ich nicht tun, aber ich habe auch von Aya selbst desöfteren gehört und auch von anderen das es auf Schlepptops angeblich nicht so richgtig zum laufen kommt.

neolithos 29. Aug 2003 14:51

Re: Maus mit OpenGL
 
Ich werde mal ne nacht darüber schlafen.
Den durchblick hab ich bei keinen von beiden! :(

Vielleicht kommt mir da die Erleuchtung.

Tendiere, zur Zeit, doch erstmal mit DirectX anzufangen.

So ein Grafik Guru bin ich ja nicht.

Alles muss klein beginnen.

Wie ich Windows gelernt habe...
- Visual Basic war der Einstieg
- Delphi VCL
via Erinnerungen an "the good old" Turbo Vision
- kam ich zur Windows API
- nun kann ich jedes Programm per nonVCL machen (aber machen tuh ich es bloß bei kleinen Anwendungen)

Mal sehen wie es mit dem 3D-Spielereien läuft...

Darty 29. Aug 2003 15:17

Re: Maus mit OpenGL
 
Hmm, dass wäre aber wirklich blöd .. Den ich lerne extra OpenGL weil ich dachte der könnte auf mehr Systeme laufen als nur auf Window .. DirectX geht ja nur auf Win Rechner ... Und jetzt dass mit LapTop Problemen ? Dass wundert mich gewaltig ... Liegt sicher an der Hardware ... :shock:

Daniel B 29. Aug 2003 15:33

Re: Maus mit OpenGL
 
Du willst es nur nicht wahr haben. ;) :mrgreen:
Hast Du ein Schlepptop?

Darty 29. Aug 2003 15:36

Re: Maus mit OpenGL
 
Im Herbst besorge ich mir einen ... Darum wurmt es mich jetzt schon ..

Daniel B 29. Aug 2003 15:45

Re: Maus mit OpenGL
 
Mach mal Dein ICQ an, ich schicke Dir mal ein Spiel, da kann man auch die aktuelle Framerate sehen... Ich komme mit 640x480 als Bildgrösse auf nur 4 FPS, 1GHz, 368MB RAM.

Darty 29. Aug 2003 16:00

Re: Maus mit OpenGL
 
Ähm leider bin ich noch bei der Arbeit :( Und danach werde ich direkt zum Dart Training gehen ... Aber heute Nacht oder morgen ok :)

Daniel B 29. Aug 2003 16:05

Re: Maus mit OpenGL
 
Klar, kein Thema, erriner mich aber dran, sonst vergesse ich es. :lol:

Darty 29. Aug 2003 23:47

Re: Maus mit OpenGL
 
krass beim Test hatte Daniel 4 FPS .. und ich 180 FPS ...

Mr_T 30. Aug 2003 22:53

Re: Maus mit OpenGL
 
Wenn ich mal was sagen darf: das auf den ganzen Notebooks Open Gl meist etwas langsamer geht, als D3d, dann liegt das dran, dass die einfach nur einen miesen Graka-Chip haben, und nicht an dem "Wesen" der Rechner...

Sowas gibt es unter Desktop-PCs nämlich durchaus... ein nettes Beispiel sind unsere Schulrechner: 800 Mhz, aber nur eine Ati Rage 2 Pro drinne ... ein einfaches Game (ein Pong-Clone) den ich mal geschriben hatte lief auf diesen Rechnern mit ganzen 6 FPs! Auf meinem Desktop mit nur 500 Mhz und na TNT 2 hingegen mit weit über 50....

Also: sollteste dir ein "Zocker"-Notbook zusammenbauen (mit einer vernümpftigen Graka) sollteste mit Open Gl keine Probs bekommen.....


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz