Sam*_*art 124 opengl shader glsl
我正在学习glsl着色,我遇到了不同的文件格式.我见过人们给出他们的顶点和片段着色器.vert和.frag扩展.但我也看到.vsh和.fsh扩展,甚至两个着色器在一个.glsl文件中.所以我想知道是否有标准的文件格式,或者哪种方式是'正确的'?
Nic*_*las 84
GLSL着色器没有标准文件扩展名.最常见的可能是.vert和.frag,因为这些是在他们的一些工具使用3D实验室的扩展.但对于任何形式的标准扩展,这都是关于它的.
dat*_*olf 17
通过扩展名识别文件类型是Windows特有的.所有其他操作系统使用不同的方法:MacOS X将文件类型存储在文件系统条目中的特殊元数据结构中.大多数*nixes通过针对已知"魔术字节"的数据库测试其内部结构来识别文件; 但是文本编辑器使用扩展名.
无论如何,GLSL源代码就像任何其他程序源文件一样:纯文本,这就是它们的文件类型.
您可以根据需要选择扩展名.我使用以下命名:
但这是我的选择,从技术上讲,我的程序甚至不执行任何命名或扩展方案.命名是让人类阅读并知道其中的内容; 有一个共同的主要扩展名要求我只有一个文件扩展名集的语法高亮规则.
正如其他人所提到的,从最严格的意义上来说,没有正确的答案.它确实提到Sublime(已确认为v2和v3)也期望.vert和.frag用于语法突出显示和验证.