|
|
首先我想知道clip space翻译成中文是什么意思?
其次在NVIDIA的shader示例中有一个叫“post_shadow_overlay”的例子
其中有以下几行代码:
ApplyShadVertexOut applyShadowVS(ShadowAppData IN,
uniform float4x4 WorldXform,
uniform float4x4 WorldITXform,
uniform float4x4 WVPXform,
uniform float4x4 ShadowVPXform,
uniform float4x4 ViewIXform,
uniform float4x4 BiasXform)
{
ApplyShadVertexOut OUT = (ApplyShadVertexOut)0;
float4 Po = float4(IN.Position.xyz,(float)1.0); // " " in object coords
float4 Pw = mul(Po,WorldXform); // "P" in world coordinates
float4 Pl = mul(Pw,ShadowVPXform); // "P" in light coords
//OUT.LProj = Pl; // ...for pixel-shader shadow calcs
OUT.LProj = mul(Pl,BiasXform); // bias to make texcoord
//
float4 hpos = mul(Po,WVPXform); // screen clipspace coords
OUT.HPosition = hpos;
OUT.BgUV = hpos;
return OUT;
}
不明白“OUT.LProj = mul(Pl,BiasXform);”和“float4 hpos = mul(Po,WVPXform);”的意义,请高手帮我解答一下。
谢谢! |
|