DirectX - gdzie jest tekstura

0

Troche walczę z directX, trochę wygląda to inaczej niz OpenGL

W różnych przykładach zauważyłem że wierzchołki mogą miec zdefiniowane rózne struktury danych

np. wierzchołek to może byc XYZ+ KOLOR

type Vertex = packed record
  x, y, z: single;
  color: dword;
end;

a w innym przykładzie XYZ + mapowanie textury

type TD3DVERTEX = packed record
  position: TD3DXVECTOR3; //stała z D3DX9.pas
  texcoord: TD3DXVECTOR2; //stała z D3DX9.pas
end;

I teraz sie zastanawiam czy w jednym programie moga byc pomieszane tego typu struktury.
Bo mam prostokont rysowany jedna metoda a potem drugi rysowany z tekstura , niestety tekstury nie widać

wydaje sie ze robię dobrze

g_pd3dDevice.SetVertexShader(nil); //wyłączam shader

g_pd3dDevice.SetStreamSource(0, quadVB, 0, sizeof(TD3DVERTEX)); // zmieniam StreamSource
g_pd3dDevice.SetTexture(0, quadTexture); // ustawiam teksture aktywana
g_pd3dDevice.DrawPrimitive(D3DPT_TRIANGLESTRIP, 0, 2); // rysuje prostokąt z danych

Korzystam z tych dwóch tutoriali jednocześnie w jednym programie
http://www.two-kings.de/tutorials/dxgraphics/dxgraphics18.html
http://www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple (Simple Vertex Shader (vs.2.0))

Ktoś może ma jakieś tropy po których powinienem podążać ?

0

Zapoznałem sie z funkcją SetFVF i już textura działa ;)
w moim przypadku SetFVF( D3DFVF_XYZ OR D3DFVF_TEX1);
NIe wiem co prawda czemu D3DFVF_TEX1 a nie D3DFVF_TEX0 ale działa

1 użytkowników online, w tym zalogowanych: 0, gości: 1