是否可以在WebGL中使用Cg着色器?

时间:2013-11-25 00:37:39

标签: opengl webgl shader cg-language

我知道我可以通过attachShadercompileShader在WebGL中使用GLSL着色器,就像我在OpenGL中所做的那样。我的问题是:用Cg写的着色器怎么样?在桌面上我需要cgc来编译它们,WebGL世界中的相应工具是什么?

1 个答案:

答案 0 :(得分:0)

通常你不想。

您可以使用cgc(-profile glslv-profile glslf)将着色器编译为GLSL,然后将它们加载到您想要的任何位置。但是,桌面和ES GLSL(可能使用ES规范的WebGL)之间存在细微差别,因此可能需要在着色器的开头添加一些提示(如precision mediump float;,很容易#ifdef' d /).

当然,在这种情况下你不能使用一些Cg功能 - 如果在GLSL中缺少它,cgc什么也不做。例如。将制服映射到指定的寄存器或设置变化到指定的插补器。