css - 如何在 CSS 自定义片段着色器中正确声明变量?

标签 css webkit webgl fragment-shader

出于某种原因,每次我在 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 );

}

我还尝试了 floatvec4 test = vec4(1,1,1,1); 而不是 uniform float,但是无论我做什么,着色器都不会在我每次尝试声明自定义变量时都得到应用。有什么想法吗?

最佳答案

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

关于css - 如何在 CSS 自定义片段着色器中正确声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16077081/

相关文章:

css - 如何将webkit应用到每张图片

javascript - 如何复制webgl Canvas ? (我想要小 map )

css - html 和 css 中的标题横幅

jquery - velocity.js 可以实现 CSS3 过渡吗?

jquery - 如何使 jQuery 动画({底部...工作

javascript - Webkit 滞后于 Canvas 中的大图像

css - Chrome : transform scale and blurred edges

glsl - 在非方形 Canvas 上使用片段着色器在光标位置绘制一个圆圈

javascript - 清除 WebGL Canvas ,Three.JS

css - 将 CSS 打印媒体与 Xporability/css-to-pdf 结合使用