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

その2行目の真ん中にあるのは何ですか?color.a&gtなぜですか?;

4

1 に答える 1

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> とは何ですか。その二行目の真ん中?」


その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;-> ' ' (スペース)

ピクセル シェーダーが実際に行っていることは、この時点でサンプリングされたテクスチャのアルファが、サンプリングされた texcoord (U,V) の位置から (0.5, 0.5) までの長さ、つまりサンプリングされたテクスチャの中心よりも大きい場合0.3ですdistance。アルファが0.3以下の場合、distanceは に設定され1.0fます。

距離の値は、後でシェーダーでピクセル効果を適用するために使用されます。

于 2012-08-04T06:52:40.320 に答える