![]() |
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? |
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; |
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. |
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. ;)
|
Re: Maus mit OpenGL
Also gibt es von OpenGL keine Fertige funktionalität.
Ergo: Ich muss mir selbst etwas ausdenken. |
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. |
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????? |
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.
|
Re: Maus mit OpenGL
Zitat:
|
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... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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