Direct3D 多重采样抗锯齿

多重采样抗锯齿(Multisampling Atialiasing)

       针对光栅化显示器抗锯齿的方法有多种,在d3d中采用的多重采样方法。即在每个像素点内部,设置多个采样点,绘制多边形边缘时,针对每个采样点判断是否被多边形覆盖,最终的颜色值从采样点中取均值,以对多边形的边缘进行“模糊化",从而减轻锯齿效果。如下图所示,这是一个4重采样的例子,该像素最终的颜色值是多边形本身颜色值的3/4:

支持d3d11的硬件全部支持4重采样,因此我们在后面的程序中将普遍使用4个采样点。在d3d11中通过结构DXGI_SAMPLE_DESC来设置多重采样,其定义如下:

typedef struct DXGI_SAMPLE_DESC {
  UINT Count;
  UINT Quality;
} DXGI_SAMPLE_DESC, *LPDXGI_SAMPLE_DESC;

Count为我们设置的采样的个数,Quality为机器支持的不同的等级,初始化过程中我们会使用     ID3D11Device::CheckMultisampleQualityLevels 对Quality进行检测。

/**ID3D11Device::CheckMultisampleQualityLevels
 * 获取多重采样中可用质量等级
 * @param Format 贴图的格式
 * @param SampleCount 多重采样的样本数(比如用四重采样,则该参数填4)
 * @param pNumQualityLevels 适配器支持的质量等级
 */
HRESULT CheckMultisampleQualityLevels(
  DXGI_FORMAT Format,
  UINT SampleCount,
  UINT *pNumQualityLevels
);

因为支持d3d11的硬件全部支持4重采样,所以返回的多重采样质量等级一定大于0

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值