SampleLevel (объект текстуры DirectX HLSL)

Примеры текстуры с помощью смещения на уровне MIP-карты.

<> Тип шаблона Object.SampleLevel( sampler_state S, float Location, float LOD [, int Offset] );

Эта функция аналогична образцу , за исключением того, что для выбора уровня MIP-карты используется уровень loD (в последнем компоненте параметра расположения). Например, двухмерная текстура использует первые два компонента для координат uv и третий компонент для уровня MIP-карты.

Параметры

Элемент Описание
Объекта
Любой тип объекта текстуры (кроме Texture2DMS и Texture2DMSArray).
S
[in] Состояние Sampler. Это объект, объявленный в файле эффектов, который содержит назначения состояний.
Расположение
[in] Координаты текстуры. Тип аргумента зависит от типа объекта текстуры.
Тип Texture-Object Тип параметра
Texture1D FLOAT
Texture1DArray, Texture2D float2
Texture2DArray, Texture3D, TextureCube float3
TextureCubeArray float4

Если объект текстуры является массивом, последним компонентом является индекс массива.

ЛОД

[in] Число, указывающее уровень MIP-карты. Если значение равно 0, используется нулевой (самая большая карта). Дробное значение (если указано) используется для интерполяции между двумя уровнями MIP-карты.

Смещение

[in] Необязательное смещение координат текстуры, которое можно использовать для любого типа объекта текстуры; смещение применяется к расположению перед выборкой. Смещения текстуры должны быть статическими. Тип аргумента зависит от типа объекта текстуры. Дополнительные сведения см. в разделе "Применение смещения координат текстуры".

Тип Texture-Object Тип параметра
Texture1D, Texture1DArray INT
Texture2D, Texture2DArray int2
Texture3D int3
TextureCube, TextureCubeArray не поддерживается

Возвращаемое значение

Тип шаблона текстуры, который может быть вектором с одним или несколькими компонентами. Формат основан на DXGI_FORMAT текстуры.

Минимальная модель шейдера

Эта функция поддерживается в следующих моделях шейдеров.

vs_4_0 vs_4_1 ps_4_0 ps_4_1 gs_4_0 gs_4_1
x x x x x x
  1. TextureCubeArray доступен в модели шейдера 4.1 или более поздней версии.
  2. Модель шейдера 4.1 доступна в Direct3D 10.1 или более поздней версии.

Пример

Этот частичный пример кода получен из файла Instancing.fx в примере Instancing10.

// Object Declarations
Texture1D g_txRandom;

SamplerState g_samPoint
{
    Filter = MIN_MAG_MIP_POINT;
    AddressU = Wrap;
    AddressV = Wrap;
};

    
// Shader body calling the intrinsic function
float3 RandomDir(float fOffset)
{   
    float tCoord = (fOffset) / 300.0;
    return g_txRandom.SampleLevel( g_samPoint, tCoord, 0 );
   ...

Объект Texture-Object