1

誰かが私を正しい方向に向けて、GL ES 2.0で実行されるこれと同様の効果を作成できますか?

.vert

uniform vec2 uAberrationOffset; 

void main() {
    gl_TexCoord[0] = gl_MultiTexCoord0;
    gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;
}

.frag

uniform sampler2DRect baseTex; 
uniform vec2 uAberrationOffset; 

void main() {


vec4 coords = gl_TexCoord[0];

// baseTex is FBO of screen (1280x800 -> non-square)
// offset red
vec4 fbo1 = texture2DRect(baseTex, coords.xy - uAberrationOffset);  
// keep green where it is
vec4 fbo2 = texture2DRect(baseTex, coords.xy);  
// offset blue
vec4 fbo3 = texture2DRect(baseTex, coords.xy + uAberrationOffset);  

// FBO channels mixed (incl. offsets)
vec4 colFinal = vec4(fbo1.r, fbo2.g, fbo3.b, 1.);

// Output final pixel color
gl_FragColor = colFinal;
}
4

1 に答える 1