2012-08-04 92 views
1
float4 color = tex2D(inputSampler, TexCoord); 
    //compute distance from center 
float distance = color.a>0.3f?length(TexCoord - 0.5f):1.0f; 

什么是color.a&gt以及为什么在第二行中间有;有人能告诉我这段HLSL代码的含义是什么?

+1

你不应该在接受后完全改变问题。你应该开始一个新的问题。您应该恢复原始版本并开始一个新问题。 – 2012-08-04 07:13:36

+0

我修复了它。新的问题基本上是:“我如何使用这个HLSL代码来遮蔽事物?” - 我同意这应该是它自己的问题。 – 2012-08-04 07:54:53

回答

3

响应原来的问题:“谁能告诉我这是什么片段的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; 

同样,如果你遇到&lt;它可能是<( “小于” 符号)。其他常见的的是:

  • &quot; - > '"'
  • &amp; - > '&'
  • &nbsp; - > ''(空格)

像素着色器实际上是什么如果此时采样纹理的alpha大于0.3,distance是从采样texcoord(U,V)位置到(0.5,0.5)(即纹理中心)的长度从...取样。如果alpha为0.3或更少,则distance设置为1.0f

距离值显然在着色器后面用于应用某些像素效果。

相关问题