1

我是OpenGL ES 2.0初学者,我不明白为什么着色器有不同类型的代码。特别是和/之间的差异。.cg.vsh.fsh

4

2 回答 2

4

CgNVIDIA拥有和运营的着色语言。GLSLOpenGL的着色语言。Cg通过编译成某种形式的GLSL工作,基于代表GLSL版本和着色器阶段类型的“配置文件” 。

如果您使用的是OpenGL ES,则应该忽略Cg。您不能在OpenGL ES中使用Cg,因为ESGLSL版本具有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 回答