Entwickler-Ecke

Windows API - Mausklick auf 3D-Objekt in DirectX


Xion - So 14.05.06 13:33
Titel: Mausklick auf 3D-Objekt in DirectX
Hi

ich hab 3D-Würfel, die sich über den Desktop bewegen. Jetzt will ich, dass ich sie mit der Maus anklicken kann (soll so ähnlich wie Mohrhuhn werden). Kenne mich kaum mit DirectX aus, hab erst mit angefangen. Die Positionen der Würfel hab ich in einem type. das problem ist allerdings, wie die Position des Würfels auf die Position des Mauszeigers umrechnen, da ja in DirectX der Ursprung in der Mitte des Desktops ist und die Längen anderst als bei der Maus sind.

Thx für eure Hilfe im vorraus

Xion


F34r0fTh3D4rk - Mo 15.05.06 18:45

hat DX kein selection mode ? mit ogl geht das, ansonsten mit ner projektion, aber ich glaube das wäre zuviel


Xion - Mo 15.05.06 20:16
Titel: Re: Mausklick auf 3D-Objekt in DirectX
user profile iconXion hat folgendes geschrieben:

... Kenne mich kaum mit DirectX aus, hab erst mit angefangen. ...

:oops:

Slection-Mode?


F34r0fTh3D4rk - Mo 15.05.06 20:20

nach extrem kurzer google suche: http://search.msdn.microsoft.com/search/default.aspx?siteId=0&tab=0&query=D3DXIntersect


Xion - Mo 15.05.06 20:41
Titel: Re: Mausklick auf 3D-Objekt in DirectX
msdn.microsoft.com hat folgendes geschrieben:

HRESULT D3DXIntersect(
LPD3DXBASEMESH pMesh,
CONST D3DXVECTOR3 * pRayPos,
CONST D3DXVECTOR3 * pRayDir,
BOOL * pHit,
DWORD * pFaceIndex,
FLOAT * pU,
FLOAT * pV,
FLOAT * pDist,
LPD3DXBUFFER * ppAllHits,
DWORD * pCountOfHits
);

hilft mir leider nicht weiter.

ist das wirklich so kompliziert? :( dachte mehr an ne Umrechnungsart,
z.B. MousePosX-Screen.Width/2-MousePosX*0.25 oder so


F34r0fTh3D4rk - Di 16.05.06 13:55

kannst du natürlich auch, machen, das wäre dann das hier:

http://de.wikipedia.org/wiki/Zentralprojektion