Its the standard compositor script from the examples and alle standard programs as well.[...]
11-29 21:14:31.478: I/OGRE(10350): Vertex Program:Ogre/Compositor/StdQuad_Tex2a_GLSLES_vp Fragment Program:BrightBloom2_ps20_glsles
11-29 21:14:31.478: I/OGRE(10350): GLSL link result :
11-29 21:14:31.478: I/OGRE(10350): L0008 Varying 'uv0' not found in vertex shader
11-29 21:14:31.478: I/OGRE(10350): Vertex Program:Ogre/Compositor/StdQuad_Tex2a_GLSLES_vp Fragment Program:BrightBloom2_ps20_glsles
11-29 21:14:31.478: I/OGRE(10350): GLSL validation result :
11-29 21:14:31.478: I/OGRE(10350): L0008 Varying 'uv0' not found in vertex shader
11-29 21:14:31.478: I/OGRE(10350): Validate: Program is not successfully linked
[...]
Just change uv0 to oUv0 in BrightBloom2_ps20.glsles. This is because the Ogre/Compositor/StdQuad_Tex2a_vp vertex-shader is used for linking and the varying was renamed in this shader.
Code: Select all
#version 100
precision mediump int;
precision mediump float;
//-------------------------------
//BrightBloom_ps20.glsles
// High-pass filter for obtaining luminance
// We use an approximation formula that is pretty fast:
// f(x) = ( -3 * ( x - 1 )^2 + 1 ) * 2
// Color += Grayscale( f(Color) ) + 0.6
//
// Special thanks to ATI for their great HLSL2GLSL utility
// http://sourceforge.net/projects/hlsl2glsl
//-------------------------------
uniform sampler2D RT;
varying vec2 oUv0;
void main()
{
vec4 tex;
vec4 bright4;
float bright;
tex = texture2D(RT, oUv0);
tex -= 1.00000;
bright4 = -6.00000 * tex * tex + 2.00000;
bright = dot( bright4, vec4( 0.333333, 0.333333, 0.333333, 0.000000) );
tex += (bright + 0.600000);
gl_FragColor = tex;
}