I had been using a dated OGRE3D branch 1.9 for IOS and Android, and recently refreshed it due to the release of RC1. After ironing out some rough edges, this last one persists.
Extracted log:
The program that causes this (dumped via log):06-07 21:27:29.078: I/OGRE(8260): GLSL ES compile log: RTSS_75_VS
06-07 21:27:29.078: I/OGRE(8260): Compile failed.
06-07 21:27:29.078: I/OGRE(8260): ERROR: 0:60: 'FFP_TransformTexCoord' : no matching overloaded function found
06-07 21:27:29.078: I/OGRE(8260): ERROR: 1 compilation errors. No code generated.
06-07 21:27:29.078: I/OGRE(8260): GLSL ES compile log: RTSS_75_VS
06-07 21:27:29.063: I/OGRE(8260): #version 100
06-07 21:27:29.063: I/OGRE(8260): precision highp float;
06-07 21:27:29.063: I/OGRE(8260): precision highp int;
06-07 21:27:29.063: I/OGRE(8260): void FFP_Assign(in vec2 vIn, out vec2 vOut)
06-07 21:27:29.063: I/OGRE(8260): {
06-07 21:27:29.063: I/OGRE(8260): vOut = vIn;
06-07 21:27:29.063: I/OGRE(8260): }
06-07 21:27:29.063: I/OGRE(8260): void FFP_Construct(in float r, in float g, in float b, in float a, out vec4 vOut)
06-07 21:27:29.063: I/OGRE(8260): {
06-07 21:27:29.063: I/OGRE(8260): vOut = vec4(r,g,b,a);
06-07 21:27:29.063: I/OGRE(8260): }
06-07 21:27:29.063: I/OGRE(8260): void FFP_Transform(in mat4 m, in vec4 v, out vec4 vOut)
06-07 21:27:29.063: I/OGRE(8260): {
06-07 21:27:29.063: I/OGRE(8260): vOut = m * v;
06-07 21:27:29.063: I/OGRE(8260): }
06-07 21:27:29.063: I/OGRE(8260): uniform mat4 worldviewproj_matrix;
06-07 21:27:29.063: I/OGRE(8260): uniform float light_custom1;
06-07 21:27:29.063: I/OGRE(8260): attribute vec4 vertex;
06-07 21:27:29.063: I/OGRE(8260): attribute vec4 uv0;
06-07 21:27:29.063: I/OGRE(8260): varying vec2 oTexcoord2_0;
06-07 21:27:29.063: I/OGRE(8260): varying vec2 oTexcoord2_1;
06-07 21:27:29.063: I/OGRE(8260): void main() {
06-07 21:27:29.063: I/OGRE(8260): vec4 outputPosition;
06-07 21:27:29.063: I/OGRE(8260): vec4 lLocalParam_0;
06-07 21:27:29.063: I/OGRE(8260): vec4 lLocalParam_1;
06-07 21:27:29.063: I/OGRE(8260): FFP_Transform(worldviewproj_matrix, vertex, outputPosition);
06-07 21:27:29.063: I/OGRE(8260): FFP_Construct(1.0, 1.0, 1.0, 1.0, lLocalParam_0);
06-07 21:27:29.063: I/OGRE(8260): FFP_Construct(0.0, 0.0, 0.0, 0.0, lLocalParam_1);
06-07 21:27:29.063: I/OGRE(8260): FFP_Assign(uv0.xy, oTexcoord2_0);
06-07 21:27:29.063: I/OGRE(8260): FFP_TransformTexCoord(light_custom1, uv0.xy, oTexcoord2_1);
06-07 21:27:29.063: I/OGRE(8260): gl_Position = outputPosition;
06-07 21:27:29.063: I/OGRE(8260): }
These are the available FFP_TransformTexCoord functions defined in FFPLib_Texturing.glsles
I am not familiar with the GLSL but it seems FFP_TransformTexCoord(light_custom1, uv0.xy, oTexcoord2_1), with light_custom1 == float, cannot be supported?//-----------------------------------------------------------------------------
void FFP_TransformTexCoord(in mat4 m, in vec2 v, out vec2 vOut)
{
vOut = (m * vec4(v, 1.0, 1.0)).xy;
}
//-----------------------------------------------------------------------------
void FFP_TransformTexCoord(in mat4 m, in vec4 v, out vec2 vOut)
{
vOut = (m * v).xy;
}
//-----------------------------------------------------------------------------
void FFP_TransformTexCoord(in mat4 m, in vec3 v, out vec3 vOut)
{
vOut = (m * vec4(v, 1.0)).xyz;
}
Any suggestion on how to resolve this will be appreciated. Thanks!