2D in DirectX
-
Auf die Gefahr hin, mich jetzt unbeliebt zu machen, frage ich trotzdem mal einfach :p.
Ich habe jetzt schon ein wenig das Forum überflogen und versucht mir meine Fragen selbstständig zu beantworten.
Schaffte ich allerdings nicht.Mich würde mal interessieren wie 2D in DirectX funktioniert. Angeblich gibt es keinen direkten Zugriff mehr darauf, das würde jetzt alles über Direct3D laufen (DirectX9). Zumindest behauptet das mein Buch. Tja, leider wurde das bisher sehr gut vor mir versteckt. Ich habe in der Dokumentation gesucht, dort wurde ich bedauerlicherweise aber auch nicht fündig.
Deshalb suche ich
1. ein, wenn auch kleines, Tutorial zur Spieleprogrammierung mit DirectX in 2D und
2. überhaupt Hilfe zur 2D in DirectX, d.h. evtl. Dokumentation usw.Ich hoffe mal, dass diese Frage(n) nicht schon zig tausend mal beantwortet worden sind.
MfG pLuSmaN
-
-
Die D3D9 Initialisierung geht schnell von der Hand.
Danach mit der D3DXSprite Klasse arbeiten.
Is' super easy!
-
Sgt. Nukem schrieb:
Die D3D9 Initialisierung geht schnell von der Hand.
Danach mit der D3DXSprite Klasse arbeiten.
Is' super easy!sind maximal 3 zeilen code
-
otze schrieb:
Sgt. Nukem schrieb:
Die D3D9 Initialisierung geht schnell von der Hand.
Danach mit der D3DXSprite Klasse arbeiten.
Is' super easy!sind maximal 3 zeilen code
Naja, mit 3en kommst Du nicht hin, aber weniger als bei OpenGL sind's allemal:
m_lpD3D = Direct3DCreate9(D3D_SDK_VERSION); m_lpD3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &PParams, &m_lpD3DDevice); D3DXCreateSprite(m_lpDevice, &m_lpSprite); [SCHLEIFE] m_lpD3DDevice->Clear(0, 0, D3DCLEAR_TARGET, m_LoeschFarbe, 0, 0); m_lpD3DDevice->BeginScene(); m_lpSprite->Begin(D3DXSPRITE_DONOTSAVESTATE | D3DXSPRITE_ALPHABLEND); m_lpSprite->Draw(m_AnimationVec[m_CurrentImage], 0, &D3DXVECTOR3(0, 0, 0), &D3DXVECTOR3(m_vPosition.x, m_vPosition.y, 0), D3DCOLOR_RGBA(0xFF, 0xFF, 0xFF, 0xFF)); m_lpSprite->Flush(); m_lpD3DDevice->EndScene(); m_lpD3DDevice->Present(0, 0, 0, 0); [/SCHLEIFE]
-
Vielleicht hilft dir ein kleines Beispiel weiter (D3D9):
-