lit - vs
藉由計算兩個點產品的光源係數和指數,提供光源的部分支援。
Syntax
lit dst, src |
---|
where
- dst 是目的地暫存器。
- src 是來源暫存器。
備註
頂點著色器版本 | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
點燃 | x | x | x | x | x | x |
來源向量假設包含下列虛擬程式碼中顯示的值。
src.x = N*L ; The dot product between normal and direction to light
src.y = N*H ; The dot product between normal and half vector
src.z = ignored ; This value is ignored
src.w = exponent ; The value must be between -128.0 and 128.0
下列程式碼片段顯示執行的作業。
dest.x = 1;
dest.y = 0;
dest.z = 0;
dest.w = 1;
float power = src.w;
const float MAXPOWER = 127.9961f;
if (power < -MAXPOWER)
power = -MAXPOWER; // Fits into 8.8 fixed point format
else if (power > MAXPOWER)
power = MAXPOWER; // Fits into 8.8 fixed point format
if (src.x > 0)
{
dest.y = src.x;
if (src.y > 0)
{
// Allowed approximation is EXP(power * LOG(src.y))
dest.z = (float)(pow(src.y, power));
}
}
評估目的地 y 元件時可接受降低的有效位數算術, (dest.y) 。 實作必須支援 power 引數中至少八個分數位。 點產品會以標準化向量計算,而限制限制為 -128 到 128。
錯誤應該對應至 logp - vs 和 exp - vs 組合,或不超過 8 位色彩元件的大約一個有效位。
相關主題