Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在我在 OpenGL 中使用的几何着色器中,在开始时设置一个变量,然后在不重置它的情况下发射顶点,但在 vulkan 中,如果我不在每个代码之间写入该变量,EmitVertex()我的代码将无法正常工作。
EmitVertex()
我在 glsl 规范中找不到任何关于此的内容,是否有针对此的规则,而第一种情况恰好有效?转向 spirv 有什么改变吗?
来自khronos opengl 文档:
GS 代码写入一个顶点的所有输出值,然后调用 EmitVertex()。这告诉系统将这些输出值写入输出顶点被写入的位置。调用此函数后,所有输出变量都包含未定义的值。因此,在发射下一个顶点(如果有下一个顶点)之前,您需要再次写入它们。