我看到HSLS具有浮点数和浮点数(1-4)以及很多字段(r,rr,rrrr,arar,...)(I在HLSL Tool的帮助下看到这些字段感谢Tim Jones:D--我无法想象(现在)如何在不使用此工具的情况下对HSLS进行编程)。HSLS float1,...,float4及其字段
我试图找到关于这个数据类型及其字段的引用,但是我找不到任何关于它的信息(为什么数字1-4和它的字段的含义在C++中float只是float数,这里是什么是浮动)
下面是到目前为止我的进步:
浮 - 32位浮点值。
例如,这是一个4分量有符号规范化的浮点型变量声明。
snorm float4 fourComponentIEEEFloat;
它没有回答我的问题:这是什么代码的含义是
RWTexture2D<float4> testTexture : register(u0);
[numthreads(@value(threads_per_group_x), @value(threads_per_group_y), @value(threads_per_group_z))]
void main
(
uint3 gl_LocalInvocationID : SV_GroupThreadID,
uint3 gl_GlobalInvocationID : SV_DispatchThreadId
)
{
testTexture[gl_GlobalInvocationID.xy].xyzw = float4(float2(gl_LocalInvocationID.xy)/16.0f, 0.0f, 1.0f);
}
我可能会稍微明白FLOAT2(gl_LocalInvocationID.xy)为2浮动
testTexture[gl_GlobalInvocationID.xy].xyzw = float4(float2(gl_LocalInvocationID.xy)/16.0f, 0.0f, 1.0f);
等于
testTexture[gl_GlobalInvocationID.xy].xyzw = float4(gl_LocalInvocationID.x/16.0f, gl_LocalInvocationID.y/16.0f, 0.0f, 1.0f);
但我不知道它是否正确,旁边,领域r,rr,rrrr,arar,...我之前提到过。
感谢您的阅读。