0

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

4

1 回答 1

0

通常你不想。

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

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

于 2013-11-25T01:55:03.420 回答