0
我知道我可以通過attachShader
和在WebGL中使用GLSL着色器,就像我在OpenGL中做的那樣。我的問題是:如何使用Cg編寫着色器?在桌面上,我需要cgc
來編譯它們,WebGL世界中的相應工具是什麼?可以在WebGL中使用Cg着色器嗎?
我知道我可以通過attachShader
和在WebGL中使用GLSL着色器,就像我在OpenGL中做的那樣。我的問題是:如何使用Cg編寫着色器?在桌面上,我需要cgc
來編譯它們,WebGL世界中的相應工具是什麼?可以在WebGL中使用Cg着色器嗎?
通常你不想。
您可以使用cgc(-profile glslv
或-profile glslf
)將着色器編譯爲GLSL,然後將它們加載到您想要的任何位置。然而,桌面和ES GLSL(可能使用ES規範的WebGL)略有不同,所以它可能需要在着色器的開頭添加一些提示(如precision mediump float;
,可能很容易是#ifdef
'd /)。
當然,在這種情況下,您不能使用一些Cg功能 - 如果它在GLSL中丟失,cgc將無能爲力。例如。將制服映射到指定的寄存器或將設置變化到指定的插補器。