struct CD3D11_SAMPLER_DESC : public D3D11_SAMPLER_DESC
{
CD3D11_SAMPLER_DESC();
explicit CD3D11_SAMPLER_DESC(const D3D11_SAMPLER_DESC &o);
explicit CD3D11_SAMPLER_DESC(CD3D11_DEFAULT);
// 一些便利的设置函数
CD3D11_SAMPLER_DESC& Filter(D3D11_FILTER Filter);
CD3D11_SAMPLER_DESC& AddressU(D3D11_TEXTURE_ADDRESS_MODE Address);
CD3D11_SAMPLER_DESC& AddressV(D3D11_TEXTURE_ADDRESS_MODE Address);
CD3D11_SAMPLER_DESC& AddressW(D3D11_TEXTURE_ADDRESS_MODE Address);
CD3D11_SAMPLER_DESC& MipLODBias(FLOAT MipLODBias);
CD3D11_SAMPLER_DESC& MaxAnisotropy(UINT MaxAnisotropy);
CD3D11_SAMPLER_DESC& ComparisonFunc(D3D11_COMPARISON_FUNC ComparisonFunc);
CD3D11_SAMPLER_DESC& BorderColor(FLOAT BorderColor[4]);
CD3D11_SAMPLER_DESC& MinLOD(FLOAT MinLOD);
CD3D11_SAMPLER_DESC& MaxLOD(FLOAT MaxLOD);
};
这个结构继承自 D3D11_SAMPLER_DESC,并提供了一些便利函数,用于更容易地设置采样器状态的参数。你可以通过调用这些函数来配置 CD3D11_SAMPLER_DESC 对象,然后将其传递给创建采样器状态的函数。
以下是 CD3D11_SAMPLER_DESC 中一些常用的设置函数:
- Filter: 设置采样器的过滤器,例如线性过滤、点采样等。
- AddressU, AddressV, AddressW: 设置纹理坐标的寻址模式,例如 Wrap、Clamp 等。
- MipLODBias: 设置 Mip 层级的 LOD 偏移。
- MaxAnisotropy: 设置各向异性过滤的最大各向异性度。
- ComparisonFunc: 设置用于比较深度纹理的比较函数。
- BorderColor: 设置用于超出纹理范围时的边框颜色。
- MinLOD, MaxLOD: 设置采样器允许的最小和最大 LOD。
这个结构使得配置采样器状态的参数更加方便,而不需要手动设置结构的各个字段。
转载请注明出处:http://www.pingtaimeng.com/article/detail/25642/Win32 API/D3d11.h/CD3D11_SAMPLER_DESC