游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1976|回复: 0

延迟渲染遇到的奇怪问题。恢复的Position和原来的不一样!

[复制链接]

22

主题

47

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2011-12-11 00:48:00 | 显示全部楼层 |阅读模式
为了验证在光照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坐标和以前的有出入吗?

望大家解答。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 04:37

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表