log - ps
完全精度の log2(x) です。
構文
log dst, src |
---|
この場合
- dst はデスティネーション レジスタです。
- src はソース レジスタです。ソース レジスタでは、複製スィズルを明示的に使う必要があります。つまり、.x、.y、.z、.w スィズル要素 (または同等の .r、.g、.b、.a) のうち 1 つだけを指定しなければなりません。
解説
ピクセル シェーダーのバージョン | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
log | x | x | x | x | x |
次のコードは、実行される演算を示しています。
float v = abs(src);
if (v != 0)
{
dest.x = dest.y = dest.z = dest.w =
(float)(log(v)/log(2));
}
else
{
dest.x = dest.y = dest.z = dest.w = -FLT_MAX;
}
この命令は、符号ビットを無視してスカラー ソースを受け付けます。結果は 4 つのすべてのチャンネルに複製されます。