3/0.Work:games/ScummVM_2_6_0_beta_2021_12_23> scummvm_before_glad LIBGL: Initialising gl4es LIBGL: v1.1.5 built on Feb 24 2022 17:19:22 LIBGL: Using GLES 2.0 backend LIBGL: Using Warp3DNova.library v54 revision 13 LIBGL: Using OGLES2.library v3 revision 2 LIBGL: OGLES2 Library and Interface open successfuly LIBGL: Targeting OpenGL 2.1 LIBGL: NPOT texture handled in hardware LIBGL: Not trying to batch small subsequent glDrawXXXX LIBGL: try to use VBO LIBGL: Force texture for Attachment color0 on FBO LIBGL: Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done Log to the console all shaders before and after conversion: Before After Vertex Fragment LIBGL: Current folder is:Work:games/ScummVM_2_6_0_beta_2021_12_23 Using SDL Video Driver "os4" LIBGL: Hardware test on current Context... LIBGL: Hardware Full NPOT detected and used LIBGL: Extension GL_EXT_blend_minmax detected and used LIBGL: FBO are in core, and so used LIBGL: PointSprite are in core, and so used LIBGL: CubeMap are in core, and so used LIBGL: BlendColor is in core, and so used LIBGL: Blend Substract is in core, and so used LIBGL: Blend Function and Equation Separation is in core, and so used LIBGL: Texture Mirrored Repeat is in core, and so used LIBGL: Extension GL_OES_mapbuffer detected LIBGL: Extension GL_OES_element_index_uint detected and used LIBGL: Extension GL_OES_packed_depth_stencil detected and used LIBGL: Extension GL_EXT_texture_format_BGRA8888 detected and used LIBGL: Extension GL_OES_texture_float detected and used LIBGL: Extension GL_AOS4_texture_format_RGB332 detected LIBGL: Extension GL_AOS4_texture_format_RGB332REV detected LIBGL: Extension GL_AOS4_texture_format_RGBA1555REV detected and used LIBGL: Extension GL_AOS4_texture_format_RGBA8888 detected and used LIBGL: Extension GL_AOS4_texture_format_RGBA8888REV detected and used LIBGL: high precision float in fragment shader available and used LIBGL: Extension GL_EXT_frag_depth detected and used LIBGL: Max vertex attrib: 16 LIBGL: Max texture size: 16384 LIBGL: Max Varying Vector: 32 LIBGL: Texture Units: 2/2 (hardware: 32), Max lights: 8, Max planes: 6 LIBGL: Extension GL_EXT_texture_filter_anisotropic detected and used LIBGL: Max Anisotropic filtering: 16 LIBGL: Max Color Attachments: 1 / Draw buffers: 1 LIBGL: Hardware vendor is A-EON Technology Ltd. Written by Daniel 'Daytona675x' Müßener @ GoldenCode.eu LIBGL: GLSL 300 es supported LIBGL: GLSL 310 es supported and used Invalid joystick: 0 Using SDL Audio Driver "amigaos4" Output sample rate: 44100 Hz Output buffer size: 1024 samples OpenGL maximum texture size: 16384 OpenGL version: 2.1 gl4es wrapper 1.1.5 OpenGL extensions: GL_EXT_abgr GL_MGL_packed_pixels GL_EXT_packed_pixels GL_EXT_compiled_vertex_array GL_EXT_compiled_vertex_arrays GL_ARB_vertex_buffer_object GL_ARB_vertex_array_object GL_ARB_vertex_buffer GL_EXT_vertex_array GL_EXT_secondary_color GL_ARB_multitexture GL_ARB_texture_border_clamp GL_ARB_texture_env_add GL_EXT_texture_env_add GL_ARB_texture_env_combine GL_EXT_texture_env_combine GL_ARB_texture_env_crossbar GL_EXT_texture_env_crossbar GL_ARB_texture_env_dot3 GL_EXT_texture_env_dot3 GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_EXT_bgra GL_ARB_texture_compression GL_EXT_texture_compression_s3tc GL_OES_texture_compression_S3TC GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_dxt3 GL_EXT_texture_compression_dxt5 GL_ARB_point_parameters GL_EXT_point_parameters GL_EXT_stencil_wrap GL_SGIS_texture_edge_clamp GL_EXT_texture_edge_clamp GL_EXT_direct_state_access GL_EXT_multi_draw_arrays GL_SUN_multi_draw_arrays GL_ARB_multisample GL_EXT_texture_object GL_EXT_polygon_offset GL_GL4ES_hint GL_ARB_draw_elements_base_vertex GL_EXT_draw_elements_base_vertex GL_ARB_map_buffer_range GL_NV_blend_square GL_ARB_texture_rectangle GL_APPLE_texture_2D_limited_npot GL_ARB_texture_non_power_of_two GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_subtract GL_EXT_texture_filter_anisotropic GL_ARB_texture_mirrored_repeat GL_ARB_framebuffer_object GL_EXT_framebuffer_object GL_EXT_packed_depth_stencil GL_EXT_framebuffer_blit GL_ARB_draw_buffers GL_EXT_draw_buffers2 GL_ARB_point_sprite GL_ARB_texture_cube_map GL_EXT_texture_cube_map GL_EXT_texture_float GL_ARB_texture_float GL_EXT_fog_coord GL_EXT_separate_specular_color GL_EXT_rescale_normal GL_ARB_ES2_compatibility GL_ARB_fragment_shader GL_ARB_vertex_shader GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ATI_texture_env_combine3 GL_ATIX_texture_env_route GL_NV_texture_env_combine4 GL_NV_fog_distance GL_ARB_draw_instanced GL_ARB_instanced_arrays GL_ARB_vertex_program GL_ARB_fragment_program GL_EXT_program_parameters GL_ARB_get_program_binary OpenGL: GL context initialized GLSL version: 1.20 via gl4es OpenGL vendor: ptitSeb OpenGL renderer: GL4ES wrapper OpenGL: NPOT texture support: 1 OpenGL: Shader support: 1 OpenGL: Multitexture support: 1 OpenGL: FBO support: 1 OpenGL: Packed pixels support: 1 OpenGL: Texture edge clamping support: 1 Shader source#version 110 #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif attribute vec4 position; attribute vec2 texCoordIn; attribute vec4 blendColorIn; uniform mat4 projection; varying vec2 texCoord; varying vec4 blendColor; void main(void) { texCoord = texCoordIn; blendColor = blendColorIn; gl_Position = projection * position; } : New Shader source: #version 100 precision highp float; precision highp int; #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif attribute vec4 position; attribute vec2 texCoordIn; attribute vec4 blendColorIn; uniform mat4 projection; varying vec2 texCoord; varying vec4 blendColor; void main(void) { texCoord = texCoordIn; blendColor = blendColorIn; gl_Position = projection * position; } Shader source#version 110 #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif varying vec2 texCoord; varying vec4 blendColor; uniform sampler2D shaderTexture; void main(void) { gl_FragColor = blendColor * texture2D(shaderTexture, texCoord); } : New Shader source: #version 100 precision highp float; precision highp int; #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif varying vec2 texCoord; varying vec4 blendColor; uniform sampler2D shaderTexture; void main(void) { gl_FragColor = blendColor * texture2D(shaderTexture, texCoord); } Shader source#version 110 #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif attribute vec4 position; attribute vec2 texCoordIn; attribute vec4 blendColorIn; uniform mat4 projection; varying vec2 texCoord; varying vec4 blendColor; void main(void) { texCoord = texCoordIn; blendColor = blendColorIn; gl_Position = projection * position; } : New Shader source: #version 100 precision highp float; precision highp int; #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif attribute vec4 position; attribute vec2 texCoordIn; attribute vec4 blendColorIn; uniform mat4 projection; varying vec2 texCoord; varying vec4 blendColor; void main(void) { texCoord = texCoordIn; blendColor = blendColorIn; gl_Position = projection * position; } Shader source#version 110 #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif varying vec2 texCoord; varying vec4 blendColor; uniform sampler2D shaderTexture; uniform sampler2D palette; const float adjustFactor = 255.0 / 256.0 + 1.0 / (2.0 * 256.0); void main(void) { vec4 index = texture2D(shaderTexture, texCoord); gl_FragColor = blendColor * texture2D(palette, vec2(index.a * adjustFactor, 0.0)); } : New Shader source: #version 100 precision highp float; precision highp int; #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif varying vec2 texCoord; varying vec4 blendColor; uniform sampler2D shaderTexture; uniform sampler2D palette; const float adjustFactor = 255.000 / 256.000 + 1.00000 / (2.00000 * 256.000); void main(void) { vec4 index = texture2D(shaderTexture, texCoord); gl_FragColor = blendColor * texture2D(palette, vec2(index.a * adjustFactor, 0.00000)); } dpi: 90 default: 90 Setting 1315 x 729 -> 1315 x 729 -- 1 GUI: Loaded icon file: gui-icons.dat WARNING: SearchSet::add: archive 'gui-icons.dat' already present! GUI: Loaded icon file: gui-icons.dat HardwareInput with ID 'JOY_START' not known HardwareInput with ID 'JOY_LEFT_STICK_Y-' not known HardwareInput with ID 'JOY_LEFT_STICK_Y+' not known HardwareInput with ID 'JOY_LEFT_STICK_X-' not known HardwareInput with ID 'JOY_LEFT_STICK_X+' not known HardwareInput with ID 'JOY_RIGHT_SHOULDER' not known HardwareInput with ID 'JOY_A' not known HardwareInput with ID 'JOY_Y' not known HardwareInput with ID 'JOY_UP' not known HardwareInput with ID 'JOY_DOWN' not known HardwareInput with ID 'JOY_LEFT' not known HardwareInput with ID 'JOY_RIGHT' not known dpi: 90 default: 90 Setting 1315 x 729 -> 1315 x 729 -- 1 User picked target 'grim-win' (engine ID 'grim', game ID 'grim')... Looking for a plugin supporting this target... Grim OpenGL maximum texture size: 16384 OpenGL version: 2.1 gl4es wrapper 1.1.5 OpenGL extensions: GL_EXT_abgr GL_MGL_packed_pixels GL_EXT_packed_pixels GL_EXT_compiled_vertex_array GL_EXT_compiled_vertex_arrays GL_ARB_vertex_buffer_object GL_ARB_vertex_array_object GL_ARB_vertex_buffer GL_EXT_vertex_array GL_EXT_secondary_color GL_ARB_multitexture GL_ARB_texture_border_clamp GL_ARB_texture_env_add GL_EXT_texture_env_add GL_ARB_texture_env_combine GL_EXT_texture_env_combine GL_ARB_texture_env_crossbar GL_EXT_texture_env_crossbar GL_ARB_texture_env_dot3 GL_EXT_texture_env_dot3 GL_SGIS_generate_mipmap GL_EXT_draw_range_elements GL_EXT_bgra GL_ARB_texture_compression GL_EXT_texture_compression_s3tc GL_OES_texture_compression_S3TC GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_dxt3 GL_EXT_texture_compression_dxt5 GL_ARB_point_parameters GL_EXT_point_parameters GL_EXT_stencil_wrap GL_SGIS_texture_edge_clamp GL_EXT_texture_edge_clamp GL_EXT_direct_state_access GL_EXT_multi_draw_arrays GL_SUN_multi_draw_arrays GL_ARB_multisample GL_EXT_texture_object GL_EXT_polygon_offset GL_GL4ES_hint GL_ARB_draw_elements_base_vertex GL_EXT_draw_elements_base_vertex GL_ARB_map_buffer_range GL_NV_blend_square GL_ARB_texture_rectangle GL_APPLE_texture_2D_limited_npot GL_ARB_texture_non_power_of_two GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_subtract GL_EXT_texture_filter_anisotropic GL_ARB_texture_mirrored_repeat GL_ARB_framebuffer_object GL_EXT_framebuffer_object GL_EXT_packed_depth_stencil GL_EXT_framebuffer_blit GL_ARB_draw_buffers GL_EXT_draw_buffers2 GL_ARB_point_sprite GL_ARB_texture_cube_map GL_EXT_texture_cube_map GL_EXT_texture_float GL_ARB_texture_float GL_EXT_fog_coord GL_EXT_separate_specular_color GL_EXT_rescale_normal GL_ARB_ES2_compatibility GL_ARB_fragment_shader GL_ARB_vertex_shader GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ATI_texture_env_combine3 GL_ATIX_texture_env_route GL_NV_texture_env_combine4 GL_NV_fog_distance GL_ARB_draw_instanced GL_ARB_instanced_arrays GL_ARB_vertex_program GL_ARB_fragment_program GL_EXT_program_parameters GL_ARB_get_program_binary OpenGL: GL context initialized GLSL version: 1.20 via gl4es OpenGL vendor: ptitSeb OpenGL renderer: GL4ES wrapper OpenGL: NPOT texture support: 1 OpenGL: Shader support: 1 OpenGL: Multitexture support: 1 OpenGL: FBO support: 1 OpenGL: Packed pixels support: 1 OpenGL: Texture edge clamping support: 1 Shader source#version 110 #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif attribute vec4 position; attribute vec2 texCoordIn; attribute vec4 blendColorIn; uniform mat4 projection; varying vec2 texCoord; varying vec4 blendColor; void main(void) { texCoord = texCoordIn; blendColor = blendColorIn; gl_Position = projection * position; } : New Shader source: #version 100 precision highp float; precision highp int; #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif attribute vec4 position; attribute vec2 texCoordIn; attribute vec4 blendColorIn; uniform mat4 projection; varying vec2 texCoord; varying vec4 blendColor; void main(void) { texCoord = texCoordIn; blendColor = blendColorIn; gl_Position = projection * position; } Shader source#version 110 #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif varying vec2 texCoord; varying vec4 blendColor; uniform sampler2D shaderTexture; void main(void) { gl_FragColor = blendColor * texture2D(shaderTexture, texCoord); } : New Shader source: #version 100 precision highp float; precision highp int; #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif varying vec2 texCoord; varying vec4 blendColor; uniform sampler2D shaderTexture; void main(void) { gl_FragColor = blendColor * texture2D(shaderTexture, texCoord); } Shader source#version 110 #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif attribute vec4 position; attribute vec2 texCoordIn; attribute vec4 blendColorIn; uniform mat4 projection; varying vec2 texCoord; varying vec4 blendColor; void main(void) { texCoord = texCoordIn; blendColor = blendColorIn; gl_Position = projection * position; } : New Shader source: #version 100 precision highp float; precision highp int; #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif attribute vec4 position; attribute vec2 texCoordIn; attribute vec4 blendColorIn; uniform mat4 projection; varying vec2 texCoord; varying vec4 blendColor; void main(void) { texCoord = texCoordIn; blendColor = blendColorIn; gl_Position = projection * position; } Shader source#version 110 #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif varying vec2 texCoord; varying vec4 blendColor; uniform sampler2D shaderTexture; uniform sampler2D palette; const float adjustFactor = 255.0 / 256.0 + 1.0 / (2.0 * 256.0); void main(void) { vec4 index = texture2D(shaderTexture, texCoord); gl_FragColor = blendColor * texture2D(palette, vec2(index.a * adjustFactor, 0.0)); } : New Shader source: #version 100 precision highp float; precision highp int; #ifdef GL_ES #if defined(GL_FRAGMENT_PRECISION_HIGH) && GL_FRAGMENT_PRECISION_HIGH == 1 precision highp float; #else precision mediump float; #endif #else #define highp #define mediump #define lowp #endif varying vec2 texCoord; varying vec4 blendColor; uniform sampler2D shaderTexture; uniform sampler2D palette; const float adjustFactor = 255.000 / 256.000 + 1.00000 / (2.00000 * 256.000); void main(void) { vec4 index = texture2D(shaderTexture, texCoord); gl_FragColor = blendColor * texture2D(palette, vec2(index.a * adjustFactor, 0.00000)); } Running Grim Fandango (Windows/English) VOX0001.LAB: 8b12ed530195c6c577436df27df62ecb, 58011176 bytes. dpi: 90 default: 90 Setting 1315 x 729 -> 1315 x 729 -- 1 HardwareInput with ID 'JOY_UP' not known HardwareInput with ID 'JOY_DOWN' not known HardwareInput with ID 'JOY_LEFT' not known HardwareInput with ID 'JOY_RIGHT' not known HardwareInput with ID 'JOY_RIGHT_SHOULDER' not known HardwareInput with ID 'JOY_X' not known HardwareInput with ID 'JOY_A' not known HardwareInput with ID 'JOY_B' not known HardwareInput with ID 'JOY_Y' not known HardwareInput with ID 'JOY_A' not known HardwareInput with ID 'JOY_B' not known HardwareInput with ID 'JOY_A' not known HardwareInput with ID 'JOY_GUIDE' not known WARNING: VideoTheoraPlayer::initialize - Theora support not compiled in, video will be skipped! switching to OpenGL 3D graphics OpenGL maximum texture size: 16384 OpenGL GLSL version: 120 OpenGL: GL context initialized OpenGL: NPOT texture support: 1 OpenGL: Shader support: 1 OpenGL: FBO support: 1 OpenGL: Packed depth stencil support: 1 OpenGL: Unpack subimage support: 1 INFO: OpenGL Vendor: ptitSeb INFO: OpenGL Renderer: GL4ES wrapper INFO: OpenGL Version: 2.1 gl4es wrapper 1.1.5 INFO: OpenGL Red bits: 8 INFO: OpenGL Green bits: 8 INFO: OpenGL Blue bits: 8 INFO: OpenGL Alpha bits: 8 INFO: OpenGL Z buffer depth bits: 24 INFO: OpenGL Double Buffer: 1 INFO: OpenGL Stencil buffer bits: 8 OpenGL maximum texture size: 16384 OpenGL GLSL version: 120 OpenGL: GL context initialized OpenGL: NPOT texture support: 1 OpenGL: Shader support: 1 OpenGL: FBO support: 1 OpenGL: Packed depth stencil support: 1 OpenGL: Unpack subimage support: 1 INFO: OpenGL Vendor: ptitSeb INFO: OpenGL Renderer: GL4ES wrapper INFO: OpenGL Version: 2.1 gl4es wrapper 1.1.5 INFO: OpenGL Red bits: 8 INFO: OpenGL Green bits: 8 INFO: OpenGL Blue bits: 8 INFO: OpenGL Alpha bits: 8 INFO: OpenGL Z buffer depth bits: 24 INFO: OpenGL Double Buffer: 1 INFO: OpenGL Stencil buffer bits: 8 OpenGL maximum texture size: 16384 OpenGL GLSL version: 120 OpenGL: GL context initialized OpenGL: NPOT texture support: 1 OpenGL: Shader support: 1 OpenGL: FBO support: 1 OpenGL: Packed depth stencil support: 1 OpenGL: Unpack subimage support: 1 INFO: OpenGL Vendor: ptitSeb INFO: OpenGL Renderer: GL4ES wrapper INFO: OpenGL Version: 2.1 gl4es wrapper 1.1.5 INFO: OpenGL Red bits: 8 INFO: OpenGL Green bits: 8 INFO: OpenGL Blue bits: 8 INFO: OpenGL Alpha bits: 8 INFO: OpenGL Z buffer depth bits: 24 INFO: OpenGL Double Buffer: 1 INFO: OpenGL Stencil buffer bits: 8 Shader source// FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_Color; _gl4es_TexCoord_0 = gl_MultiTexCoord0.stpq; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; // FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; void main() { gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_Color; _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.stpq; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_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 vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; gl_FragColor = fColor; } WARNING: Lua_V1::SetGamma, implement opcode, level: 0.000000! WARNING: AmigaOSFilesystemNode::createDirectory() -> Not supported! WARNING: AmigaOSFilesystemNode::createDirectory() -> Not supported! WARNING: AmigaOSFilesystemNode::createDirectory() -> Not supported! WARNING: DefaultSaveFileManager: failed to open 'timestamps' file to load timestamps! WARNING: !!!! Trying to call MakeSectorActive without a scene! WARNING: !!!! Trying to call MakeSectorActive without a scene! WARNING: !!!! Trying to call MakeSectorActive without a scene! WARNING: !!!! Trying to call MakeSectorActive without a scene! WARNING: !!!! Trying to call MakeSectorActive without a scene! WARNING: AmigaOSFilesystemNode::createDirectory() -> Not supported! WARNING: AmigaOSFilesystemNode::createDirectory() -> Not supported! WARNING: AmigaOSFilesystemNode::createDirectory() -> Not supported! WARNING: AmigaOSFilesystemNode::createDirectory() -> Not supported! WARNING: DefaultSaveFileManager: failed to open 'timestamps' file to load timestamps! WARNING: Play video intro.snm! Shader source// FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_Color; _gl4es_TexCoord_0 = gl_MultiTexCoord0.stpq; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; attribute highp vec4 _gl4es_MultiTexCoord0; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; // FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; void main() { gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_Color; _gl4es_TexCoord_0 = _gl4es_MultiTexCoord0.stpq; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_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 vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor.rgb *= texColor0.rgb; 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; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; // 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; void main() { gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_Color; vec4 tmp_tex; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; attribute highp vec4 _gl4es_Vertex; attribute lowp vec4 _gl4es_Color; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; // FPE_Shader generated varying vec4 Color; void main() { gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_Color; vec4 tmp_tex; } Shader source// FPE_Shader generated varying vec4 Color; uniform float _gl4es_AlphaRef; void main() { vec4 fColor = Color; if (floor(fColor.a*255.) <= _gl4es_AlphaRef) discard; gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; uniform float _gl4es_AlphaRef; void main() { vec4 fColor = Color; if (floor(fColor.a*255.) <= _gl4es_AlphaRef) discard; 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 _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_2; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_2; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_3; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_3; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_4; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_4; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_5; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_5; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_6; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_6; varying vec4 _gl4es_TexCoord_0; uniform highp mat4 _gl4es_TextureMatrix_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = gl_NormalMatrix * gl_Normal; gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; 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 + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+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 + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); att = 1.0; VP = normalize(_gl4es_LightSource_2.position.xyz); aa = _gl4es_FrontLightProduct_2.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_2.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_2.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_3.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_3.constantAttenuation + lVP*(_gl4es_LightSource_3.linearAttenuation + _gl4es_LightSource_3.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_3.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_3.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_3.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_4.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_4.constantAttenuation + lVP*(_gl4es_LightSource_4.linearAttenuation + _gl4es_LightSource_4.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_4.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_4.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_4.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_5.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_5.constantAttenuation + lVP*(_gl4es_LightSource_5.linearAttenuation + _gl4es_LightSource_5.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_5.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_5.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_5.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_6.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_6.constantAttenuation + lVP*(_gl4es_LightSource_6.linearAttenuation + _gl4es_LightSource_6.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_6.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_6.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_6.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); vec4 tmp_tex; tmp_tex = (_gl4es_TextureMatrix_0 * gl_MultiTexCoord0); _gl4es_TexCoord_0 = tmp_tex.stpq; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; 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 _gl4es_FPELightSourceParameters0 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_2; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_2; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_3; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_3; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_4; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_4; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_5; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_5; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_6; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_6; varying vec4 _gl4es_TexCoord_0; uniform highp mat4 _gl4es_TextureMatrix_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = _gl4es_NormalMatrix * _gl4es_Normal; gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; 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 + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+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 + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); att = 1.0; VP = normalize(_gl4es_LightSource_2.position.xyz); aa = _gl4es_FrontLightProduct_2.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_2.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_2.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_3.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_3.constantAttenuation + lVP*(_gl4es_LightSource_3.linearAttenuation + _gl4es_LightSource_3.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_3.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_3.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_3.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_4.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_4.constantAttenuation + lVP*(_gl4es_LightSource_4.linearAttenuation + _gl4es_LightSource_4.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_4.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_4.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_4.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_5.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_5.constantAttenuation + lVP*(_gl4es_LightSource_5.linearAttenuation + _gl4es_LightSource_5.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_5.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_5.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_5.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_6.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_6.constantAttenuation + lVP*(_gl4es_LightSource_6.linearAttenuation + _gl4es_LightSource_6.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_6.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_6.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_6.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); vec4 tmp_tex; tmp_tex = (_gl4es_TextureMatrix_0 * _gl4es_MultiTexCoord0); _gl4es_TexCoord_0 = tmp_tex.stpq; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; uniform float _gl4es_AlphaRef; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; if (floor(fColor.a*255.) <= _gl4es_AlphaRef) discard; gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; uniform float _gl4es_AlphaRef; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; if (floor(fColor.a*255.) <= _gl4es_AlphaRef) discard; 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 _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_2; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_2; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_3; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_3; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_4; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_4; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_5; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_5; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_6; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_6; varying vec4 _gl4es_TexCoord_0; uniform highp mat4 _gl4es_TextureMatrix_0; void main() { vec4 vertex = gl_ModelViewMatrix * gl_Vertex; vec3 normal = gl_NormalMatrix * gl_Normal; gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; Color = gl_FrontLightModelProduct.sceneColor; 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 + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+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 + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_2.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_2.constantAttenuation + lVP*(_gl4es_LightSource_2.linearAttenuation + _gl4es_LightSource_2.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_2.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_2.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_2.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); att = 1.0; VP = normalize(_gl4es_LightSource_3.position.xyz); aa = _gl4es_FrontLightProduct_3.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_3.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_3.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_4.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_4.constantAttenuation + lVP*(_gl4es_LightSource_4.linearAttenuation + _gl4es_LightSource_4.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_4.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_4.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_4.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_5.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_5.constantAttenuation + lVP*(_gl4es_LightSource_5.linearAttenuation + _gl4es_LightSource_5.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_5.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_5.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_5.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_6.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_6.constantAttenuation + lVP*(_gl4es_LightSource_6.linearAttenuation + _gl4es_LightSource_6.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_6.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_6.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_6.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); vec4 tmp_tex; tmp_tex = (_gl4es_TextureMatrix_0 * gl_MultiTexCoord0); _gl4es_TexCoord_0 = tmp_tex.stpq; } : (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; attribute highp vec4 _gl4es_Vertex; attribute highp vec4 _gl4es_MultiTexCoord0; attribute highp vec3 _gl4es_Normal; uniform highp mat4 _gl4es_ModelViewMatrix; uniform highp mat4 _gl4es_ModelViewProjectionMatrix; uniform highp mat3 _gl4es_NormalMatrix; 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 _gl4es_FPELightSourceParameters1 _gl4es_LightSource_0; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_0; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_1; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_1; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_2; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_2; uniform _gl4es_FPELightSourceParameters0 _gl4es_LightSource_3; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_3; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_4; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_4; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_5; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_5; uniform _gl4es_FPELightSourceParameters1 _gl4es_LightSource_6; uniform _gl4es_LightProducts _gl4es_FrontLightProduct_6; varying vec4 _gl4es_TexCoord_0; uniform highp mat4 _gl4es_TextureMatrix_0; void main() { vec4 vertex = _gl4es_ModelViewMatrix * _gl4es_Vertex; vec3 normal = _gl4es_NormalMatrix * _gl4es_Normal; gl_Position = _gl4es_ModelViewProjectionMatrix * _gl4es_Vertex; Color = _gl4es_FrontLightModelProduct.sceneColor; 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 + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_0.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+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 + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_1.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_2.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_2.constantAttenuation + lVP*(_gl4es_LightSource_2.linearAttenuation + _gl4es_LightSource_2.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_2.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_2.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_2.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); att = 1.0; VP = normalize(_gl4es_LightSource_3.position.xyz); aa = _gl4es_FrontLightProduct_3.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_3.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_3.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_4.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_4.constantAttenuation + lVP*(_gl4es_LightSource_4.linearAttenuation + _gl4es_LightSource_4.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_4.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_4.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_4.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_5.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_5.constantAttenuation + lVP*(_gl4es_LightSource_5.linearAttenuation + _gl4es_LightSource_5.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_5.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_5.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_5.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); VP = _gl4es_LightSource_6.position.xyz - vertex.xyz; lVP = length(VP); att = 1.0/(_gl4es_LightSource_6.constantAttenuation + lVP*(_gl4es_LightSource_6.linearAttenuation + _gl4es_LightSource_6.quadraticAttenuation * lVP)); VP = normalize(VP); aa = _gl4es_FrontLightProduct_6.ambient.xyz; nVP = dot(normal, VP); dd = (nVP>0.)?(nVP * _gl4es_FrontLightProduct_6.diffuse.xyz):vec3(0.); hi = normalize(VP + vec3(0., 0., 1.)); lVP = dot(normal, hi); ss = (nVP>0. && lVP>0.)?(_gl4es_FrontLightProduct_6.specular.xyz):vec3(0.); Color.rgb += att*(aa+dd+ss); Color.a = _gl4es_FrontMaterial_alpha; Color.rgb = clamp(Color.rgb, 0., 1.); vec4 tmp_tex; tmp_tex = (_gl4es_TextureMatrix_0 * _gl4es_MultiTexCoord0); _gl4es_TexCoord_0 = tmp_tex.stpq; } Shader source// FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; uniform float _gl4es_AlphaRef; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; if (floor(fColor.a*255.) <= _gl4es_AlphaRef) discard; gl_FragColor = fColor; }: (FPEShader generated) New Shader source: #version 100 precision mediump float; precision mediump int; // FPE_Shader generated varying vec4 Color; varying vec4 _gl4es_TexCoord_0; uniform sampler2D _gl4es_TexSampler_0; uniform float _gl4es_AlphaRef; void main() { vec4 fColor = Color; vec4 texColor0 = texture2DProj(_gl4es_TexSampler_0, _gl4es_TexCoord_0); fColor *= texColor0; if (floor(fColor.a*255.) <= _gl4es_AlphaRef) discard; gl_FragColor = fColor; } WARNING: Lua_V1::SetGamma, implement opcode, level: 0.000000! LIBGL: Shuting down 3/0.Work:games/ScummVM_2_6_0_beta_2021_12_23>