有人能告诉我这段HLSL代码的含义是什么?
问题描述:
float4 color = tex2D(inputSampler, TexCoord);
//compute distance from center
float distance = color.a>0.3f?length(TexCoord - 0.5f):1.0f;
什么是color.a>
以及为什么在第二行中间有;
?有人能告诉我这段HLSL代码的含义是什么?
答
响应原来的问题:“谁能告诉我这是什么片段的HLSL代码意味着
float4 color = tex2D(inputSampler, TexCoord);
//compute distance from center
float distance = color.a>0.3f?length(TexCoord - 0.5f):1.0f;
是什么color.a & GT和为什么出现;在那第二条线的中间?“
它是一个html转义序列拧紧。 >
应该是>
(“大于”符号)。
所以它应该是:
float4 color = tex2D(inputSampler, TexCoord);
//compute distance from center
float distance = color.a > 0.3f?length(TexCoord - 0.5f):1.0f;
同样,如果你遇到<
它可能是<
( “小于” 符号)。其他常见的的是:
-
"
- > '"
' -
&
- > '&
' -
- > ''(空格)
像素着色器实际上是什么如果此时采样纹理的alpha大于0.3
,distance
是从采样texcoord(U,V)位置到(0.5,0.5)(即纹理中心)的长度从...取样。如果alpha为0.3
或更少,则distance
设置为1.0f
。
距离值显然在着色器后面用于应用某些像素效果。
你不应该在接受后完全改变问题。你应该开始一个新的问题。您应该恢复原始版本并开始一个新问题。 – 2012-08-04 07:13:36
我修复了它。新的问题基本上是:“我如何使用这个HLSL代码来遮蔽事物?” - 我同意这应该是它自己的问题。 – 2012-08-04 07:54:53