Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [17:27:20, logging.cpp:199] Git sha1: GITDIR-NOTFOUND
- [17:27:20, logging.cpp:202] Git tag: HEAD-HASH-NOTFOUND
- [17:27:20, logging.cpp:205] CMAKE_BUILD_TYPE: RelWithDebInfo
- [17:27:20, logging.cpp:208] Log started at: Fri Jun 28 17:27:20 2013 CEST
- [17:27:20, logging.cpp:211] version: 1.9.3
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'no_adjust_shadows = 0
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'shadows_on = 0
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'use_shadow_mapping = 1
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'clouds_shadows = 0
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'show_reflection = 0
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'use_vertex_array = 1
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'use_mipmaps = 0
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'particles_percentage = 100
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'text_filter_replace = smeg
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'render_fog = 0
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'use_vertex_buffers = 1
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'compass_north = 1
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'isometric = 1
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'perspective = 0.8
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'near_plane = 35
- ', type 2
- [17:27:20, elconfig.c:1494] Warning: Can't find var 'use_compiled_vertex_array = 1
- ', type 2
- [17:27:20, init.c:192] Info: No language set so defaulting to [en] and using language selection window
- [17:27:21, elconfig.c:1432] Warning: Can't find var 'clouds_shadows', type 'IN_GAME_VAR'
- [17:27:21, elconfig.c:1432] Warning: Can't find var 'water_shader_quality', type 'IN_GAME_VAR'
- [17:27:22, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:119(69): error: type mismatch
- 0:119(79): error: Operands to arithmetic operators must be numeric
- 0:119(87): error: Operands to arithmetic operators must be numeric
- 0:119(92): error: Operands to arithmetic operators must be numeric
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* actor default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* skin_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- uniform sampler2D effect_sampler_1; /* skin_specular_light */
- uniform sampler2D effect_sampler_2; /* skin_specular_light */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* bone_animation_world_normal_transformation */
- varying vec3 world_position; /* bone_animation_world_normal_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- vec4 albedo; /* skin_mapping_main_effect */
- vec3 emission; /* skin_mapping_main_effect */
- vec3 fragment_normal; /* skin_mapping_main_effect */
- float gloss; /* skin_mapping_main_effect */
- vec3 specular; /* skin_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular = vec3(0.0);
- gloss = 0.0;
- fragment_normal = normalize(world_normal);
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* skin_specular_light */
- vec3 specular_color; /* skin_specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec4 rim;
- vec3 diffuse, dir, reflect_dir, h;
- float dist, scale, specular, exponent, n_dot_h, n_dot_l, n_dot_v;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- n_dot_l = dot(fragment_normal, dir);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- n_dot_v = clamp(dot(fragment_normal, -world_view_direction.xyz), 0.0, 1.0);
- rim = texture(effect_sampler_1, vec2(n_dot_v));
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = texture(effect_sampler_2, vec2(n_dot_l * 0.5 + 0.5)).rgb * rim.rgb * scale * 4.0;
- exponent = exp2(12.0 * gloss);
- specular = pow(n_dot_h, exponent) * rim.a * scale;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = light_color.rgb * specular;
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:22, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:123(69): error: type mismatch
- 0:123(79): error: Operands to arithmetic operators must be numeric
- 0:123(87): error: Operands to arithmetic operators must be numeric
- 0:123(92): error: Operands to arithmetic operators must be numeric
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* actor-alpha default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* skin_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- uniform sampler2D effect_sampler_1; /* skin_specular_light */
- uniform sampler2D effect_sampler_2; /* skin_specular_light */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* bone_animation_world_normal_transformation */
- varying vec3 world_position; /* bone_animation_world_normal_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- vec4 albedo; /* skin_mapping_main_effect */
- vec3 emission; /* skin_mapping_main_effect */
- vec3 fragment_normal; /* skin_mapping_main_effect */
- float gloss; /* skin_mapping_main_effect */
- vec3 specular; /* skin_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular = vec3(0.0);
- gloss = 0.0;
- fragment_normal = normalize(world_normal);
- }
- if (albedo.a < 0.5)
- {
- discard;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* skin_specular_light */
- vec3 specular_color; /* skin_specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec4 rim;
- vec3 diffuse, dir, reflect_dir, h;
- float dist, scale, specular, exponent, n_dot_h, n_dot_l, n_dot_v;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- n_dot_l = dot(fragment_normal, dir);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- n_dot_v = clamp(dot(fragment_normal, -world_view_direction.xyz), 0.0, 1.0);
- rim = texture(effect_sampler_1, vec2(n_dot_v));
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = texture(effect_sampler_2, vec2(n_dot_l * 0.5 + 0.5)).rgb * rim.rgb * scale * 4.0;
- exponent = exp2(12.0 * gloss);
- specular = pow(n_dot_h, exponent) * rim.a * scale;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = light_color.rgb * specular;
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:23, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = ad2912ff-7d56-48b5-8530-3e1eaa8bf3fe
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-high-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-high-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:23, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(34) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 3129857c-82cc-41eb-8558-3c7cfa73cff5
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-low-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-low-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- void main ()
- {
- vec3 tmpvar_1;
- int tmpvar_2;
- int tmpvar_3;
- tmpvar_2 = 3;
- tmpvar_3 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_2 = tmpvar_3;
- };
- tmpvar_3 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_2)) {
- tmpvar_2 = tmpvar_3;
- };
- };
- tmpvar_3 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_2)) {
- tmpvar_2 = tmpvar_3;
- };
- };
- tmpvar_3 = -1;
- vec3 tmpvar_4;
- tmpvar_4.xy = terrain_uvs[tmpvar_2];
- tmpvar_4.z = ((float(tmpvar_2) + 0.5) / 4.0);
- vec4 tmpvar_5;
- tmpvar_5 = texture3D (effect_sampler_0, tmpvar_4);
- vec3 tmpvar_6;
- tmpvar_6 = normalize (world_normal);
- tmpvar_1 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_6.z) + 0.5)));
- vec4 tmpvar_7;
- tmpvar_7 = light_colors[0];
- vec4 tmpvar_8;
- tmpvar_8 = light_positions[0];
- vec3 tmpvar_9;
- tmpvar_9 = (tmpvar_8.xyz - (world_position * tmpvar_7.w));
- float tmpvar_10;
- tmpvar_10 = dot (tmpvar_9, tmpvar_9);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_7.xyz * max (0.0, (1.0 - (tmpvar_10 * tmpvar_8.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_9 * inversesqrt (tmpvar_10))))));
- vec4 tmpvar_11;
- tmpvar_11 = light_colors[1];
- vec4 tmpvar_12;
- tmpvar_12 = light_positions[1];
- vec3 tmpvar_13;
- tmpvar_13 = (tmpvar_12.xyz - (world_position * tmpvar_11.w));
- float tmpvar_14;
- tmpvar_14 = dot (tmpvar_13, tmpvar_13);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_11.xyz * max (0.0, (1.0 - (tmpvar_14 * tmpvar_12.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_13 * inversesqrt (tmpvar_14))))));
- vec4 tmpvar_15;
- tmpvar_15 = light_colors[2];
- vec4 tmpvar_16;
- tmpvar_16 = light_positions[2];
- vec3 tmpvar_17;
- tmpvar_17 = (tmpvar_16.xyz - (world_position * tmpvar_15.w));
- float tmpvar_18;
- tmpvar_18 = dot (tmpvar_17, tmpvar_17);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_15.xyz * max (0.0, (1.0 - (tmpvar_18 * tmpvar_16.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_17 * inversesqrt (tmpvar_18))))));
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_1 * tmpvar_5.xyz))));
- gl_FragColor.w = tmpvar_5.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:23, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = c5e389a8-a4f5-4986-938d-605c606ddb7a
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-medium-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-medium-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:24, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:95(57): error: type mismatch
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* normal and specular mapping default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_1; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_2; /* normal_specular_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* static_world_tangent_transformation */
- varying vec3 world_position; /* static_world_tangent_transformation */
- varying vec4 world_tangent; /* static_world_tangent_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- mat3 tbn_matrix; /* default_tbn_matrix */
- vec4 albedo; /* normal_specular_mapping_main_effect */
- vec3 emission; /* normal_specular_mapping_main_effect */
- vec3 fragment_normal; /* normal_specular_mapping_main_effect */
- float gloss; /* normal_specular_mapping_main_effect */
- vec3 specular; /* normal_specular_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- tbn_matrix[0] = world_tangent.xyz;
- tbn_matrix[1] = cross(world_normal, world_tangent.xyz) * world_tangent.w;
- tbn_matrix[2] = world_normal;
- }
- {
- vec3 normal;
- vec2 specular_gloss;
- normal.xy = texture2D(effect_sampler_1, world_uv).xy;
- normal.xy = normal.xy * 2.0 - 1.0;
- normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
- fragment_normal = tbn_matrix * normal.xyz;
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular_gloss = texture(effect_sampler_2, world_uv).ra;
- specular = specular_gloss.rrr;
- gloss = specular_gloss.g;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* specular_light */
- vec3 specular_color; /* specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec3 dir, reflect_dir, h;
- float dist, scale, nxdir, diffuse, specular, hxdir, exponent, n_dot_h, n_dot_l, l_dot_h;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- #if 0
- n_dot_l = max(0.0, dot(fragment_normal, dir));
- n_dot_h = max(0.0, dot(fragment_normal, h));
- l_dot_h = max(0.0, dot(dir, h));
- #else
- n_dot_l = clamp(dot(fragment_normal, dir), 0.0, 1.0);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- l_dot_h = clamp(dot(dir, h), 0.0, 1.0);
- #endif
- nxdir = n_dot_l;
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = scale * nxdir;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = vec3(0.0);
- if (all(greaterThan(vec4(l_dot_h, n_dot_h, n_dot_l, scale), vec4(0.001))))
- {
- exponent = exp2(12.0 * gloss);
- specular = ((1.0 + exponent) / (8.0 * pow(l_dot_h, 3.0))) * pow(n_dot_h, exponent) * n_dot_l * scale;
- specular_color += light_color.rgb * specular;
- }
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:24, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:95(57): error: type mismatch
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* normal and specular mapping with alpha default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_1; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_2; /* normal_specular_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* static_world_tangent_transformation */
- varying vec3 world_position; /* static_world_tangent_transformation */
- varying vec4 world_tangent; /* static_world_tangent_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- mat3 tbn_matrix; /* default_tbn_matrix */
- vec4 albedo; /* normal_specular_mapping_main_effect */
- vec3 emission; /* normal_specular_mapping_main_effect */
- vec3 fragment_normal; /* normal_specular_mapping_main_effect */
- float gloss; /* normal_specular_mapping_main_effect */
- vec3 specular; /* normal_specular_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- tbn_matrix[0] = world_tangent.xyz;
- tbn_matrix[1] = cross(world_normal, world_tangent.xyz) * world_tangent.w;
- tbn_matrix[2] = world_normal;
- }
- {
- vec3 normal;
- vec2 specular_gloss;
- normal.xy = texture2D(effect_sampler_1, world_uv).xy;
- normal.xy = normal.xy * 2.0 - 1.0;
- normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
- fragment_normal = tbn_matrix * normal.xyz;
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular_gloss = texture(effect_sampler_2, world_uv).ra;
- specular = specular_gloss.rrr;
- gloss = specular_gloss.g;
- }
- if (albedo.a < 0.5)
- {
- discard;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* specular_light */
- vec3 specular_color; /* specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec3 dir, reflect_dir, h;
- float dist, scale, nxdir, diffuse, specular, hxdir, exponent, n_dot_h, n_dot_l, l_dot_h;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- #if 0
- n_dot_l = max(0.0, dot(fragment_normal, dir));
- n_dot_h = max(0.0, dot(fragment_normal, h));
- l_dot_h = max(0.0, dot(dir, h));
- #else
- n_dot_l = clamp(dot(fragment_normal, dir), 0.0, 1.0);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- l_dot_h = clamp(dot(dir, h), 0.0, 1.0);
- #endif
- nxdir = n_dot_l;
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = scale * nxdir;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = vec3(0.0);
- if (all(greaterThan(vec4(l_dot_h, n_dot_h, n_dot_l, scale), vec4(0.001))))
- {
- exponent = exp2(12.0 * gloss);
- specular = ((1.0 + exponent) / (8.0 * pow(l_dot_h, 3.0))) * pow(n_dot_h, exponent) * n_dot_l * scale;
- specular_color += light_color.rgb * specular;
- }
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:24, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 60d56e3e-c235-4070-a84e-141882c75b62
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* simple-terrain-all-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- uniform mat3x4 world_transformation;
- uniform vec4 dudv_scale_offset;
- attribute vec4 position;
- attribute vec4 morph_position;
- attribute vec4 morph_normal;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- tmpvar_2 = morph_position.xyz;
- tmpvar_2.xy = ((morph_position.xy * 2.0) - 1.0);
- vec3 tmpvar_3;
- tmpvar_3 = (tmpvar_2 * vec3(32.0, 32.0, 64.0));
- tmpvar_2 = tmpvar_3;
- vec2 tmpvar_4;
- tmpvar_4 = ((morph_normal.xy * vec2(3.96887, 3.96887)) - vec2(1.98444, 1.98444));
- float tmpvar_5;
- tmpvar_5 = dot (tmpvar_4, tmpvar_4);
- vec3 tmpvar_6;
- tmpvar_6.xy = (tmpvar_4 * sqrt ((1.0 - (tmpvar_5 / 4.0))));
- tmpvar_6.z = (1.0 - (tmpvar_5 / 2.0));
- vec4 tmpvar_7;
- tmpvar_7.w = 1.0;
- tmpvar_7.xyz = (tmpvar_3 + position.xyz);
- vec3 tmpvar_8;
- tmpvar_8 = (tmpvar_7 * world_transformation);
- world_position = tmpvar_8;
- mat3 tmpvar_9;
- tmpvar_9[0] = world_transformation[0].xyz;
- tmpvar_9[1] = world_transformation[1].xyz;
- tmpvar_9[2] = world_transformation[2].xyz;
- world_normal = normalize ((tmpvar_6 * tmpvar_9));
- vec4 tmpvar_10;
- tmpvar_10.w = 1.0;
- tmpvar_10.xyz = position.xyz;
- vec4 tmpvar_11;
- tmpvar_11.w = 1.0;
- tmpvar_11.xyz = tmpvar_8;
- gl_Position = (projection_view_matrix * tmpvar_11);
- tmpvar_1.xy = (((tmpvar_10 * world_transformation).xy + ((morph_normal.zw * dudv_scale_offset.xy) + dudv_scale_offset.zw)) * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* simple-terrain-all-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:25, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersource.cpp(192): Throw in function const eternal_lands::ShaderSourceData& eternal_lands::ShaderSource::get_data(eternal_lands::ShaderType, eternal_lands::ShaderVersionType) const
- Dynamic exception type: eternal_lands::ItemNotFoundException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = No shader source data with shader vertex version 120 in 'water_animation_world_normal_transformation' found.
- [eternal_lands::errinfo_stack_string_*] =
- [17:27:25, elfilewrapper.c:305] Error: Can't load zip file /home/Flame/.elc/custom_clothes.zip
- [17:27:25, elfilewrapper.c:305] Error: Can't load zip file /home/Flame/.elc/unofficial_custom_clothes.zip
- [17:27:25, elconfig.c:1432] Warning: Can't find var 'clouds_shadows', type 'IN_GAME_VAR'
- [17:27:25, elconfig.c:1432] Warning: Can't find var 'water_shader_quality', type 'IN_GAME_VAR'
- [17:27:25, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:119(69): error: type mismatch
- 0:119(79): error: Operands to arithmetic operators must be numeric
- 0:119(87): error: Operands to arithmetic operators must be numeric
- 0:119(92): error: Operands to arithmetic operators must be numeric
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* actor default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* skin_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- uniform sampler2D effect_sampler_1; /* skin_specular_light */
- uniform sampler2D effect_sampler_2; /* skin_specular_light */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* bone_animation_world_normal_transformation */
- varying vec3 world_position; /* bone_animation_world_normal_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- vec4 albedo; /* skin_mapping_main_effect */
- vec3 emission; /* skin_mapping_main_effect */
- vec3 fragment_normal; /* skin_mapping_main_effect */
- float gloss; /* skin_mapping_main_effect */
- vec3 specular; /* skin_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular = vec3(0.0);
- gloss = 0.0;
- fragment_normal = normalize(world_normal);
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* skin_specular_light */
- vec3 specular_color; /* skin_specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec4 rim;
- vec3 diffuse, dir, reflect_dir, h;
- float dist, scale, specular, exponent, n_dot_h, n_dot_l, n_dot_v;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- n_dot_l = dot(fragment_normal, dir);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- n_dot_v = clamp(dot(fragment_normal, -world_view_direction.xyz), 0.0, 1.0);
- rim = texture(effect_sampler_1, vec2(n_dot_v));
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = texture(effect_sampler_2, vec2(n_dot_l * 0.5 + 0.5)).rgb * rim.rgb * scale * 4.0;
- exponent = exp2(12.0 * gloss);
- specular = pow(n_dot_h, exponent) * rim.a * scale;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = light_color.rgb * specular;
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:25, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:123(69): error: type mismatch
- 0:123(79): error: Operands to arithmetic operators must be numeric
- 0:123(87): error: Operands to arithmetic operators must be numeric
- 0:123(92): error: Operands to arithmetic operators must be numeric
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* actor-alpha default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* skin_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- uniform sampler2D effect_sampler_1; /* skin_specular_light */
- uniform sampler2D effect_sampler_2; /* skin_specular_light */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* bone_animation_world_normal_transformation */
- varying vec3 world_position; /* bone_animation_world_normal_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- vec4 albedo; /* skin_mapping_main_effect */
- vec3 emission; /* skin_mapping_main_effect */
- vec3 fragment_normal; /* skin_mapping_main_effect */
- float gloss; /* skin_mapping_main_effect */
- vec3 specular; /* skin_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular = vec3(0.0);
- gloss = 0.0;
- fragment_normal = normalize(world_normal);
- }
- if (albedo.a < 0.5)
- {
- discard;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* skin_specular_light */
- vec3 specular_color; /* skin_specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec4 rim;
- vec3 diffuse, dir, reflect_dir, h;
- float dist, scale, specular, exponent, n_dot_h, n_dot_l, n_dot_v;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- n_dot_l = dot(fragment_normal, dir);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- n_dot_v = clamp(dot(fragment_normal, -world_view_direction.xyz), 0.0, 1.0);
- rim = texture(effect_sampler_1, vec2(n_dot_v));
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = texture(effect_sampler_2, vec2(n_dot_l * 0.5 + 0.5)).rgb * rim.rgb * scale * 4.0;
- exponent = exp2(12.0 * gloss);
- specular = pow(n_dot_h, exponent) * rim.a * scale;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = light_color.rgb * specular;
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:25, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 8ab51829-6e00-4471-95d2-b8db32fde9cf
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-high-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-high-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:25, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(34) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = d217ad4a-2108-4e6d-9204-de48f24a75ff
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-low-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-low-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- void main ()
- {
- vec3 tmpvar_1;
- int tmpvar_2;
- int tmpvar_3;
- tmpvar_2 = 3;
- tmpvar_3 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_2 = tmpvar_3;
- };
- tmpvar_3 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_2)) {
- tmpvar_2 = tmpvar_3;
- };
- };
- tmpvar_3 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_2)) {
- tmpvar_2 = tmpvar_3;
- };
- };
- tmpvar_3 = -1;
- vec3 tmpvar_4;
- tmpvar_4.xy = terrain_uvs[tmpvar_2];
- tmpvar_4.z = ((float(tmpvar_2) + 0.5) / 4.0);
- vec4 tmpvar_5;
- tmpvar_5 = texture3D (effect_sampler_0, tmpvar_4);
- vec3 tmpvar_6;
- tmpvar_6 = normalize (world_normal);
- tmpvar_1 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_6.z) + 0.5)));
- vec4 tmpvar_7;
- tmpvar_7 = light_colors[0];
- vec4 tmpvar_8;
- tmpvar_8 = light_positions[0];
- vec3 tmpvar_9;
- tmpvar_9 = (tmpvar_8.xyz - (world_position * tmpvar_7.w));
- float tmpvar_10;
- tmpvar_10 = dot (tmpvar_9, tmpvar_9);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_7.xyz * max (0.0, (1.0 - (tmpvar_10 * tmpvar_8.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_9 * inversesqrt (tmpvar_10))))));
- vec4 tmpvar_11;
- tmpvar_11 = light_colors[1];
- vec4 tmpvar_12;
- tmpvar_12 = light_positions[1];
- vec3 tmpvar_13;
- tmpvar_13 = (tmpvar_12.xyz - (world_position * tmpvar_11.w));
- float tmpvar_14;
- tmpvar_14 = dot (tmpvar_13, tmpvar_13);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_11.xyz * max (0.0, (1.0 - (tmpvar_14 * tmpvar_12.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_13 * inversesqrt (tmpvar_14))))));
- vec4 tmpvar_15;
- tmpvar_15 = light_colors[2];
- vec4 tmpvar_16;
- tmpvar_16 = light_positions[2];
- vec3 tmpvar_17;
- tmpvar_17 = (tmpvar_16.xyz - (world_position * tmpvar_15.w));
- float tmpvar_18;
- tmpvar_18 = dot (tmpvar_17, tmpvar_17);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_15.xyz * max (0.0, (1.0 - (tmpvar_18 * tmpvar_16.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_17 * inversesqrt (tmpvar_18))))));
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_1 * tmpvar_5.xyz))));
- gl_FragColor.w = tmpvar_5.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:25, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = d5e2eb9d-753d-4cd5-bdab-3d8ea2cc54ac
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-medium-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-medium-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:26, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:95(57): error: type mismatch
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* normal and specular mapping default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_1; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_2; /* normal_specular_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* static_world_tangent_transformation */
- varying vec3 world_position; /* static_world_tangent_transformation */
- varying vec4 world_tangent; /* static_world_tangent_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- mat3 tbn_matrix; /* default_tbn_matrix */
- vec4 albedo; /* normal_specular_mapping_main_effect */
- vec3 emission; /* normal_specular_mapping_main_effect */
- vec3 fragment_normal; /* normal_specular_mapping_main_effect */
- float gloss; /* normal_specular_mapping_main_effect */
- vec3 specular; /* normal_specular_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- tbn_matrix[0] = world_tangent.xyz;
- tbn_matrix[1] = cross(world_normal, world_tangent.xyz) * world_tangent.w;
- tbn_matrix[2] = world_normal;
- }
- {
- vec3 normal;
- vec2 specular_gloss;
- normal.xy = texture2D(effect_sampler_1, world_uv).xy;
- normal.xy = normal.xy * 2.0 - 1.0;
- normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
- fragment_normal = tbn_matrix * normal.xyz;
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular_gloss = texture(effect_sampler_2, world_uv).ra;
- specular = specular_gloss.rrr;
- gloss = specular_gloss.g;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* specular_light */
- vec3 specular_color; /* specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec3 dir, reflect_dir, h;
- float dist, scale, nxdir, diffuse, specular, hxdir, exponent, n_dot_h, n_dot_l, l_dot_h;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- #if 0
- n_dot_l = max(0.0, dot(fragment_normal, dir));
- n_dot_h = max(0.0, dot(fragment_normal, h));
- l_dot_h = max(0.0, dot(dir, h));
- #else
- n_dot_l = clamp(dot(fragment_normal, dir), 0.0, 1.0);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- l_dot_h = clamp(dot(dir, h), 0.0, 1.0);
- #endif
- nxdir = n_dot_l;
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = scale * nxdir;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = vec3(0.0);
- if (all(greaterThan(vec4(l_dot_h, n_dot_h, n_dot_l, scale), vec4(0.001))))
- {
- exponent = exp2(12.0 * gloss);
- specular = ((1.0 + exponent) / (8.0 * pow(l_dot_h, 3.0))) * pow(n_dot_h, exponent) * n_dot_l * scale;
- specular_color += light_color.rgb * specular;
- }
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:26, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:95(57): error: type mismatch
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* normal and specular mapping with alpha default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_1; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_2; /* normal_specular_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* static_world_tangent_transformation */
- varying vec3 world_position; /* static_world_tangent_transformation */
- varying vec4 world_tangent; /* static_world_tangent_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- mat3 tbn_matrix; /* default_tbn_matrix */
- vec4 albedo; /* normal_specular_mapping_main_effect */
- vec3 emission; /* normal_specular_mapping_main_effect */
- vec3 fragment_normal; /* normal_specular_mapping_main_effect */
- float gloss; /* normal_specular_mapping_main_effect */
- vec3 specular; /* normal_specular_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- tbn_matrix[0] = world_tangent.xyz;
- tbn_matrix[1] = cross(world_normal, world_tangent.xyz) * world_tangent.w;
- tbn_matrix[2] = world_normal;
- }
- {
- vec3 normal;
- vec2 specular_gloss;
- normal.xy = texture2D(effect_sampler_1, world_uv).xy;
- normal.xy = normal.xy * 2.0 - 1.0;
- normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
- fragment_normal = tbn_matrix * normal.xyz;
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular_gloss = texture(effect_sampler_2, world_uv).ra;
- specular = specular_gloss.rrr;
- gloss = specular_gloss.g;
- }
- if (albedo.a < 0.5)
- {
- discard;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* specular_light */
- vec3 specular_color; /* specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec3 dir, reflect_dir, h;
- float dist, scale, nxdir, diffuse, specular, hxdir, exponent, n_dot_h, n_dot_l, l_dot_h;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- #if 0
- n_dot_l = max(0.0, dot(fragment_normal, dir));
- n_dot_h = max(0.0, dot(fragment_normal, h));
- l_dot_h = max(0.0, dot(dir, h));
- #else
- n_dot_l = clamp(dot(fragment_normal, dir), 0.0, 1.0);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- l_dot_h = clamp(dot(dir, h), 0.0, 1.0);
- #endif
- nxdir = n_dot_l;
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = scale * nxdir;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = vec3(0.0);
- if (all(greaterThan(vec4(l_dot_h, n_dot_h, n_dot_l, scale), vec4(0.001))))
- {
- exponent = exp2(12.0 * gloss);
- specular = ((1.0 + exponent) / (8.0 * pow(l_dot_h, 3.0))) * pow(n_dot_h, exponent) * n_dot_l * scale;
- specular_color += light_color.rgb * specular;
- }
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:26, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 5389df64-dc73-47d4-bc2e-d068dea31d94
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* simple-terrain-all-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- uniform mat3x4 world_transformation;
- uniform vec4 dudv_scale_offset;
- attribute vec4 position;
- attribute vec4 morph_position;
- attribute vec4 morph_normal;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- tmpvar_2 = morph_position.xyz;
- tmpvar_2.xy = ((morph_position.xy * 2.0) - 1.0);
- vec3 tmpvar_3;
- tmpvar_3 = (tmpvar_2 * vec3(32.0, 32.0, 64.0));
- tmpvar_2 = tmpvar_3;
- vec2 tmpvar_4;
- tmpvar_4 = ((morph_normal.xy * vec2(3.96887, 3.96887)) - vec2(1.98444, 1.98444));
- float tmpvar_5;
- tmpvar_5 = dot (tmpvar_4, tmpvar_4);
- vec3 tmpvar_6;
- tmpvar_6.xy = (tmpvar_4 * sqrt ((1.0 - (tmpvar_5 / 4.0))));
- tmpvar_6.z = (1.0 - (tmpvar_5 / 2.0));
- vec4 tmpvar_7;
- tmpvar_7.w = 1.0;
- tmpvar_7.xyz = (tmpvar_3 + position.xyz);
- vec3 tmpvar_8;
- tmpvar_8 = (tmpvar_7 * world_transformation);
- world_position = tmpvar_8;
- mat3 tmpvar_9;
- tmpvar_9[0] = world_transformation[0].xyz;
- tmpvar_9[1] = world_transformation[1].xyz;
- tmpvar_9[2] = world_transformation[2].xyz;
- world_normal = normalize ((tmpvar_6 * tmpvar_9));
- vec4 tmpvar_10;
- tmpvar_10.w = 1.0;
- tmpvar_10.xyz = position.xyz;
- vec4 tmpvar_11;
- tmpvar_11.w = 1.0;
- tmpvar_11.xyz = tmpvar_8;
- gl_Position = (projection_view_matrix * tmpvar_11);
- tmpvar_1.xy = (((tmpvar_10 * world_transformation).xy + ((morph_normal.zw * dudv_scale_offset.xy) + dudv_scale_offset.zw)) * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* simple-terrain-all-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:26, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersource.cpp(192): Throw in function const eternal_lands::ShaderSourceData& eternal_lands::ShaderSource::get_data(eternal_lands::ShaderType, eternal_lands::ShaderVersionType) const
- Dynamic exception type: eternal_lands::ItemNotFoundException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = No shader source data with shader vertex version 120 in 'water_animation_world_normal_transformation' found.
- [eternal_lands::errinfo_stack_string_*] =
- [17:27:27, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:119(69): error: type mismatch
- 0:119(79): error: Operands to arithmetic operators must be numeric
- 0:119(87): error: Operands to arithmetic operators must be numeric
- 0:119(92): error: Operands to arithmetic operators must be numeric
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* actor default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* skin_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- uniform sampler2D effect_sampler_1; /* skin_specular_light */
- uniform sampler2D effect_sampler_2; /* skin_specular_light */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* bone_animation_world_normal_transformation */
- varying vec3 world_position; /* bone_animation_world_normal_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- vec4 albedo; /* skin_mapping_main_effect */
- vec3 emission; /* skin_mapping_main_effect */
- vec3 fragment_normal; /* skin_mapping_main_effect */
- float gloss; /* skin_mapping_main_effect */
- vec3 specular; /* skin_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular = vec3(0.0);
- gloss = 0.0;
- fragment_normal = normalize(world_normal);
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* skin_specular_light */
- vec3 specular_color; /* skin_specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec4 rim;
- vec3 diffuse, dir, reflect_dir, h;
- float dist, scale, specular, exponent, n_dot_h, n_dot_l, n_dot_v;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- n_dot_l = dot(fragment_normal, dir);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- n_dot_v = clamp(dot(fragment_normal, -world_view_direction.xyz), 0.0, 1.0);
- rim = texture(effect_sampler_1, vec2(n_dot_v));
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = texture(effect_sampler_2, vec2(n_dot_l * 0.5 + 0.5)).rgb * rim.rgb * scale * 4.0;
- exponent = exp2(12.0 * gloss);
- specular = pow(n_dot_h, exponent) * rim.a * scale;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = light_color.rgb * specular;
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:27, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:123(69): error: type mismatch
- 0:123(79): error: Operands to arithmetic operators must be numeric
- 0:123(87): error: Operands to arithmetic operators must be numeric
- 0:123(92): error: Operands to arithmetic operators must be numeric
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* actor-alpha default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* skin_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- uniform sampler2D effect_sampler_1; /* skin_specular_light */
- uniform sampler2D effect_sampler_2; /* skin_specular_light */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* bone_animation_world_normal_transformation */
- varying vec3 world_position; /* bone_animation_world_normal_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- vec4 albedo; /* skin_mapping_main_effect */
- vec3 emission; /* skin_mapping_main_effect */
- vec3 fragment_normal; /* skin_mapping_main_effect */
- float gloss; /* skin_mapping_main_effect */
- vec3 specular; /* skin_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular = vec3(0.0);
- gloss = 0.0;
- fragment_normal = normalize(world_normal);
- }
- if (albedo.a < 0.5)
- {
- discard;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* skin_specular_light */
- vec3 specular_color; /* skin_specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec4 rim;
- vec3 diffuse, dir, reflect_dir, h;
- float dist, scale, specular, exponent, n_dot_h, n_dot_l, n_dot_v;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- n_dot_l = dot(fragment_normal, dir);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- n_dot_v = clamp(dot(fragment_normal, -world_view_direction.xyz), 0.0, 1.0);
- rim = texture(effect_sampler_1, vec2(n_dot_v));
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = texture(effect_sampler_2, vec2(n_dot_l * 0.5 + 0.5)).rgb * rim.rgb * scale * 4.0;
- exponent = exp2(12.0 * gloss);
- specular = pow(n_dot_h, exponent) * rim.a * scale;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = light_color.rgb * specular;
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:27, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = b139b922-797f-4d2e-a1df-a1818ed357b6
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-high-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-high-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:27, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(34) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 4fff1418-51d7-470d-b0fc-dacac4616790
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-low-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-low-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- void main ()
- {
- vec3 tmpvar_1;
- int tmpvar_2;
- int tmpvar_3;
- tmpvar_2 = 3;
- tmpvar_3 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_2 = tmpvar_3;
- };
- tmpvar_3 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_2)) {
- tmpvar_2 = tmpvar_3;
- };
- };
- tmpvar_3 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_2)) {
- tmpvar_2 = tmpvar_3;
- };
- };
- tmpvar_3 = -1;
- vec3 tmpvar_4;
- tmpvar_4.xy = terrain_uvs[tmpvar_2];
- tmpvar_4.z = ((float(tmpvar_2) + 0.5) / 4.0);
- vec4 tmpvar_5;
- tmpvar_5 = texture3D (effect_sampler_0, tmpvar_4);
- vec3 tmpvar_6;
- tmpvar_6 = normalize (world_normal);
- tmpvar_1 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_6.z) + 0.5)));
- vec4 tmpvar_7;
- tmpvar_7 = light_colors[0];
- vec4 tmpvar_8;
- tmpvar_8 = light_positions[0];
- vec3 tmpvar_9;
- tmpvar_9 = (tmpvar_8.xyz - (world_position * tmpvar_7.w));
- float tmpvar_10;
- tmpvar_10 = dot (tmpvar_9, tmpvar_9);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_7.xyz * max (0.0, (1.0 - (tmpvar_10 * tmpvar_8.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_9 * inversesqrt (tmpvar_10))))));
- vec4 tmpvar_11;
- tmpvar_11 = light_colors[1];
- vec4 tmpvar_12;
- tmpvar_12 = light_positions[1];
- vec3 tmpvar_13;
- tmpvar_13 = (tmpvar_12.xyz - (world_position * tmpvar_11.w));
- float tmpvar_14;
- tmpvar_14 = dot (tmpvar_13, tmpvar_13);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_11.xyz * max (0.0, (1.0 - (tmpvar_14 * tmpvar_12.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_13 * inversesqrt (tmpvar_14))))));
- vec4 tmpvar_15;
- tmpvar_15 = light_colors[2];
- vec4 tmpvar_16;
- tmpvar_16 = light_positions[2];
- vec3 tmpvar_17;
- tmpvar_17 = (tmpvar_16.xyz - (world_position * tmpvar_15.w));
- float tmpvar_18;
- tmpvar_18 = dot (tmpvar_17, tmpvar_17);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_15.xyz * max (0.0, (1.0 - (tmpvar_18 * tmpvar_16.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_17 * inversesqrt (tmpvar_18))))));
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_1 * tmpvar_5.xyz))));
- gl_FragColor.w = tmpvar_5.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:27, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = df0fc431-a73f-4a52-acef-036af89390c3
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-medium-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-medium-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:27, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:95(57): error: type mismatch
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* normal and specular mapping default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_1; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_2; /* normal_specular_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* static_world_tangent_transformation */
- varying vec3 world_position; /* static_world_tangent_transformation */
- varying vec4 world_tangent; /* static_world_tangent_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- mat3 tbn_matrix; /* default_tbn_matrix */
- vec4 albedo; /* normal_specular_mapping_main_effect */
- vec3 emission; /* normal_specular_mapping_main_effect */
- vec3 fragment_normal; /* normal_specular_mapping_main_effect */
- float gloss; /* normal_specular_mapping_main_effect */
- vec3 specular; /* normal_specular_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- tbn_matrix[0] = world_tangent.xyz;
- tbn_matrix[1] = cross(world_normal, world_tangent.xyz) * world_tangent.w;
- tbn_matrix[2] = world_normal;
- }
- {
- vec3 normal;
- vec2 specular_gloss;
- normal.xy = texture2D(effect_sampler_1, world_uv).xy;
- normal.xy = normal.xy * 2.0 - 1.0;
- normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
- fragment_normal = tbn_matrix * normal.xyz;
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular_gloss = texture(effect_sampler_2, world_uv).ra;
- specular = specular_gloss.rrr;
- gloss = specular_gloss.g;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* specular_light */
- vec3 specular_color; /* specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec3 dir, reflect_dir, h;
- float dist, scale, nxdir, diffuse, specular, hxdir, exponent, n_dot_h, n_dot_l, l_dot_h;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- #if 0
- n_dot_l = max(0.0, dot(fragment_normal, dir));
- n_dot_h = max(0.0, dot(fragment_normal, h));
- l_dot_h = max(0.0, dot(dir, h));
- #else
- n_dot_l = clamp(dot(fragment_normal, dir), 0.0, 1.0);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- l_dot_h = clamp(dot(dir, h), 0.0, 1.0);
- #endif
- nxdir = n_dot_l;
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = scale * nxdir;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = vec3(0.0);
- if (all(greaterThan(vec4(l_dot_h, n_dot_h, n_dot_l, scale), vec4(0.001))))
- {
- exponent = exp2(12.0 * gloss);
- specular = ((1.0 + exponent) / (8.0 * pow(l_dot_h, 3.0))) * pow(n_dot_h, exponent) * n_dot_l * scale;
- specular_color += light_color.rgb * specular;
- }
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:27, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:95(57): error: type mismatch
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* normal and specular mapping with alpha default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_1; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_2; /* normal_specular_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* static_world_tangent_transformation */
- varying vec3 world_position; /* static_world_tangent_transformation */
- varying vec4 world_tangent; /* static_world_tangent_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- mat3 tbn_matrix; /* default_tbn_matrix */
- vec4 albedo; /* normal_specular_mapping_main_effect */
- vec3 emission; /* normal_specular_mapping_main_effect */
- vec3 fragment_normal; /* normal_specular_mapping_main_effect */
- float gloss; /* normal_specular_mapping_main_effect */
- vec3 specular; /* normal_specular_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- tbn_matrix[0] = world_tangent.xyz;
- tbn_matrix[1] = cross(world_normal, world_tangent.xyz) * world_tangent.w;
- tbn_matrix[2] = world_normal;
- }
- {
- vec3 normal;
- vec2 specular_gloss;
- normal.xy = texture2D(effect_sampler_1, world_uv).xy;
- normal.xy = normal.xy * 2.0 - 1.0;
- normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
- fragment_normal = tbn_matrix * normal.xyz;
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular_gloss = texture(effect_sampler_2, world_uv).ra;
- specular = specular_gloss.rrr;
- gloss = specular_gloss.g;
- }
- if (albedo.a < 0.5)
- {
- discard;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* specular_light */
- vec3 specular_color; /* specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec3 dir, reflect_dir, h;
- float dist, scale, nxdir, diffuse, specular, hxdir, exponent, n_dot_h, n_dot_l, l_dot_h;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- #if 0
- n_dot_l = max(0.0, dot(fragment_normal, dir));
- n_dot_h = max(0.0, dot(fragment_normal, h));
- l_dot_h = max(0.0, dot(dir, h));
- #else
- n_dot_l = clamp(dot(fragment_normal, dir), 0.0, 1.0);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- l_dot_h = clamp(dot(dir, h), 0.0, 1.0);
- #endif
- nxdir = n_dot_l;
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = scale * nxdir;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = vec3(0.0);
- if (all(greaterThan(vec4(l_dot_h, n_dot_h, n_dot_l, scale), vec4(0.001))))
- {
- exponent = exp2(12.0 * gloss);
- specular = ((1.0 + exponent) / (8.0 * pow(l_dot_h, 3.0))) * pow(n_dot_h, exponent) * n_dot_l * scale;
- specular_color += light_color.rgb * specular;
- }
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:28, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 3fae3eb6-b748-42d9-9e21-c7843b43fda1
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* simple-terrain-all-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- uniform mat3x4 world_transformation;
- uniform vec4 dudv_scale_offset;
- attribute vec4 position;
- attribute vec4 morph_position;
- attribute vec4 morph_normal;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- tmpvar_2 = morph_position.xyz;
- tmpvar_2.xy = ((morph_position.xy * 2.0) - 1.0);
- vec3 tmpvar_3;
- tmpvar_3 = (tmpvar_2 * vec3(32.0, 32.0, 64.0));
- tmpvar_2 = tmpvar_3;
- vec2 tmpvar_4;
- tmpvar_4 = ((morph_normal.xy * vec2(3.96887, 3.96887)) - vec2(1.98444, 1.98444));
- float tmpvar_5;
- tmpvar_5 = dot (tmpvar_4, tmpvar_4);
- vec3 tmpvar_6;
- tmpvar_6.xy = (tmpvar_4 * sqrt ((1.0 - (tmpvar_5 / 4.0))));
- tmpvar_6.z = (1.0 - (tmpvar_5 / 2.0));
- vec4 tmpvar_7;
- tmpvar_7.w = 1.0;
- tmpvar_7.xyz = (tmpvar_3 + position.xyz);
- vec3 tmpvar_8;
- tmpvar_8 = (tmpvar_7 * world_transformation);
- world_position = tmpvar_8;
- mat3 tmpvar_9;
- tmpvar_9[0] = world_transformation[0].xyz;
- tmpvar_9[1] = world_transformation[1].xyz;
- tmpvar_9[2] = world_transformation[2].xyz;
- world_normal = normalize ((tmpvar_6 * tmpvar_9));
- vec4 tmpvar_10;
- tmpvar_10.w = 1.0;
- tmpvar_10.xyz = position.xyz;
- vec4 tmpvar_11;
- tmpvar_11.w = 1.0;
- tmpvar_11.xyz = tmpvar_8;
- gl_Position = (projection_view_matrix * tmpvar_11);
- tmpvar_1.xy = (((tmpvar_10 * world_transformation).xy + ((morph_normal.zw * dudv_scale_offset.xy) + dudv_scale_offset.zw)) * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* simple-terrain-all-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:28, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersource.cpp(192): Throw in function const eternal_lands::ShaderSourceData& eternal_lands::ShaderSource::get_data(eternal_lands::ShaderType, eternal_lands::ShaderVersionType) const
- Dynamic exception type: eternal_lands::ItemNotFoundException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = No shader source data with shader vertex version 120 in 'water_animation_world_normal_transformation' found.
- [eternal_lands::errinfo_stack_string_*] =
- [17:27:28, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:119(69): error: type mismatch
- 0:119(79): error: Operands to arithmetic operators must be numeric
- 0:119(87): error: Operands to arithmetic operators must be numeric
- 0:119(92): error: Operands to arithmetic operators must be numeric
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* actor default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* skin_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- uniform sampler2D effect_sampler_1; /* skin_specular_light */
- uniform sampler2D effect_sampler_2; /* skin_specular_light */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* bone_animation_world_normal_transformation */
- varying vec3 world_position; /* bone_animation_world_normal_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- vec4 albedo; /* skin_mapping_main_effect */
- vec3 emission; /* skin_mapping_main_effect */
- vec3 fragment_normal; /* skin_mapping_main_effect */
- float gloss; /* skin_mapping_main_effect */
- vec3 specular; /* skin_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular = vec3(0.0);
- gloss = 0.0;
- fragment_normal = normalize(world_normal);
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* skin_specular_light */
- vec3 specular_color; /* skin_specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec4 rim;
- vec3 diffuse, dir, reflect_dir, h;
- float dist, scale, specular, exponent, n_dot_h, n_dot_l, n_dot_v;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- n_dot_l = dot(fragment_normal, dir);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- n_dot_v = clamp(dot(fragment_normal, -world_view_direction.xyz), 0.0, 1.0);
- rim = texture(effect_sampler_1, vec2(n_dot_v));
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = texture(effect_sampler_2, vec2(n_dot_l * 0.5 + 0.5)).rgb * rim.rgb * scale * 4.0;
- exponent = exp2(12.0 * gloss);
- specular = pow(n_dot_h, exponent) * rim.a * scale;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = light_color.rgb * specular;
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:28, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:123(69): error: type mismatch
- 0:123(79): error: Operands to arithmetic operators must be numeric
- 0:123(87): error: Operands to arithmetic operators must be numeric
- 0:123(92): error: Operands to arithmetic operators must be numeric
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* actor-alpha default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* skin_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- uniform sampler2D effect_sampler_1; /* skin_specular_light */
- uniform sampler2D effect_sampler_2; /* skin_specular_light */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* bone_animation_world_normal_transformation */
- varying vec3 world_position; /* bone_animation_world_normal_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- vec4 albedo; /* skin_mapping_main_effect */
- vec3 emission; /* skin_mapping_main_effect */
- vec3 fragment_normal; /* skin_mapping_main_effect */
- float gloss; /* skin_mapping_main_effect */
- vec3 specular; /* skin_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular = vec3(0.0);
- gloss = 0.0;
- fragment_normal = normalize(world_normal);
- }
- if (albedo.a < 0.5)
- {
- discard;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* skin_specular_light */
- vec3 specular_color; /* skin_specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec4 rim;
- vec3 diffuse, dir, reflect_dir, h;
- float dist, scale, specular, exponent, n_dot_h, n_dot_l, n_dot_v;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- n_dot_l = dot(fragment_normal, dir);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- n_dot_v = clamp(dot(fragment_normal, -world_view_direction.xyz), 0.0, 1.0);
- rim = texture(effect_sampler_1, vec2(n_dot_v));
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = texture(effect_sampler_2, vec2(n_dot_l * 0.5 + 0.5)).rgb * rim.rgb * scale * 4.0;
- exponent = exp2(12.0 * gloss);
- specular = pow(n_dot_h, exponent) * rim.a * scale;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = light_color.rgb * specular;
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:28, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 26f07ec0-7562-40fe-865a-0480359e2890
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-high-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-high-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:29, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(34) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = c1c52162-c4f8-42ac-b32b-c3beb4ad0fd8
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-low-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-low-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- void main ()
- {
- vec3 tmpvar_1;
- int tmpvar_2;
- int tmpvar_3;
- tmpvar_2 = 3;
- tmpvar_3 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_2 = tmpvar_3;
- };
- tmpvar_3 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_2)) {
- tmpvar_2 = tmpvar_3;
- };
- };
- tmpvar_3 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_2)) {
- tmpvar_2 = tmpvar_3;
- };
- };
- tmpvar_3 = -1;
- vec3 tmpvar_4;
- tmpvar_4.xy = terrain_uvs[tmpvar_2];
- tmpvar_4.z = ((float(tmpvar_2) + 0.5) / 4.0);
- vec4 tmpvar_5;
- tmpvar_5 = texture3D (effect_sampler_0, tmpvar_4);
- vec3 tmpvar_6;
- tmpvar_6 = normalize (world_normal);
- tmpvar_1 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_6.z) + 0.5)));
- vec4 tmpvar_7;
- tmpvar_7 = light_colors[0];
- vec4 tmpvar_8;
- tmpvar_8 = light_positions[0];
- vec3 tmpvar_9;
- tmpvar_9 = (tmpvar_8.xyz - (world_position * tmpvar_7.w));
- float tmpvar_10;
- tmpvar_10 = dot (tmpvar_9, tmpvar_9);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_7.xyz * max (0.0, (1.0 - (tmpvar_10 * tmpvar_8.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_9 * inversesqrt (tmpvar_10))))));
- vec4 tmpvar_11;
- tmpvar_11 = light_colors[1];
- vec4 tmpvar_12;
- tmpvar_12 = light_positions[1];
- vec3 tmpvar_13;
- tmpvar_13 = (tmpvar_12.xyz - (world_position * tmpvar_11.w));
- float tmpvar_14;
- tmpvar_14 = dot (tmpvar_13, tmpvar_13);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_11.xyz * max (0.0, (1.0 - (tmpvar_14 * tmpvar_12.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_13 * inversesqrt (tmpvar_14))))));
- vec4 tmpvar_15;
- tmpvar_15 = light_colors[2];
- vec4 tmpvar_16;
- tmpvar_16 = light_positions[2];
- vec3 tmpvar_17;
- tmpvar_17 = (tmpvar_16.xyz - (world_position * tmpvar_15.w));
- float tmpvar_18;
- tmpvar_18 = dot (tmpvar_17, tmpvar_17);
- tmpvar_1 = (tmpvar_1 + ((tmpvar_15.xyz * max (0.0, (1.0 - (tmpvar_18 * tmpvar_16.w)))) * max (0.0, dot (tmpvar_6, (tmpvar_17 * inversesqrt (tmpvar_18))))));
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_1 * tmpvar_5.xyz))));
- gl_FragColor.w = tmpvar_5.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:29, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 11bfb857-c21a-48c1-bf27-5d6945559f73
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* cdlod-terrain-medium-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- attribute vec4 position;
- attribute vec4 normal;
- void main ()
- {
- vec3 tmpvar_1;
- world_position = position.xyz;
- world_normal = normal.xyz;
- vec4 tmpvar_2;
- tmpvar_2.w = 1.0;
- tmpvar_2.xyz = position.xyz;
- gl_Position = (projection_view_matrix * tmpvar_2);
- tmpvar_1.xy = (position.xy * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* cdlod-terrain-medium-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:29, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:95(57): error: type mismatch
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* normal and specular mapping default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_1; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_2; /* normal_specular_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* static_world_tangent_transformation */
- varying vec3 world_position; /* static_world_tangent_transformation */
- varying vec4 world_tangent; /* static_world_tangent_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- mat3 tbn_matrix; /* default_tbn_matrix */
- vec4 albedo; /* normal_specular_mapping_main_effect */
- vec3 emission; /* normal_specular_mapping_main_effect */
- vec3 fragment_normal; /* normal_specular_mapping_main_effect */
- float gloss; /* normal_specular_mapping_main_effect */
- vec3 specular; /* normal_specular_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- tbn_matrix[0] = world_tangent.xyz;
- tbn_matrix[1] = cross(world_normal, world_tangent.xyz) * world_tangent.w;
- tbn_matrix[2] = world_normal;
- }
- {
- vec3 normal;
- vec2 specular_gloss;
- normal.xy = texture2D(effect_sampler_1, world_uv).xy;
- normal.xy = normal.xy * 2.0 - 1.0;
- normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
- fragment_normal = tbn_matrix * normal.xyz;
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular_gloss = texture(effect_sampler_2, world_uv).ra;
- specular = specular_gloss.rrr;
- gloss = specular_gloss.g;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* specular_light */
- vec3 specular_color; /* specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec3 dir, reflect_dir, h;
- float dist, scale, nxdir, diffuse, specular, hxdir, exponent, n_dot_h, n_dot_l, l_dot_h;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- #if 0
- n_dot_l = max(0.0, dot(fragment_normal, dir));
- n_dot_h = max(0.0, dot(fragment_normal, h));
- l_dot_h = max(0.0, dot(dir, h));
- #else
- n_dot_l = clamp(dot(fragment_normal, dir), 0.0, 1.0);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- l_dot_h = clamp(dot(dir, h), 0.0, 1.0);
- #endif
- nxdir = n_dot_l;
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = scale * nxdir;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = vec3(0.0);
- if (all(greaterThan(vec4(l_dot_h, n_dot_h, n_dot_l, scale), vec4(0.001))))
- {
- exponent = exp2(12.0 * gloss);
- specular = ((1.0 + exponent) / (8.0 * pow(l_dot_h, 3.0))) * pow(n_dot_h, exponent) * n_dot_l * scale;
- specular_color += light_color.rgb * specular;
- }
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:29, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersourcebuilder.cpp(683): Throw in function eternal_lands::String eternal_lands::{anonymous}::OptimizeShaderSource::get_source()
- Dynamic exception type: eternal_lands::InvalidParameterException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = 0:0(0): error: no matching function for call to `texture(sampler2D, vec2)'
- 0:95(57): error: type mismatch
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* normal and specular mapping with alpha default*/
- const int lights_count = 3;
- const int bones_count = 80;
- const int shadow_maps_count = 0;
- const int clipmap_terrain_slices = 4;
- const int render_targets = 1;
- /* functions */
- /**
- * Converts from Lambert Azimuthal Equal-Area
- * projection. Optimized for normalized Uint8 values.
- * @param value The Lambert Azimuthal Equal-Area
- * projection vector to use (0..1).
- * @return The normalized vector.
- */
- vec3 decode_normal(const in vec2 normal)
- {
- vec2 fenc;
- float f, g;
- fenc = normal * vec2(3.968871595) - vec2(1.984435798);
- f = dot(fenc, fenc);
- g = sqrt(1.0 - f / 4.0);
- return vec3(fenc * g, 1.0 - f / 2.0);
- }
- /**
- * Convertes the normalized rgb10_a2 vector to the
- * scaled terrain displacement vector.
- * @param value The rgb10_a2 normalized value (0..1).
- * @return The terrain displacement vector.
- */
- vec3 decode_terrain_displacement(const in vec4 vector)
- {
- vec3 result, tmp;
- result = vector.xyz;
- result.xy = result.xy * 2.0 - 1.0;
- result *= vec3(32,32,64);
- return result;
- }
- /* uniforms */
- uniform vec4 camera; /* default_view_direction */
- uniform sampler2D effect_sampler_0; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_1; /* normal_specular_mapping_main_effect */
- uniform sampler2D effect_sampler_2; /* normal_specular_mapping_main_effect */
- uniform mat2x4 sky_ground_hemispheres; /* lighting */
- uniform vec4 light_colors[3]; /* lighting */
- uniform vec4 light_positions[3]; /* lighting */
- /* uniform buffers */
- /* fragment shader input */
- varying vec3 world_normal; /* static_world_tangent_transformation */
- varying vec3 world_position; /* static_world_tangent_transformation */
- varying vec4 world_tangent; /* static_world_tangent_transformation */
- varying vec2 world_uv; /* static_uv */
- void main()
- {
- vec4 world_view_direction; /* default_view_direction */
- mat3 tbn_matrix; /* default_tbn_matrix */
- vec4 albedo; /* normal_specular_mapping_main_effect */
- vec3 emission; /* normal_specular_mapping_main_effect */
- vec3 fragment_normal; /* normal_specular_mapping_main_effect */
- float gloss; /* normal_specular_mapping_main_effect */
- vec3 specular; /* normal_specular_mapping_main_effect */
- vec3 fragment_color; /* lighting */
- {
- world_view_direction.xyz = world_position - camera.xyz;
- world_view_direction.w = dot(world_view_direction.xyz, world_view_direction.xyz);
- world_view_direction *= inversesqrt(world_view_direction.w);
- }
- {
- tbn_matrix[0] = world_tangent.xyz;
- tbn_matrix[1] = cross(world_normal, world_tangent.xyz) * world_tangent.w;
- tbn_matrix[2] = world_normal;
- }
- {
- vec3 normal;
- vec2 specular_gloss;
- normal.xy = texture2D(effect_sampler_1, world_uv).xy;
- normal.xy = normal.xy * 2.0 - 1.0;
- normal.z = sqrt(1.0 - dot(normal.xy, normal.xy));
- fragment_normal = tbn_matrix * normal.xyz;
- albedo = texture2D(effect_sampler_0, world_uv);
- emission = vec3(0.0);
- specular_gloss = texture(effect_sampler_2, world_uv).ra;
- specular = specular_gloss.rrr;
- gloss = specular_gloss.g;
- }
- if (albedo.a < 0.5)
- {
- discard;
- }
- /* lighting */
- {
- int i; /* lighting */
- vec3 shadow_values; /* lighting */
- vec3 diffuse_colors_sum; /* lighting */
- vec3 specular_colors_sum; /* lighting */
- vec4 light_color; /* lighting */
- vec4 light_position; /* lighting */
- vec3 diffuse_color; /* specular_light */
- vec3 specular_color; /* specular_light */
- diffuse_colors_sum = sky_ground_hemispheres[0].rgb + sky_ground_hemispheres[1].rgb * (0.5 * fragment_normal.z + 0.5);
- diffuse_colors_sum += emission;
- specular_colors_sum = vec3(0.0);
- for (i = 0; i < 3; ++i)
- {
- light_color = light_colors[i];
- light_position = light_positions[i];
- {
- vec3 dir, reflect_dir, h;
- float dist, scale, nxdir, diffuse, specular, hxdir, exponent, n_dot_h, n_dot_l, l_dot_h;
- dir = light_position.xyz - world_position * light_color.a;
- dist = dot(dir, dir);
- dir *= inversesqrt(dist);
- h = normalize(-world_view_direction.xyz + dir);
- #if 0
- n_dot_l = max(0.0, dot(fragment_normal, dir));
- n_dot_h = max(0.0, dot(fragment_normal, h));
- l_dot_h = max(0.0, dot(dir, h));
- #else
- n_dot_l = clamp(dot(fragment_normal, dir), 0.0, 1.0);
- n_dot_h = clamp(dot(fragment_normal, h), 0.0, 1.0);
- l_dot_h = clamp(dot(dir, h), 0.0, 1.0);
- #endif
- nxdir = n_dot_l;
- scale = max(0.0, 1.0 - dist * light_position.w);
- diffuse = scale * nxdir;
- diffuse_color = light_color.rgb * diffuse;
- specular_color = vec3(0.0);
- if (all(greaterThan(vec4(l_dot_h, n_dot_h, n_dot_l, scale), vec4(0.001))))
- {
- exponent = exp2(12.0 * gloss);
- specular = ((1.0 + exponent) / (8.0 * pow(l_dot_h, 3.0))) * pow(n_dot_h, exponent) * n_dot_l * scale;
- specular_color += light_color.rgb * specular;
- }
- }
- diffuse_colors_sum += diffuse_color;
- specular_colors_sum += specular_color;
- }
- fragment_color = diffuse_colors_sum * albedo.rgb;
- fragment_color += specular * specular_colors_sum;
- }
- gl_FragColor.rgb = 1.0 - exp(-fragment_color);
- gl_FragColor.a = albedo.a;
- }
- [17:27:30, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/glslprogram.cpp(2548): Throw in function void eternal_lands::GlslProgram::do_build(const UniformBufferDescriptionCacheSharedPtr&, const ShaderTypeStringMap&)
- Dynamic exception type: eternal_lands::OpenGlException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = Fragment info
- -------------
- 0(41) : error C6013: Only arrays of texcoords may be indexed in this profile, and only with a loop index variable
- [eternal_lands::errinfo_item_name_*] = 07a5c384-ac2e-49a0-b584-fc25e008be4e
- [eternal_lands::errinfo_stack_string_*] =
- [eternal_lands::errinfo_vertex_shader_*] = #version 120
- /* simple-terrain-all-quality default*/
- invariant gl_Position; /* make existing gl_Position be invariant */
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 terrain_scale;
- uniform mat2x3 clipmap_terrain_matrices[4];
- uniform mat4 projection_view_matrix;
- uniform mat3x4 world_transformation;
- uniform vec4 dudv_scale_offset;
- attribute vec4 position;
- attribute vec4 morph_position;
- attribute vec4 morph_normal;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- tmpvar_2 = morph_position.xyz;
- tmpvar_2.xy = ((morph_position.xy * 2.0) - 1.0);
- vec3 tmpvar_3;
- tmpvar_3 = (tmpvar_2 * vec3(32.0, 32.0, 64.0));
- tmpvar_2 = tmpvar_3;
- vec2 tmpvar_4;
- tmpvar_4 = ((morph_normal.xy * vec2(3.96887, 3.96887)) - vec2(1.98444, 1.98444));
- float tmpvar_5;
- tmpvar_5 = dot (tmpvar_4, tmpvar_4);
- vec3 tmpvar_6;
- tmpvar_6.xy = (tmpvar_4 * sqrt ((1.0 - (tmpvar_5 / 4.0))));
- tmpvar_6.z = (1.0 - (tmpvar_5 / 2.0));
- vec4 tmpvar_7;
- tmpvar_7.w = 1.0;
- tmpvar_7.xyz = (tmpvar_3 + position.xyz);
- vec3 tmpvar_8;
- tmpvar_8 = (tmpvar_7 * world_transformation);
- world_position = tmpvar_8;
- mat3 tmpvar_9;
- tmpvar_9[0] = world_transformation[0].xyz;
- tmpvar_9[1] = world_transformation[1].xyz;
- tmpvar_9[2] = world_transformation[2].xyz;
- world_normal = normalize ((tmpvar_6 * tmpvar_9));
- vec4 tmpvar_10;
- tmpvar_10.w = 1.0;
- tmpvar_10.xyz = position.xyz;
- vec4 tmpvar_11;
- tmpvar_11.w = 1.0;
- tmpvar_11.xyz = tmpvar_8;
- gl_Position = (projection_view_matrix * tmpvar_11);
- tmpvar_1.xy = (((tmpvar_10 * world_transformation).xy + ((morph_normal.zw * dudv_scale_offset.xy) + dudv_scale_offset.zw)) * terrain_scale.zw);
- tmpvar_1.z = 1.0;
- terrain_uvs[0] = (tmpvar_1 * clipmap_terrain_matrices[0]);
- terrain_uvs[1] = (tmpvar_1 * clipmap_terrain_matrices[1]);
- terrain_uvs[2] = (tmpvar_1 * clipmap_terrain_matrices[2]);
- terrain_uvs[3] = (tmpvar_1 * clipmap_terrain_matrices[3]);
- }
- [eternal_lands::errinfo_fragment_shader_*] = #version 120
- /* simple-terrain-all-quality default*/
- varying vec2 terrain_uvs[4];
- varying vec3 world_position;
- varying vec3 world_normal;
- uniform vec4 light_positions[3];
- uniform vec4 light_colors[3];
- uniform mat2x4 sky_ground_hemispheres;
- uniform sampler3D effect_sampler_0;
- uniform vec4 camera;
- void main ()
- {
- vec3 tmpvar_1;
- vec3 tmpvar_2;
- vec3 tmpvar_3;
- int tmpvar_4;
- int tmpvar_5;
- vec4 tmpvar_6;
- tmpvar_6.xyz = (world_position - camera.xyz);
- tmpvar_6.w = dot (tmpvar_6.xyz, tmpvar_6.xyz);
- tmpvar_6 = (tmpvar_6 * inversesqrt (tmpvar_6.w));
- tmpvar_4 = 3;
- tmpvar_5 = 2;
- if (all (lessThan (abs ((terrain_uvs[2] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- tmpvar_4 = tmpvar_5;
- };
- tmpvar_5 = 1;
- if (all (lessThan (abs ((terrain_uvs[1] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((1 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = 0;
- if (all (lessThan (abs ((terrain_uvs[0] - vec2(0.5, 0.5))), vec2(0.4995, 0.4995)))) {
- if ((0 < tmpvar_4)) {
- tmpvar_4 = tmpvar_5;
- };
- };
- tmpvar_5 = -1;
- vec3 tmpvar_7;
- tmpvar_7.xy = terrain_uvs[tmpvar_4];
- tmpvar_7.z = ((float(tmpvar_4) + 0.5) / 4.0);
- vec4 tmpvar_8;
- tmpvar_8 = texture3D (effect_sampler_0, tmpvar_7);
- vec3 tmpvar_9;
- tmpvar_9 = normalize (world_normal);
- tmpvar_3 = (sky_ground_hemispheres[0].xyz + (sky_ground_hemispheres[1].xyz * ((0.5 * tmpvar_9.z) + 0.5)));
- tmpvar_2 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_10;
- tmpvar_10 = light_colors[0];
- vec4 tmpvar_11;
- tmpvar_11 = light_positions[0];
- vec3 tmpvar_12;
- tmpvar_12 = (tmpvar_11.xyz - (world_position * tmpvar_10.w));
- float tmpvar_13;
- tmpvar_13 = dot (tmpvar_12, tmpvar_12);
- vec3 tmpvar_14;
- tmpvar_14 = (tmpvar_12 * inversesqrt (tmpvar_13));
- vec3 tmpvar_15;
- tmpvar_15 = normalize ((-(tmpvar_6.xyz) + tmpvar_14));
- float tmpvar_16;
- tmpvar_16 = clamp (dot (tmpvar_9, tmpvar_14), 0.0, 1.0);
- float tmpvar_17;
- tmpvar_17 = clamp (dot (tmpvar_9, tmpvar_15), 0.0, 1.0);
- float tmpvar_18;
- tmpvar_18 = clamp (dot (tmpvar_14, tmpvar_15), 0.0, 1.0);
- float tmpvar_19;
- tmpvar_19 = max (0.0, (1.0 - (tmpvar_13 * tmpvar_11.w)));
- vec3 tmpvar_20;
- tmpvar_20 = (tmpvar_10.xyz * (tmpvar_19 * tmpvar_16));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_21;
- tmpvar_21.x = tmpvar_18;
- tmpvar_21.y = tmpvar_17;
- tmpvar_21.z = tmpvar_16;
- tmpvar_21.w = tmpvar_19;
- if (all (greaterThan (tmpvar_21, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_10.xyz * ((((2.0 / (8.0 * pow (tmpvar_18, 3.0))) * pow (tmpvar_17, 1.0)) * tmpvar_16) * tmpvar_19));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_20);
- tmpvar_2 = tmpvar_1;
- vec4 tmpvar_22;
- tmpvar_22 = light_colors[1];
- vec4 tmpvar_23;
- tmpvar_23 = light_positions[1];
- vec3 tmpvar_24;
- tmpvar_24 = (tmpvar_23.xyz - (world_position * tmpvar_22.w));
- float tmpvar_25;
- tmpvar_25 = dot (tmpvar_24, tmpvar_24);
- vec3 tmpvar_26;
- tmpvar_26 = (tmpvar_24 * inversesqrt (tmpvar_25));
- vec3 tmpvar_27;
- tmpvar_27 = normalize ((-(tmpvar_6.xyz) + tmpvar_26));
- float tmpvar_28;
- tmpvar_28 = clamp (dot (tmpvar_9, tmpvar_26), 0.0, 1.0);
- float tmpvar_29;
- tmpvar_29 = clamp (dot (tmpvar_9, tmpvar_27), 0.0, 1.0);
- float tmpvar_30;
- tmpvar_30 = clamp (dot (tmpvar_26, tmpvar_27), 0.0, 1.0);
- float tmpvar_31;
- tmpvar_31 = max (0.0, (1.0 - (tmpvar_25 * tmpvar_23.w)));
- vec3 tmpvar_32;
- tmpvar_32 = (tmpvar_22.xyz * (tmpvar_31 * tmpvar_28));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_33;
- tmpvar_33.x = tmpvar_30;
- tmpvar_33.y = tmpvar_29;
- tmpvar_33.z = tmpvar_28;
- tmpvar_33.w = tmpvar_31;
- if (all (greaterThan (tmpvar_33, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_22.xyz * ((((2.0 / (8.0 * pow (tmpvar_30, 3.0))) * pow (tmpvar_29, 1.0)) * tmpvar_28) * tmpvar_31));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_32);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- vec4 tmpvar_34;
- tmpvar_34 = light_colors[2];
- vec4 tmpvar_35;
- tmpvar_35 = light_positions[2];
- vec3 tmpvar_36;
- tmpvar_36 = (tmpvar_35.xyz - (world_position * tmpvar_34.w));
- float tmpvar_37;
- tmpvar_37 = dot (tmpvar_36, tmpvar_36);
- vec3 tmpvar_38;
- tmpvar_38 = (tmpvar_36 * inversesqrt (tmpvar_37));
- vec3 tmpvar_39;
- tmpvar_39 = normalize ((-(tmpvar_6.xyz) + tmpvar_38));
- float tmpvar_40;
- tmpvar_40 = clamp (dot (tmpvar_9, tmpvar_38), 0.0, 1.0);
- float tmpvar_41;
- tmpvar_41 = clamp (dot (tmpvar_9, tmpvar_39), 0.0, 1.0);
- float tmpvar_42;
- tmpvar_42 = clamp (dot (tmpvar_38, tmpvar_39), 0.0, 1.0);
- float tmpvar_43;
- tmpvar_43 = max (0.0, (1.0 - (tmpvar_37 * tmpvar_35.w)));
- vec3 tmpvar_44;
- tmpvar_44 = (tmpvar_34.xyz * (tmpvar_43 * tmpvar_40));
- tmpvar_1 = vec3(0.0, 0.0, 0.0);
- vec4 tmpvar_45;
- tmpvar_45.x = tmpvar_42;
- tmpvar_45.y = tmpvar_41;
- tmpvar_45.z = tmpvar_40;
- tmpvar_45.w = tmpvar_43;
- if (all (greaterThan (tmpvar_45, vec4(0.001, 0.001, 0.001, 0.001)))) {
- tmpvar_1 = (tmpvar_34.xyz * ((((2.0 / (8.0 * pow (tmpvar_42, 3.0))) * pow (tmpvar_41, 1.0)) * tmpvar_40) * tmpvar_43));
- };
- tmpvar_3 = (tmpvar_3 + tmpvar_44);
- tmpvar_2 = (tmpvar_2 + tmpvar_1);
- gl_FragColor.xyz = (1.0 - exp (-((tmpvar_3 * tmpvar_8.xyz))));
- gl_FragColor.w = tmpvar_8.w;
- }
- [eternal_lands::errinfo_geometry_shader_*] =
- [17:27:30, effect.cpp:275] exception: /home/Flame/Documents/newEL/Eternal-Lands-master/engine/shader/shadersource.cpp(192): Throw in function const eternal_lands::ShaderSourceData& eternal_lands::ShaderSource::get_data(eternal_lands::ShaderType, eternal_lands::ShaderVersionType) const
- Dynamic exception type: eternal_lands::ItemNotFoundException
- std::exception::what: std::exception
- [eternal_lands::errinfo_message_*] = No shader source data with shader vertex version 120 in 'water_animation_world_normal_transformation' found.
- [eternal_lands::errinfo_stack_string_*] =
- [17:27:30, actor_scripts.c:4400] Error: Data Error in human female(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in human male(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in elf female(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in elf male(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in dwarf female(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in dwarf male(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in wraith(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in cyclops(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in beaver(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in rat(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in goblin male 2(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in goblin female 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in deer(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in bear 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in wolf(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in white rabbit(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in brown rabbit(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in boar(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in bear 2(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in snake 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in snake 2(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in snake 3(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in fox(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in puma(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in ogre male 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in goblin male 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in orc male 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in orc female 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in skeleton(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in gargoyle 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in gargoyle 2(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in gargoyle 3(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in troll(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in chimeran mountain wolf(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in gnome female(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in gnome male(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in orchan female(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in orchan male(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in draegoni female(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in draegoni male(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in skunk 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in racoon 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in unicorn 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in chimeran desert wolf(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in chimeran forest wolf(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in chimeran arctic wolf(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in bear 3(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in bear 4(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in panther(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in leopard 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in leopard 2(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in feran(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in tiger 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in tiger 2(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in armed female orc(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in armed male orc(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in armed skeleton(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in phantom warrior(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in imp(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in brownie(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in spider big 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in spider big 2(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in spider big 3(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in spider big 4(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in spider small 1(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in spider small 2(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in spider small 3(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in spider small 4(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in wood sprite(-1): Actor ID out of range -1
- [17:27:30, actor_scripts.c:4400] Error: Data Error in leprechaun(-1): Actor ID out of range -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement