Бөлісу құралы:


ShaderEffect.DdxUvDdyUvRegisterIndex Свойство

Определение

Возвращает или задает значение, показывающее построитель текстуры, который необходимо использовать для частичных производных координат текстуры по отношению к экранному пространству.

protected:
 property int DdxUvDdyUvRegisterIndex { int get(); void set(int value); };
protected int DdxUvDdyUvRegisterIndex { get; set; }
member this.DdxUvDdyUvRegisterIndex : int with get, set
Protected Property DdxUvDdyUvRegisterIndex As Integer

Значение свойства

Int32

Индекс регистра, который содержит частичные производные.

Исключения

Была совершена попытка задать свойство DdxUvDdyUvRegisterIndex несколько раз или после начальной обработки эффекта.

Комментарии

DdxUvDdyUvRegisterIndex Используйте свойство, чтобы указать регистр шейдера, содержащий частичные производные координат текстуры относительно пространства экрана. Например, если DdxUvDdyUvRegisterIndex задано значение 4, используется регистр шейдера c4. Регистр c4 содержит четыре поля с плавающей запятой. В следующем коде языка заливки высокого уровня (HLSL) показано, как используется этот регистр. Значение nextPixelUV представляет следующий пиксель справа.

float4 ddxUvDdyUv : register(c4);  
SamplerState  sampler : register(S0);  
...  
float2 nextPixelUV;  
nextPixelUV.u = ddxUvDdyUv.x + u;  
nextPixelUV.v = ddxUvDdyUv.y + v;  

tex2D(sampler, nextPixelUV);  

В следующей таблице показано, как заполняется регистр DdxUvDdyUvRegisterIndex .

Регистрация константы Производное значение
Компонент x ddx(u)
Компонент y ddx(v)
Компонент z ddy(u)
Компонент w ddy(v)

Координаты текстуры обозначаются как (u, v). ddx(u) является константой частичной производной компонента u координат текстуры относительно координаты экрана x-координаты. ddy(u) является частичным производным от координаты текстуры относительно координаты u пространства экрана y. Аналогичным образом и ddx(v) ddy(v) являются соответствующими производными от экранного пространства для компонента vкоординат текстуры.

Примечание

HLSL содержит инструкции ddx и ddy для вычисления этих значений, но эти инструкции недоступны на всех оборудовании PixelShader 2.0.

Эти константы можно думать следующим образом. Если шаг 1 пикселя справа находится в пространстве экрана (в направлении x), то ddx(u) это объем u , который изменяется в пространстве текстуры и ddx(v) является объемом, который v изменяется в пространстве текстуры. Если эффект выравнивается по оси при отрисовки, значение ddx(v) равно 0. Если эффект поворачивается при отрисовки, то ddx(v) значение не равно нулю.

Применяется к

См. также раздел