一般用於實現billboard。
首先,通過d3dxcreatetexturefromfileex()載入紋理:
d3dxcreatetexturefromfileex( g_pd3ddevice,
"fire.bmp",
d3dx_default,
d3dx_default,
d3dx_default,
0,d3dfmt_unknown,
d3dpool_managed,
d3dx_default,
d3dx_default,
d3dcolor_argb( 0, 0, 0, 255), // 關鍵色為藍色(0,0,255)
null,
null,
&g_ptexture);
呼叫後,紋理的藍色部分的畫素的alpha值為0。
接著,開啟alpha測試:
g_pd3ddevice->setrenderstate(d3drs_alphatestenable, true);
g_pd3ddevice->setrenderstate(d3drs_alpharef, 0x00000000);
g_pd3ddevice->setrenderstate(d3drs_alphafunc, d3dcmp_greater);
就是將紋理畫素的alpha值與參考值0比較,若大於則通過測試,否則不通過,捨棄。
ok,搞定!
D3D中的渲染到紋理
渲染到紋理是d3d中的一項高階技術。一方面,它很簡單,另一方面它很強大並能產生很多特殊效果。比如說發光效果,環境對映,陰影對映,都可以通過它來實現。渲染到紋理只是渲染到表面的乙個延伸。我們只需再加些東西就可以了。首先,我們要創造乙個紋理,並且做好一些防範措施。第二步我們就可以把適當的場景渲染到我們建...
D3D中透明渲染的總結
1.渲染的先決條件 開啟alpha渲染 m pd3ddevice setrenderstate d3drs alphablendenable,true 對於通過程式頂點構造的多邊形渲染時必須開啟alpha通道 m pd3ddevice settexturestagestate 0,d3dtss al...
D3D中的渲染
虛擬世界中渲染幾何體一般來說有三種途徑 自定義座標渲染 d3dx內建模型渲染和外部模型資料渲染。第一步 定義頂點資料結構體 d3d提供了自定義頂點結構的機制,通過自定乙個結構體,來儲存我們所希望具有的頂點資料,例如 stuct colorvertex 頂點結構體定義好之後,需要用靈活頂點格式標記的組...