我想在屏幕淡出使用GLSL 特定顏色特定顏色到目前爲止,這是我的GLSL代碼,它工作得很好:淡出屏幕使用GLSL
uniform sampler2D textureSampler;
uniform vec2 texcoordOffset;
uniform vec3 sp;
uniform vec3 goal;
varying vec4 vertColor;
varying vec4 vertTexcoord;
void main(void) {
vec3 col=texture2D(textureSampler, vertTexcoord.st).rgb;
gl_FragColor = vec4(col+((goal-col)/sp), 1.0);
//gl_FragColor = vec4(col+((goal-col)*sp), 1.0); //as suggested below also this doesn't solve the problem
}
我唯一的問題是, sp值越高,顏色也不會完全消失爲新顏色。我認爲問題是由着色器工作的準確性造成的。 任何人都有一個想法如何提高準確性?
編輯: 難道這種效果是依賴於驅動程序嗎?我正在使用最新驅動程序的ATI,也許有人可以嘗試NVIDIA卡上的代碼?
通常情況下,通過在所有應用混合的情況下渲染四邊形來完成屏幕的淡出。 – 2013-02-10 19:19:26
@NicolBolas無論如何,它看起來像是一個後效果傳球。 – 2013-02-10 19:20:07
@NicolBolas我也試過在所有東西上使用四元組,但問題仍然出現。 – Ranking 2013-02-10 21:16:38