CD3D11_RASTERIZER_DESC 结构是 Direct3D 11 中的一个用于描述光栅化器状态的辅助类。通常,它用于创建光栅化器状态对象。以下是 CD3D11_RASTERIZER_DESC 结构的定义:
struct CD3D11_RASTERIZER_DESC : public D3D11_RASTERIZER_DESC
{
    CD3D11_RASTERIZER_DESC();
    explicit CD3D11_RASTERIZER_DESC(const D3D11_RASTERIZER_DESC &o);
    explicit CD3D11_RASTERIZER_DESC(CD3D11_DEFAULT);

    // 一些便利的设置函数
    CD3D11_RASTERIZER_DESC& FrontCounterClockwise(BOOL Enable = TRUE);
    CD3D11_RASTERIZER_DESC& CullMode(D3D11_CULL_MODE CullMode);
    CD3D11_RASTERIZER_DESC& DepthBias(int DepthBias);
    CD3D11_RASTERIZER_DESC& DepthBiasClamp(float DepthBiasClamp);
    CD3D11_RASTERIZER_DESC& SlopeScaledDepthBias(float SlopeScaledDepthBias);
    CD3D11_RASTERIZER_DESC& DepthClipEnable(BOOL Enable = TRUE);
    CD3D11_RASTERIZER_DESC& ScissorEnable(BOOL Enable = TRUE);
    CD3D11_RASTERIZER_DESC& MultisampleEnable(BOOL Enable = TRUE);
    CD3D11_RASTERIZER_DESC& AntialiasedLineEnable(BOOL Enable = TRUE);
};

这个结构继承自 D3D11_RASTERIZER_DESC,并提供了一些便利函数,用于更容易地设置光栅化器状态的各个参数。你可以通过调用这些函数来配置 CD3D11_RASTERIZER_DESC 对象,然后将其传递给光栅化器状态的创建函数。

例如,你可以使用 CullMode 函数设置剔除模式,使用 ScissorEnable 函数启用或禁用剪裁框,等等。这样可以更方便地配置光栅化器状态而不必手动填充结构的各个字段。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25640/Win32 API/D3d11.h/CD3D11_RASTERIZER_DESC