在 Direct3D 10 中,D3D10_RASTERIZER_DESC 结构体用于描述光栅化器(rasterizer)的状态。以下是该结构体的定义:
typedef struct D3D10_RASTERIZER_DESC {
  D3D10_FILL_MODE   FillMode;
  D3D10_CULL_MODE   CullMode;
  BOOL              FrontCounterClockwise;
  INT               DepthBias;
  FLOAT             DepthBiasClamp;
  FLOAT             SlopeScaledDepthBias;
  BOOL              DepthClipEnable;
  BOOL              ScissorEnable;
  BOOL              MultisampleEnable;
  BOOL              AntialiasedLineEnable;
} D3D10_RASTERIZER_DESC;

结构体的成员包括:

  •  FillMode: 定义光栅化器如何填充图元的枚举值,可以是 D3D10_FILL_SOLID(实体填充)或 D3D10_FILL_WIREFRAME(线框填充)。

  •  CullMode: 定义背面剔除的模式的枚举值,可以是 D3D10_CULL_NONE(不剔除)、D3D10_CULL_FRONT(剔除正面)或 D3D10_CULL_BACK(剔除背面)。

  •  FrontCounterClockwise: 一个布尔值,指示正面是逆时针方向还是顺时针方向。

  •  DepthBias: 深度偏移值。

  •  DepthBiasClamp: 深度偏移的最大允许值。

  •  SlopeScaledDepthBias: 斜率缩放深度偏移。

  •  DepthClipEnable: 一个布尔值,指示是否启用深度剪辑。

  •  ScissorEnable: 一个布尔值,指示是否启用剪裁矩形。

  •  MultisampleEnable: 一个布尔值,指示是否启用多重采样。

  •  AntialiasedLineEnable: 一个布尔值,指示是否启用抗锯齿线条。


这个结构体用于配置光栅化器的状态,光栅化器负责将图元转换为像素,其中包括填充模式、剔除模式、深度偏移等。你可以使用这个结构体创建光栅化器状态,然后将其应用于图形管线。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25496/Win32 API/D3d10.h/D3D10_RASTERIZER_DESC