这儿是在上一个博客基础上修改转换代码。在D3D中,物体都是停留在当前状态中的,没有物体会回退到它的“默认”状态。比如图元拓扑,一旦设置了它,就像之前在一个三角形列表中所做的一样,除非显式的去改变它,否则它就会一直停留在三角形列表中。就像顶点和索引缓冲,一旦将它们绑定到管线,除非去改变它们,否则它们就会一直停留在那儿。这儿,将说到的是渲染状态。渲染状态所做的就是封装能够用来配置d3d的设置。有不同状态供我们选择:
ID3D11RasterizerState
该接口用于客制化管线的光栅化阶段,本博客中将会用到它
ID3D11BlendState
这用于混合阶段。
ID3D11DepthStencilState
该状态接口用于配置深度模板测试。在之后会说到模板缓冲,且深度缓冲设置用来做默认的深度测试。
全局声明
这是一个接口对象的声明,用于设置RS管线阶段的渲染状态。
ID3D11RasterizerState* WireFrame;
销毁
别忘记
void CleanUp()
{
//Release the COM Objects we created
SwapChain->Relea