GLSL中输出和输入变量的命名规范

4
在跟随几个不同的OpenGL着色器教程后,我发现它们都对输入和输出使用不同的命名方式。
例如,我见过的有 ex_color vFragColor ModelViewMatrix mvMatrix 等等。
如果我的着色器能够与其他一些着色器兼容,而无需重命名每个变量,那将是很不错的。是否存在某种命名方案或标准,我可以遵循并且比较普遍呢?

我不相信有任何命名约定方案适用于用户定义的变量... - solarised
我喜欢在可能的情况下将名称与Shadertoy匹配,因为它在着色器方面拥有庞大的用户群。 - clankill3r
1个回答

1

接口变量名称没有命名约定。您应该使用适合自己需求的任何名称。

此外,如果您不将其他人的代码复制粘贴到自己的代码中,则无需与其他人的着色器“兼容”。


2
复制粘贴编码从长远来看对任何人都没有帮助。 - Nicol Bolas
1
是的,但我想象中,在一个大项目中,如果我能说,让我们使用这种或那种命名方案,那就太好了。这样混合一个顶点着色器和一个不同的片段着色器就不会成为问题。如果我错了,请纠正我,但顶点着色器和片段着色器并不总是成对创建的。 - bobbaluba
1
@bobbaluba:我的观点是,编写一个命名规范并不是非常困难的。如果你正在与他人协作,只需将文档放入源代码控制中或其他位置即可。 - Nicol Bolas
1
@bobbaluba:还要记住,glShaderSource接受一个字符串数组作为参数,其想法是您可以实现一种包含系统,因此您可以编写一组头文件为着色器提供预定义的序言。这将强制执行项目的命名方案。 - datenwolf
3
@NicolBolas 命名规范确实很有用,这不是简单的复制粘贴问题。 - Kamil Tomšík
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接