ID3D11DeviceContext::D SSetSamplers 方法 (d3d11.h)
将采样器状态数组设置为域着色器阶段。
语法
void DSSetSamplers(
[in] UINT StartSlot,
[in] UINT NumSamplers,
[in, optional] ID3D11SamplerState * const *ppSamplers
);
参数
[in] StartSlot
类型: UINT
索引到设备的从零开始的数组中,开始将采样器设置为 (范围从 0 到 D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - 1) 。
[in] NumSamplers
类型: UINT
数组中的采样器数。 每个管道阶段总共有 16 个采样器槽可用, (范围从 0 到 D3D11_COMMONSHADER_SAMPLER_SLOT_COUNT - StartSlot) 。
[in, optional] ppSamplers
类型: ID3D11SamplerState*
指向采样器状态接口数组的指针 (请参阅 ID3D11SamplerState) 。 请参阅“备注”。
返回值
无
备注
任何采样器都可以设置为 NULL;这会调用默认状态,该状态定义为以下状态。
//Default sampler state:
D3D11_SAMPLER_DESC SamplerDesc;
SamplerDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
SamplerDesc.AddressU = D3D11_TEXTURE_ADDRESS_CLAMP;
SamplerDesc.AddressV = D3D11_TEXTURE_ADDRESS_CLAMP;
SamplerDesc.AddressW = D3D11_TEXTURE_ADDRESS_CLAMP;
SamplerDesc.MipLODBias = 0;
SamplerDesc.MaxAnisotropy = 1;
SamplerDesc.ComparisonFunc = D3D11_COMPARISON_NEVER;
SamplerDesc.BorderColor[0] = 1.0f;
SamplerDesc.BorderColor[1] = 1.0f;
SamplerDesc.BorderColor[2] = 1.0f;
SamplerDesc.BorderColor[3] = 1.0f;
SamplerDesc.MinLOD = -FLT_MAX;
SamplerDesc.MaxLOD = FLT_MAX;
方法将保存对传入的接口的引用。 这与 Direct3D 10 中的设备状态行为不同。
要求
目标平台 | Windows |
标头 | d3d11.h |
Library | D3D11.lib |