Workbench 53.15, Kickstart 53.89 Saturday 05/12/2018 8:59 AM Memory Installed: 2,147,479,552 Free: 2,017,894,400 4/0.RAM Disk:> copy "NO NAME:neverball" work:neverball/neverball_gl4es 4/0.RAM Disk:> cd work:neverball/ 4/0.Work:neverball> neverball_gl4es LIBGL: Initialising gl4es LIBGL: v1.0.7 built on May 11 2018 14:16:53 LIBGL: Using GLES 2.0 backend LIBGL: OGLES2 Library and Interface open successfuly LIBGL: Hardware test disabled, nothing activated... LIBGL: Targeting OpenGL 2.0 LIBGL: Forcing NPOT support by disabling MIPMAP support for NPOT textures LIBGL: Current folder is:Work:neverball Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; varying vec2 _gl4es_TexCoord_0; void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_Color; _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; 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 vec2 _gl4es_TexCoord_0; void main() { gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_Color; _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; 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; gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; 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; gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; varying vec2 _gl4es_TexCoord_0; void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_Color; _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; 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 vec2 _gl4es_TexCoord_0; void main() { gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_Color; _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; 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; gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; 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; gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontMaterial.emission; Color += gl_Color*gl_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = gl_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = gl_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = gl_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelParameters { vec4 ambient; }; uniform _gl4es_LightModelParameters _gl4es_LightModel; struct _gl4es_MaterialParameters { vec4 emission; vec4 ambient; vec4 diffuse; vec4 specular; float shininess; }; uniform _gl4es_MaterialParameters _gl4es_FrontMaterial; uniform _gl4es_MaterialParameters _gl4es_BackMaterial; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontMaterial.emission; Color += _gl4es_Color*_gl4es_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontMaterial.emission; Color += gl_Color*gl_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = gl_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = gl_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = gl_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelParameters { vec4 ambient; }; uniform _gl4es_LightModelParameters _gl4es_LightModel; struct _gl4es_MaterialParameters { vec4 emission; vec4 ambient; vec4 diffuse; vec4 specular; float shininess; }; uniform _gl4es_MaterialParameters _gl4es_FrontMaterial; uniform _gl4es_MaterialParameters _gl4es_BackMaterial; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontMaterial.emission; Color += _gl4es_Color*_gl4es_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tcoor; tmp_tcoor=vec4(0., 0., 0., 1.); vec3 tmpsphere = reflect(normalize(vertex.xyz), normal); tmpsphere.z+=1.0; tmpsphere.xy = tmpsphere.xy*(0.5*inversesqrt(dot(tmpsphere, tmpsphere))) + vec2(0.5);tmp_tcoor.x=tmpsphere.x; tmp_tcoor.y=tmpsphere.y; _gl4es_TexCoord_0 = tmp_tcoor.xy / tmp_tcoor.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tcoor; tmp_tcoor=vec4(0., 0., 0., 1.); vec3 tmpsphere = reflect(normalize(vertex.xyz), normal); tmpsphere.z+=1.0; tmpsphere.xy = tmpsphere.xy*(0.5*inversesqrt(dot(tmpsphere, tmpsphere))) + vec2(0.5);tmp_tcoor.x=tmpsphere.x; tmp_tcoor.y=tmpsphere.y; _gl4es_TexCoord_0 = tmp_tcoor.xy / tmp_tcoor.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_Color; _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #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; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_Color; _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_Color; } : (FPEShader generated) New Shader source: #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; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_Color; } Shader source// FPE_Shader generated varying vec4 Color; varying mediump float clippedvertex_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying mediump float clippedvertex_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontMaterial.emission; Color += gl_Color*gl_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = gl_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = gl_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = gl_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelParameters { vec4 ambient; }; uniform _gl4es_LightModelParameters _gl4es_LightModel; struct _gl4es_MaterialParameters { vec4 emission; vec4 ambient; vec4 diffuse; vec4 specular; float shininess; }; uniform _gl4es_MaterialParameters _gl4es_FrontMaterial; uniform _gl4es_MaterialParameters _gl4es_BackMaterial; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontMaterial.emission; Color += _gl4es_Color*_gl4es_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontMaterial.emission; Color += gl_Color*gl_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = gl_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = gl_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = gl_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelParameters { vec4 ambient; }; uniform _gl4es_LightModelParameters _gl4es_LightModel; struct _gl4es_MaterialParameters { vec4 emission; vec4 ambient; vec4 diffuse; vec4 specular; float shininess; }; uniform _gl4es_MaterialParameters _gl4es_FrontMaterial; uniform _gl4es_MaterialParameters _gl4es_BackMaterial; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontMaterial.emission; Color += _gl4es_Color*_gl4es_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tcoor; tmp_tcoor=vec4(0., 0., 0., 1.); vec3 tmpsphere = reflect(normalize(vertex.xyz), normal); tmpsphere.z+=1.0; tmpsphere.xy = tmpsphere.xy*(0.5*inversesqrt(dot(tmpsphere, tmpsphere))) + vec2(0.5);tmp_tcoor.x=tmpsphere.x; tmp_tcoor.y=tmpsphere.y; _gl4es_TexCoord_0 = tmp_tcoor.xy / tmp_tcoor.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tcoor; tmp_tcoor=vec4(0., 0., 0., 1.); vec3 tmpsphere = reflect(normalize(vertex.xyz), normal); tmpsphere.z+=1.0; tmpsphere.xy = tmpsphere.xy*(0.5*inversesqrt(dot(tmpsphere, tmpsphere))) + vec2(0.5);tmp_tcoor.x=tmpsphere.x; tmp_tcoor.y=tmpsphere.y; _gl4es_TexCoord_0 = tmp_tcoor.xy / tmp_tcoor.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_3; varying mediump float clippedvertex_3; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; uniform highp mat4 _gl4es_TextureMatrix_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_3 = dot(vertex, _gl4es_ClipPlane_3); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tex; tmp_tex = (_gl4es_TextureMatrix_0 * gl_MultiTexCoord0); _gl4es_TexCoord_0 = tmp_tex.xy / tmp_tex.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_3; varying mediump float clippedvertex_3; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; uniform highp mat4 _gl4es_TextureMatrix_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_3 = dot(vertex, _gl4es_ClipPlane_3); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tex; tmp_tex = (_gl4es_TextureMatrix_0 * _gl4es_MultiTexCoord0); _gl4es_TexCoord_0 = tmp_tex.xy / tmp_tex.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_3; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_3))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_3; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_3))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; VP = _gl4es_LightSource_0.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_0.constantAttenuation + lVP*(_gl4es_LightSource_0.linearAttenuation + _gl4es_LightSource_0.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); VP = _gl4es_LightSource_1.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_1.constantAttenuation + lVP*(_gl4es_LightSource_1.linearAttenuation + _gl4es_LightSource_1.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_Color; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; // FPE_Shader generated varying vec4 Color; void main() { gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_Color; } Shader source// FPE_Shader generated varying vec4 Color; void main() { vec4 fColor = Color; gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; void main() { vec4 fColor = Color; gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontMaterial.emission; Color += gl_Color*gl_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = gl_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = gl_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = gl_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelParameters { vec4 ambient; }; uniform _gl4es_LightModelParameters _gl4es_LightModel; struct _gl4es_MaterialParameters { vec4 emission; vec4 ambient; vec4 diffuse; vec4 specular; float shininess; }; uniform _gl4es_MaterialParameters _gl4es_FrontMaterial; uniform _gl4es_MaterialParameters _gl4es_BackMaterial; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontMaterial.emission; Color += _gl4es_Color*_gl4es_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontMaterial.emission; Color += gl_Color*gl_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = gl_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = gl_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = gl_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelParameters { vec4 ambient; }; uniform _gl4es_LightModelParameters _gl4es_LightModel; struct _gl4es_MaterialParameters { vec4 emission; vec4 ambient; vec4 diffuse; vec4 specular; float shininess; }; uniform _gl4es_MaterialParameters _gl4es_FrontMaterial; uniform _gl4es_MaterialParameters _gl4es_BackMaterial; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontMaterial.emission; Color += _gl4es_Color*_gl4es_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tcoor; tmp_tcoor=vec4(0., 0., 0., 1.); vec3 tmpsphere = reflect(normalize(vertex.xyz), normal); tmpsphere.z+=1.0; tmpsphere.xy = tmpsphere.xy*(0.5*inversesqrt(dot(tmpsphere, tmpsphere))) + vec2(0.5);tmp_tcoor.x=tmpsphere.x; tmp_tcoor.y=tmpsphere.y; _gl4es_TexCoord_0 = tmp_tcoor.xy / tmp_tcoor.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tcoor; tmp_tcoor=vec4(0., 0., 0., 1.); vec3 tmpsphere = reflect(normalize(vertex.xyz), normal); tmpsphere.z+=1.0; tmpsphere.xy = tmpsphere.xy*(0.5*inversesqrt(dot(tmpsphere, tmpsphere))) + vec2(0.5);tmp_tcoor.x=tmpsphere.x; tmp_tcoor.y=tmpsphere.y; _gl4es_TexCoord_0 = tmp_tcoor.xy / tmp_tcoor.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_0; varying mediump float clippedvertex_0; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_0 = dot(vertex, _gl4es_ClipPlane_0); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_0; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_0))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontMaterial.emission; Color += gl_Color*gl_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = gl_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = gl_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = gl_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelParameters { vec4 ambient; }; uniform _gl4es_LightModelParameters _gl4es_LightModel; struct _gl4es_MaterialParameters { vec4 emission; vec4 ambient; vec4 diffuse; vec4 specular; float shininess; }; uniform _gl4es_MaterialParameters _gl4es_FrontMaterial; uniform _gl4es_MaterialParameters _gl4es_BackMaterial; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontMaterial.emission; Color += _gl4es_Color*_gl4es_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontMaterial.emission; Color += gl_Color*gl_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = gl_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = gl_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * gl_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, gl_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = gl_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelParameters { vec4 ambient; }; uniform _gl4es_LightModelParameters _gl4es_LightModel; struct _gl4es_MaterialParameters { vec4 emission; vec4 ambient; vec4 diffuse; vec4 specular; float shininess; }; uniform _gl4es_MaterialParameters _gl4es_FrontMaterial; uniform _gl4es_MaterialParameters _gl4es_BackMaterial; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontMaterial.emission; Color += _gl4es_Color*_gl4es_LightModel.ambient; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_Color.xyz * _gl4es_LightSource_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_Color.xyz * _gl4es_LightSource_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_Color.xyz * _gl4es_LightSource_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial.shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_Color.a; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tcoor; tmp_tcoor=vec4(0., 0., 0., 1.); vec3 tmpsphere = reflect(normalize(vertex.xyz), normal); tmpsphere.z+=1.0; tmpsphere.xy = tmpsphere.xy*(0.5*inversesqrt(dot(tmpsphere, tmpsphere))) + vec2(0.5);tmp_tcoor.x=tmpsphere.x; tmp_tcoor.y=tmpsphere.y; _gl4es_TexCoord_0 = tmp_tcoor.xy / tmp_tcoor.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tcoor; tmp_tcoor=vec4(0., 0., 0., 1.); vec3 tmpsphere = reflect(normalize(vertex.xyz), normal); tmpsphere.z+=1.0; tmpsphere.xy = tmpsphere.xy*(0.5*inversesqrt(dot(tmpsphere, tmpsphere))) + vec2(0.5);tmp_tcoor.x=tmpsphere.x; tmp_tcoor.y=tmpsphere.y; _gl4es_TexCoord_0 = tmp_tcoor.xy / tmp_tcoor.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_3; varying mediump float clippedvertex_3; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; uniform highp mat4 _gl4es_TextureMatrix_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); clippedvertex_3 = dot(vertex, _gl4es_ClipPlane_3); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tex; tmp_tex = (_gl4es_TextureMatrix_0 * gl_MultiTexCoord0); _gl4es_TexCoord_0 = tmp_tex.xy / tmp_tex.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; uniform highp vec4 _gl4es_ClipPlane_3; varying mediump float clippedvertex_3; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; uniform highp mat4 _gl4es_TextureMatrix_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); clippedvertex_3 = dot(vertex, _gl4es_ClipPlane_3); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); vec4 tmp_tex; tmp_tex = (_gl4es_TextureMatrix_0 * _gl4es_MultiTexCoord0); _gl4es_TexCoord_0 = tmp_tex.xy / tmp_tex.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_3; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_3))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; varying mediump float clippedvertex_3; varying vec2 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { if((min(0., clippedvertex_3))<0.) discard; vec4 fColor = Color; vec4 texColor0 = texture2D(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } Shader source// FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = normalize(gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = gl_MultiTexCoord0.xy / gl_MultiTexCoord0.q; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; struct _gl4es_LightModelProducts { vec4 sceneColor; }; uniform _gl4es_LightModelProducts _gl4es_FrontLightModelProduct; uniform _gl4es_LightModelProducts _gl4es_BackLightModelProduct; // FPE_Shader generated varying vec4 Color; struct _gl4es_FPELightSourceParameters1 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; highp float constantAttenuation; highp float linearAttenuation; highp float quadraticAttenuation; }; struct _gl4es_FPELightSourceParameters0 { highp vec4 specular; highp vec4 position; highp vec3 spotDirection; highp float spotExponent; highp float spotCosCutoff; }; struct _gl4es_LightProducts { highp vec4 ambient; highp vec4 diffuse; highp vec4 specular; }; uniform highp float _gl4es_FrontMaterial_shininess; uniform highp float _gl4es_FrontMaterial_alpha; uniform highp float _gl4es_BackMaterial_alpha; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; varying vec4 SecColor; varying vec2 _gl4es_TexCoord_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = normalize(_gl4es_NormalMatrix * _gl4es_Normal); gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; SecColor=vec4(0.); highp float att; highp float spot; highp vec3 VP; highp float lVP; highp float nVP; highp vec3 aa,dd,ss; highp vec3 hi; att = 1.0; VP = normalize(_gl4es_LightSource_0.position.xyz); aa = _gl4es_FrontLightProduct_0.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_0.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); att = 1.0; VP = normalize(_gl4es_LightSource_1.position.xyz); aa = _gl4es_FrontLightProduct_1.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_1.diffuse.xyz):vec3(0.); hi = normalize(VP + normalize(-vertex.xyz)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(pow(lVP, _gl4es_FrontMaterial_shininess)*_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd); SecColor.rgb += att*(ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); SecColor.rgb = clamp(SecColor.rgb, 0., 1.); _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.xy / _gl4es_MultiTexCoord0.q; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 SecColor; 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; fColor.rgb += (SecColor).rgb; fColor.rgb = clamp(fColor.rgb, 0., 1.); gl_FragColor = fColor; } LIBGL: OGLES2 Library and Interface closed 4/0.Work:neverball>