SetVertexShader und SetStreamSource Problem
-
Guten Morgen,
Ich arbeite gerade an einem Skript, dass ich von einem Tutorial für DirectX8 abschreibe und für DirectX9 funktionsfähig machen will.
http://www.drunkenhyena.com/docs/d3d8/d3d_lesson2a.phtml <<-- Wen's interessiert...1. Problem:
#define D3D9T_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE) ... g_d3d_device->SetVertexShader(D3D9T_CUSTOMVERTEX);
Ich bekomme diese Fehlermeldung:
E:\C++\directx\main.cpp(398) : error C2664: 'SetVertexShader' : cannot convert parameter 1 from 'char [29]' to 'struct IDirect3DVertexShader9 *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
Ich komme da leider nicht weiter...
2. Problem:
Code:g_d3d_device->SetStreamSource(0, g_triangle, sizeof(my_vertex));
Fehler:
E:\C++\directx\main.cpp(402) : error C2660: 'SetStreamSource' : function does not take 3 parameters
Was???
In der msdn steht diese Definition:publicVoidSetStreamSource(Int32,VertexBuffer,Int32)
Was mache ich falsch?Oder liegt es einfach daran, dass mein 1. Problem(dass steht ja vor SetStreamSource) das 2. Problem verursacht?
-
V 9 1 9 V schrieb:
1. Problem:
#define D3D9T_CUSTOMVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE) ... g_d3d_device->SetVertexShader(D3D9T_CUSTOMVERTEX);
Ich bekomme diese Fehlermeldung:
E:\C++\directx\main.cpp(398) : error C2664: 'SetVertexShader' : cannot convert parameter 1 from 'char [29]' to 'struct IDirect3DVertexShader9 *' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
IDirect3DDevice9::SetFVF ist in D3D9 was IDirect3DDevice8::SetVertexShader in D3D8 war.
V 9 1 9 V schrieb:
2. Problem:
Code:g_d3d_device->SetStreamSource(0, g_triangle, sizeof(my_vertex));
Fehler:
E:\C++\directx\main.cpp(402) : error C2660: 'SetStreamSource' : function does not take 3 parameters
Was???
In der msdn steht diese Definition:publicVoidSetStreamSource(Int32,VertexBuffer,Int32)
Was mache ich falsch?Oder liegt es einfach daran, dass mein 1. Problem(dass steht ja vor SetStreamSource) das 2. Problem verursacht?
Also in meiner Doku steht:
HRESULT SetStreamSource( UINT StreamNumber,
IDirect3DVertexBuffer9 *pStreamData,
UINT OffsetInBytes,
UINT Stride
);Besorg dir halt mal die Dx9 Doku, da du anscheinend noch die 8er Dx Doku benutzt aber mit Dx9 programmieren willst.
-
IDirect3DDevice9::SetFVF ist in D3D9 was IDirect3DDevice8::SetVertexShader in D3D8 war.
nunja, SetVertexShader() macht in DX9 nurmehr das was der name auch sagt...
zum setzen des FVF gibts jetzt eben SetFVF().
-
Danke, dass hat funktioniert!
Habe in der msdn online nochmal geguckt.Ich bin irgendwie im Archiv gelandet