@Hans
With new rebuild from Huno with latest gl4es i was able to catch shaders which is used in the level where we have those strange lines/dots on the walls and on floor.
There just 5 pairs of shaders, they all generated right once i load level (all 5 pairs), and then while you play in level no shaders generated anymore.
So, there they are:
pair1 :
vertex one:
#version 100
precision mediump float;
precision mediump int;
uniform highp mat4 _gl4es_ModelViewMatrix;
uniform highp mat4 _gl4es_ModelViewProjectionMatrix;
attribute highp vec4 _gl4es_Vertex;
attribute lowp vec4 _gl4es_Color;
attribute highp vec4 _gl4es_MultiTexCoord0;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
void main() {
vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex;
gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex;
Color = _gl4es_Color;
_gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q;
}
fragment one:
#version 100
precision mediump float;
precision mediump int;
struct _gl4es_FogParameters {
vec4 color;
float density;
float start;
float end;
float scale;
};
uniform _gl4es_FogParameters _gl4es_Fog;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
uniform sampler2D _gl4es_TexSampler_0;
void main() {
vec4 fColor = Color;
vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0);
fColor.rgb *= texColor0.rgb;
float fog_c = abs(vertex.z);
float FogF = clamp(exp(-_gl4es_Fog.density * fog_c), 0., 1.);
fColor.rgb = mix(_gl4es_Fog.color.rgb, fColor.rgb, FogF);
gl_FragColor = fColor;
}
pair2 :
vertex one:
#version 100
precision mediump float;
precision mediump int;
uniform highp mat4 _gl4es_ModelViewMatrix;
uniform highp mat4 _gl4es_ModelViewProjectionMatrix;
attribute highp vec4 _gl4es_Vertex;
attribute lowp vec4 _gl4es_Color;
attribute highp vec4 _gl4es_MultiTexCoord0;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
void main() {
vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex;
gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex;
Color = _gl4es_Color;
_gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q;
}
fragment one:
#version 100
precision mediump float;
precision mediump int;
struct _gl4es_FogParameters {
vec4 color;
float density;
float start;
float end;
float scale;
};
uniform _gl4es_FogParameters _gl4es_Fog;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
uniform sampler2D _gl4es_TexSampler_0;
void main() {
vec4 fColor = Color;
vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0);
fColor.rgb *= texColor0.rgb;
float fog_c = abs(vertex.z);
float FogF = clamp((_gl4es_Fog.end - fog_c) * _gl4es_Fog.scale, 0., 1.);
fColor.rgb = mix(_gl4es_Fog.color.rgb, fColor.rgb, FogF);
gl_FragColor = fColor;
}
pair3 :
vertex one:
#version 100
precision mediump float;
precision mediump int;
uniform highp mat4 _gl4es_ModelViewMatrix;
uniform highp mat4 _gl4es_ModelViewProjectionMatrix;
attribute highp vec4 _gl4es_Vertex;
attribute lowp vec4 _gl4es_Color;
attribute highp vec4 _gl4es_MultiTexCoord0;
attribute highp vec4 _gl4es_MultiTexCoord1;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
varying vec2 _gl4es_TexCoord_1;
void main() {
vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex;
gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex;
Color = _gl4es_Color;
_gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q;
_gl4es_TexCoord_1 = _gl4es_MultiTexCoord1.xy / _gl4es_MultiTexCoord1.q;
}
fragment one:
#version 100
precision mediump float;
precision mediump int;
struct _gl4es_FogParameters {
vec4 color;
float density;
float start;
float end;
float scale;
};
uniform _gl4es_FogParameters _gl4es_Fog;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
uniform sampler2D _gl4es_TexSampler_0;
varying vec2 _gl4es_TexCoord_1;
uniform sampler2D _gl4es_TexSampler_1;
void main() {
vec4 fColor = Color;
vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0);
vec4 texColor1 = texture2D(_gl4es_TexSampler_1, _gl4es_TexCoord_1);
fColor.rgb *= texColor0.rgb;
fColor.rgb *= texColor1.rgb;
float fog_c = abs(vertex.z);
float FogF = clamp(exp(-_gl4es_Fog.density * fog_c), 0., 1.);
fColor.rgb = mix(_gl4es_Fog.color.rgb, fColor.rgb, FogF);
gl_FragColor = fColor;
}
pair4 :
vertex one:
#version 100
precision mediump float;
precision mediump int;
uniform highp mat4 _gl4es_ModelViewMatrix;
uniform highp mat4 _gl4es_ModelViewProjectionMatrix;
attribute highp vec4 _gl4es_Vertex;
attribute lowp vec4 _gl4es_Color;
attribute highp vec4 _gl4es_MultiTexCoord0;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
void main() {
vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex;
gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex;
Color = _gl4es_Color;
_gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q;
}
fragment one:
#version 100
precision mediump float;
precision mediump int;
struct _gl4es_FogParameters {
vec4 color;
float density;
float start;
float end;
float scale;
};
uniform _gl4es_FogParameters _gl4es_Fog;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
uniform sampler2D _gl4es_TexSampler_0;
void main() {
vec4 fColor = Color;
vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0);
fColor *= texColor0;
float fog_c = abs(vertex.z);
float FogF = clamp(exp(-_gl4es_Fog.density * fog_c), 0., 1.);
fColor.rgb = mix(_gl4es_Fog.color.rgb, fColor.rgb, FogF);
gl_FragColor = fColor;
}
pair5 :
vertex one:
#version 100
precision mediump float;
precision mediump int;
uniform highp mat4 _gl4es_ModelViewMatrix;
uniform highp mat4 _gl4es_ModelViewProjectionMatrix;
attribute highp vec4 _gl4es_Vertex;
attribute lowp vec4 _gl4es_Color;
attribute highp vec4 _gl4es_MultiTexCoord0;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
void main() {
vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex;
gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex;
Color = _gl4es_Color;
_gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q;
}
fragment one:
#version 100
precision mediump float;
precision mediump int;
struct _gl4es_FogParameters {
vec4 color;
float density;
float start;
float end;
float scale;
};
uniform _gl4es_FogParameters _gl4es_Fog;
// FPE_Shader generated
varying vec4 Color;
varying vec4 vertex;
varying vec2 _gl4es_TexCoord_0;
uniform sampler2D _gl4es_TexSampler_0;
uniform float _gl4es_AlphaRef;
void main() {
vec4 fColor = Color;
vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0);
fColor *= texColor0;
if (floor(fColor.a*255.) < _gl4es_AlphaRef) discard;
float fog_c = abs(vertex.z);
float FogF = clamp(exp(-_gl4es_Fog.density * fog_c), 0., 1.);
fColor.rgb = mix(_gl4es_Fog.color.rgb, fColor.rgb, FogF);
gl_FragColor = fColor;
}
Vertex ones almost all the time the same (in case 1,2, 4 and 5), only from pair3 its a bit different (2 multitexcoords used).
But fragment ones always different , almost same by logic, but still different by values and stuff.
Probabaly one of those fragment ones can cause those issues ?