我正在学习glsl着色,我遇到了不同的文件格式。我见过人们给他们的顶点和片段着色器.vert
和.frag
扩展。但我也看到过.vsh
和.fsh
扩展,甚至在一个.glsl
文件中同时使用了这两个着色器。所以我想知道是否有一个标准的文件格式,或者哪种方式是“正确的”?
发布于 2011-06-22 07:32:51
由Khronos创建的glslang编译器基于该扩展对着色器阶段进行了假设,但除此之外没有标准的扩展(而且相当多的项目都有自己的扩展)。glslang编译器禁用.vert
、.tesc
(TESsellation控制着色器)、.tese
(TESsellation求值着色器)、.geom
、.frag
和.comp
。
但对于任何形式的标准扩展来说,这就是问题所在。
发布于 2014-04-12 08:00:04
正如其他人提到的,在最严格的意义上没有正确的答案。值得一提的是,Sublime (在v2和v3中得到了确认)还希望使用.vert和.frag进行语法突出显示和验证。
发布于 2013-06-01 00:16:17
有两种编写着色器的方法。
可以将顶点着色器和片段着色器内容存储在char *
变量中,然后编译、链接着色器并将其附加到程序。
另一种方法是编写单独的顶点和片段着色器文件,使用您喜欢的任何扩展名,并读取它以编译、链接和附加着色器到程序。
所以命名约定,像.vert/.frag,.vsdr/.fsdr等都是有效的,只要你知道如何阅读它...
https://stackoverflow.com/questions/6432838
复制相似问题