Graphics uv.zw在HLSL中是什么意思?

Graphics uv.zw在HLSL中是什么意思?,graphics,3d,shader,hlsl,Graphics,3d,Shader,Hlsl,我试图使用HLSL代码作为实验的基础,但我不明白uv.zw代表什么?它表明: float4 uv0 : TEXCOORD0 ... uv0.zw; 紫外线不是只有2吗?我知道uvw支持3,但第四个组件是什么?阿尔法 在在线示例中,我只能找到用于float2值的TEXCOORD0,而不是float4纹理可以是三维的,因此纹理坐标可以是三维的z 如果你熟悉齐次坐标,你就会知道在三维坐标上表示各种变换的一种方法是通过齐次坐标表示4D,这会增加一个“w”坐标。GPU中的所有值实际上都是flo

我试图使用HLSL代码作为实验的基础,但我不明白uv.zw代表什么?它表明:

float4 uv0      : TEXCOORD0
...
uv0.zw;
紫外线不是只有2吗?我知道uvw支持3,但第四个组件是什么?阿尔法


在在线示例中,我只能找到用于
float2
值的
TEXCOORD0
,而不是
float4

纹理可以是三维的,因此纹理坐标可以是三维的z


如果你熟悉齐次坐标,你就会知道在三维坐标上表示各种变换的一种方法是通过齐次坐标表示4D,这会增加一个“w”坐标。

GPU中的所有值实际上都是float4的幕后操作——声明float或float2等只会限制使用的通道数量

如果一个float2值访问.zw通道,它在技术上是未定义的,但编译器可能会接受它。所以要小心

在HLSL中,名称“uv”没有内在定义——您可以使用该名称声明任何类型的变量