2013-08-29 48 views
1

片段着色代碼

function getFragmentShader() { 
    return ["in vec3 ex_Color;", 
    "out vec4 out_Color;", 
    "void main(void) {", 
    "out_Color = vec4(ex_Color,1.0);", 
    "}"].join("\n"); 
} 

時使用此功能來獲得着色器串並編譯,它給我下面的錯誤:的WebGL - compileShader語法錯誤

ERROR:0:1:": syntax error 

我使用Chrome瀏覽器測試這個。我不知道如何以及何時引入"。當我看到傳遞給gl.shaderSource的字符串時,"不顯示。任何輸入來解決這個問題,非常感謝。

+0

看起來您正在嘗試使用HTSL着色器代碼而不是OpenGL ES着色語言(GLSL ES)。 以及嘗試傳遞單個字符串而不是數組。 – moka

回答

1

該問題主要出現在Shader程序中,其中像x/y這樣的分區必須都是Float,前提是兩個值都是Float值。 Chrome將該問題指向",但Mozilla在指出確切問題時非常準確。