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

另请参阅

ID3D11DeviceContext