BasicHLSL
A DirectX SDK azonos nevű demója azért jóérzésű ember számára annyira nem basic. Ebból kidobálva kb. 300 sort valamivel kezelhetőbb lesz.
Points on Interest:
- ID3DXEffect* g_pEffect
Ebbe lesz feltöltve az .fx file tartalma, ennek a metódusai kell hívogatni a shader-rel való kommunikációhoz. - HRESULT CreateMesh(IDirect3DDevice9* pd3dDevice)
Egy nxn-es négyzetrácsot hoz létre, hogy legyen min futtattni a shader-t.
Az XY síkkal párhuzamos, (-1,-1)-(1,1)-es kiterjedéssel. Ja, és átmegy az origón. Egy él mentén n csúcs van (ld. 24. sor). - void CALLBACK OnFrameRender(IDirect3DDevice9* pd3dDevice, double fTime, float fElapsedTime, void* pUserContext)
Kirajzolás, kommunikáció a shaderrel, transzformációk, meg a szokásos.
Ha extra paramétereket kell átadni a shadernek, akkor azt itt érdemes megtenni. - simplest.fx
A shaderek. Effektestül.
A progi változtatás nélkül akkor működik jól, ha kb. így néz ki:
BasicHLSL.zip 876 KiB