繁体   English   中英

在SlimDX(D3D9)中实现抗锯齿

[英]Enabling antialising in SlimDX (D3D9)

我想在绘制三角形时启用抗锯齿,如下图所示: 在此输入图像描述

我在这个页面上找到了一种使用XNA的方法,但我想对SlimDX做同样的事情

在SlimDX / Directx9上,当您创建交换链时,请在PresentParameters中使用它:

Multisample = MultisampleType.FourSamples,
MultisampleQuality = 4

还要确保多重采样状态已打开(默认情况下是,但从不确定):

device.SetRenderState(RenderState.MultisampleAntialias, true);

当然有不同类型的样品,要找到质量/样品,请使用以下方法:

new Direct3D().CheckDeviceMultisampleType

在dx10 +设备上,当您创建交换链时,您有一个SampleDescription参数,

因此,相应地设置样品计数/质量

SampleDescription samdesc = new SampleDescription(4, 4);

要枚举允许的samplecount / quality组合:

int maxsamplecount = Device.MultisampleCountMaximum

然后使用以下方法迭代样本计数:

int maxquality = device.CheckMultisampleQualityLevels(format, sampleCount);

如果不支持样本计数,它将返回0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM