我是OpenGL ES 2.0初学者,我不明白为什么着色器有不同类型的代码。特别是和/之间的差异。.cg
.vsh
.fsh
问问题
501 次
2 回答
4
Cg是NVIDIA拥有和运营的着色语言。GLSL是OpenGL的着色语言。Cg通过编译成某种形式的GLSL工作,基于代表GLSL版本和着色器阶段类型的“配置文件” 。
如果您使用的是OpenGL ES,则应该忽略Cg。您不能在OpenGL ES中使用Cg,因为ES的GLSL版本具有Cg无法满足的要求。因此,如果您看到一些使用Cg的教程,请忽略它。
扩展名完全不相关。使用您最清楚的任何扩展名;OpenGL不读取文件,因此您可以将着色器字符串提供给 glView。
于 2013-03-15T03:30:00.153 回答
1
如果您使用Nvidia的CG 工具包,通常使用文件扩展名,
但如果您使用GLSL 着色器,则可以使用、、或..cg
.vsh
.fsh
.frag
.vert
.glsl
于 2013-03-15T03:06:19.720 回答