2013-11-25 35 views
0

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

回答

0

通常你不想。

您可以使用cgc(-profile glslv-profile glslf)将着色器编译为GLSL,然后将它们加载到您想要的任何位置。然而,桌面和ES GLSL(可能使用ES规范的WebGL)略有不同,所以它可能需要在着色器的开头添加一些提示(如precision mediump float;,可能很容易是#ifdef'd /)。

当然,在这种情况下,您不能使用一些Cg功能 - 如果它在GLSL中丢失,cgc将无能为力。例如。将制服映射到指定的寄存器或将设置变化到指定的插补器。