log – im Vergleich zu
Protokoll mit vollständiger Genauigkeit₂(x).
Syntax
| log dst, src |
|---|
Hierbei gilt:
- dst ist das Zielregister.
- src ist ein Quellregister. Das Quellregister erfordert die explizite Verwendung von "swizzle replizieren", d.h., dass genau eine der .x-, .y-, .z-, W-Swizzle-Komponenten (oder die Entsprechungen .r, .g, .b, .a) angegeben werden muss.
Hinweise
| Vertex-Shaderversionen | 1_1 | 2 _ 0 | 2 _ x | 2 _ sw | 3 _ 0 | 3 _ sw |
|---|---|---|---|---|---|---|
| log | x | x | x | x | x | x |
Das folgende Codefragment zeigt die ausgeführten Vorgänge.
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;
}
Diese Anweisung akzeptiert eine Skalarquelle, deren Vorzeichenbit ignoriert wird. Das Ergebnis wird in alle vier Kanäle repliziert.
Diese Anweisung bietet 21 Bit Genauigkeit.