gpt4 book ai didi

opengl - 当有几何着色器时,是否需要在顶点着色器中写入 `gl_Position`

转载 作者:行者123 更新时间:2023-12-01 03:35:38 25 4
gpt4 key购买 nike

假设我有一个几何着色器计算其输出 gl_Position来自 gl_in[].gl_Position 以外的一些输入.如果之前的管道阶段(顶点和曲面分割)没有写入它们的 out gl_Position ,整个管道的 Action 是否仍然保持明确?

或者换一种说法,gl_Position 的值是在几何着色器完成之前对 GL 的功能有什么影响?如果没有,这意味着我可以简单地将它用作传递数据的额外插槽,而无需在阶段之间进行任何特殊的空间解释,对吗?

(问题假设 OpenGL 4.5 前向配置文件。)

最佳答案

gl_Position只需要最后写Vertex Processing渲染管道中的阶段(VS、曲面分割和 GS)。因此,如果您有一个事件的 GS,连接到它的 VS 不需要写入 gl_Position一点也不。或者它可以放任意的vec4里面的数据。

请注意 gl_Position无论最终的顶点处理阶段是什么,仍然需要编写。当然,假设您想要光栅化。不,这不是轻率;你可以做转换反馈。

If not, it would mean I can simply use it as an extra slot for passing data without any special spatial interpretation between stages, right?



如果有 GS,那么之前着色器阶段的任何输出都不会有“任何特殊的空间解释”。 gl_Position在这方面并不特别。

插值是光栅化器的一个功能,它发生在顶点处理之后。实际上,在 GLSL 4.30+ 中,片段着色器输入上的插值限定符是唯一重要的。它们甚至不再用于接口(interface)匹配。

关于opengl - 当有几何着色器时,是否需要在顶点着色器中写入 `gl_Position`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35259639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com