看起来D3D11的api有点笨拙,或者我没有正确使用它。
这是真的,这是在 D3D11 中更改单个光栅化器状态的最小步骤集吗(我以更改线框模式渲染为例)
// 保存当前光栅化器状态及其描述的变量 ID3D11RasterizerState * rState ; D3D11_RASTERIZER_DESC rDesc ; // cd3d 是 ID3D11DeviceContext cd3d->RSGetState( &rState ) ; // 获取当前状态 rState->GetDesc( &rDesc ) ; // 获取状态的描述 rDesc.FillMode = D3D11_FILL_WIREFRAME ; // 更改 ONE 设置 // 创建一个全新的光栅化器状态 // d3d 是 ID3D11Device d3d->CreateRasterizerState( &rDesc, &rState ) ; cd3d->RSSetState(rState); // 设置新的光栅化状态
好像比9长很多
cd3d->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME);