GLSL(OpenGL Shader)不同的自定义插值?

时间:2014-01-20 07:27:25

标签: opengl glsl shader

通常在opengl着色器中,

varying vColor
 void main() {
   gl_FragColor = vColor;
}

然后结果为

但我想得到的是

问题是,我可以使用自定义插值来获得这个吗?

1 个答案:

答案 0 :(得分:3)

当然可以。传递一个浮动属性,指示您自己插值中的位置,或者为其使用变化的浮点变量。

varying float t;
void main() {
    t = clamp(t * 4.0, 0.0, 1.0);
    gl_FragColor = mix(vec4(1.0, 0.0, 0.0, 1.0), vec4(0.0, 0.0, 1.0, 1.0), t);
}