for(int i = 0; i < 6; i++)
{
m_pD3DDevice->DrawIndexedPrimitive(D3DPT_TRIANGLEFAN, i * 4, 0, 4, 0, 2);
}
上面那行绘制语句的意思是:从顶点缓冲区中的第i*4个顶点开始,获取4个顶点数据。最小顶点索引是0,所以获取的4个顶点的索引依次是0,1,2,3。然后从索引缓冲区的第0个索引开始,获取4个索引。然后根据这4个索引值,根据三角形扇,绘制2个三角形,组成一个面。最终绘制6个面。
SetVertexShader 设置vs
SetPixelShader 设置ps
前向渲染:将灯光动态渲染
延迟渲染:将所有灯光渲染到一张图上;相当于需要两遍渲染
IDirect3DDevice9::SetClipPlane
IDirect3DDevice9::SetCurrentTexturePalette
IDirect3DDevice9::SetNPatchMode
IDirect3DDevice9::SetPixelShader
IDirect3DDevice9::SetPixelShaderConstantB
IDirect3DDevice9::SetPixelShaderConstantF
IDirect3DDevice9::SetPixelShaderConstantI
IDirect3DDevice9::SetRenderState
IDirect3DDevice9::SetSamplerState
IDirect3DDevice9::SetScissorRect
IDirect3DDevice9::SetStreamSource
IDirect3DDevice9::SetStreamSourceFreq
IDirect3DDevice9::SetTextureStageState
IDirect3DDevice9::SetTransform
IDirect3DDevice9::SetVertexDeclaration
IDirect3DDevice9::SetVertexShader
IDirect3DDevice9::SetVertexShaderConstantB