首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在glsl中将剪辑位置转换为ndc位置?

在glsl中将剪辑位置转换为ndc位置?
EN

Stack Overflow用户
提问于 2014-02-20 09:38:04
回答 1查看 215关注 0票数 0

我是图形编程的新手,所以如果我使用了错误的术语,很抱歉。

使用clippos我的意思是:

代码语言:javascript
复制
gl_FragColor.w = gl_Position.z / gl_Position.w

我在我的深度传递中这样做,我如何从gl_Position.z / gl_Position.w的结果中获得后处理传递中的gl_FragCoord.z / gl_FragCoord.w的值?

EN

回答 1

Stack Overflow用户

发布于 2014-05-21 08:53:23

老实说,这是一件很愚蠢的事情。gl_FragCoord.w等同于1.0 / gl_Position.w,因此您可以撤消投影。你需要把这个w值保存在某个地方,除非它是常量。实际上,您真正想要编写是w坐标本身。

如果您使用透视投影,则它将不是常量,那么在投影之后,gl_Position.w通常将为-eye.z。这个值大部分是历史的,在旧的固定功能流水线中,Z轴的前部指向眼睛空间中的负方向。

在可编程GL中,您可以自由地在裁剪空间之前使用任何您想要的坐标空间约定。但是,剪裁空间及其以外的所有对象都具有固定的轴向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21896349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档