【发布时间】:2011-11-01 17:46:10
【问题描述】:
如果我错了,请纠正我。 当使用顶点和像素着色器时,我们通常会提供代码来计算顶点着色器的输出 gl_position。 然后,我们在像素着色器中找到输入 gl_FragCoord 的自己。 OpenGL 执行的从 gl_position 计算 gl_FragCoord 的操作的名称是什么?那些是“投影”和“剪辑坐标变换”是否正确? 那么,在这些操作期间究竟执行了哪些转换? 换句话说,gl_FragCoord 和 gl_position 之间的数学关系是什么,我可以用它来代替 openGL 函数?
非常感谢您的任何贡献。
【问题讨论】:
-
前段时间我也遇到过同样的问题和疑问,我自己在“OpenGL: Compute eye space coord from window space coord in GLSL?”这个问题中回答了这个问题,你可以找到一个链接向右。
-
抱歉 karx11erx,这不是我想要的。其实我觉得我想要的恰恰相反。我不想“取消投影”,我想将我的 3d 坐标投影到 2d 屏幕坐标。
-
您也可以在那里看到如何执行此操作,因为着色器首先取消投影(从灯光视图空间),然后投影(到查看器屏幕空间)。
标签: opengl glsl shader relation