GLSL(OpenGL着色器)可更改自定义插值?

GLSL(OpenGL着色器)可更改自定义插值?,opengl,glsl,shader,Opengl,Glsl,Shader,通常在opengl着色器中 可变颜色 void main(){ gl_FragColor=vColor; } 结果是 但我想得到的是 问题是,我能用我的自定义插值得到这个吗?当然可以。在自己的插值中传递一个表示位置的浮点属性,或使用一个可变的浮点变量 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,

通常在opengl着色器中

可变颜色
void main(){
gl_FragColor=vColor;
}
结果是

但我想得到的是


问题是,我能用我的自定义插值得到这个吗?

当然可以。在自己的插值中传递一个表示位置的浮点属性,或使用一个可变的浮点变量

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);
}

当然可以。在自己的插值中传递一个表示位置的浮点属性,或使用一个可变的浮点变量

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);
}

当然可以。在自己的插值中传递一个表示位置的浮点属性,或使用一个可变的浮点变量

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);
}

当然可以。在自己的插值中传递一个表示位置的浮点属性,或使用一个可变的浮点变量

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);
}