|
为了验证在光照Shader中重构的Position和G-Buffer中保存的坐标是否一致,做了如下测试:
在保存G-Buffer时,直接将经过WorldViewProj变换的Pos.xy/Pos.w保存到RT中。(用的是A32B32G32R32F格式的纹理)
在光照Shader中,取出保存的G-Buffer中的 float2 pos=tex2D(PosSampler,tex).xy;
然后再将uv 转换到屏幕坐标系 float x=tex.x*2-1;float y=-(tex.y*2)-1;
奇怪的事情出现了pos 中的xy和x,y并不相等。
为了验证,我从网上下了几个延迟渲染的例子,测试了一下,都不相等,总是差0.0015,0.0024左右。
难道UV转换得到的XY坐标和以前的有出入吗?
望大家解答。 |
|