2013-04-18 47 views
0

由于某种原因,每次我在CSS片段着色器中声明自定义变量时,着色器都停止工作。我不知道为什么会出现这种情况,因为我确信语法是正确的。如何在CSS自定义片段着色器中正确声明变量?

这是我的HTML代码和我的CSS:

#holder{ 
    width:600; 
    height:600; 
    -webkit-filter :custom(url(v.vs) mix(url(f2.fs) multiply source-over), 20 20); 
} 
... 
... 
<div id="holder"></div> 

这里是我的片段着色器f2.fs:

void main() 
{ 
    uniform float time;//remove this line and the shader will work! 

    css_MixColor = vec4(0.738, 0.821, 0.321, 1.0); 

    css_ColorMatrix = mat4(1, 0, 0, 0, 
          0, 1, 0, 0, 
          0, 0, 1, 0, 
          0, 0, 0, 1); 

} 

相反的uniform float,我也试过floatvec4 test = vec4(1,1,1,1);,但不管每次我尝试声明自定义变量时,我所做的着色器都不会得到应用。有什么想法吗?

回答

0

我不熟悉CSS着色器,但在WebGL的你必须在顶层声明你的uniform秒,main之外。