[Evas: Evas_3D]Fixed bug with shadows and blending of vertex position

Reviewers: cedric, Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1850
This commit is contained in:
Dmytro Dadyka 2015-01-07 12:00:47 +09:00 committed by ChunEon Park
parent 5e3cad840e
commit e7752ff7d7
3 changed files with 4 additions and 4 deletions

View File

@ -201,7 +201,7 @@ main(void)
evas_3d_light_ambient_set(0.2, 0.2, 0.2, 1.0),
evas_3d_light_diffuse_set(1.0, 1.0, 1.0, 1.0),
evas_3d_light_specular_set(1.0, 1.0, 1.0, 1.0),
evas_3d_light_projection_perspective_set(45.0, 1.0, 2.0, 1000.0));
evas_3d_light_projection_perspective_set(60.0, 1.0, 2.0, 1000.0));
light_node =
eo_add(EVAS_3D_NODE_CLASS, evas,

View File

@ -1242,7 +1242,7 @@ void _shadowmap_render(E3D_Drawable *drawable, E3D_Renderer *renderer, Evas_3D_S
Evas_Mat4 matrix_vp;
glEnable(GL_POLYGON_OFFSET_FILL);
glPolygonOffset(4.0, 10000.0);
glPolygonOffset(4.0, 100.0);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, drawable->texDepth, 0);
e3d_renderer_target_set(renderer, drawable);
e3d_renderer_clear(renderer, &c);

View File

@ -501,7 +501,7 @@ _vertex_shader_string_get(E3D_Shader_String *shader,
if (flags & E3D_SHADER_FLAG_SHADOWED)
{
ADD_LINE("lpos = uMatrixLight * vec4(aPosition0.xyz, 1.0);");
ADD_LINE("lpos = uMatrixLight * position;");
}
ADD_LINE("}");
@ -1143,7 +1143,7 @@ _fragment_shader_string_get(E3D_Shader_String *shader,
ADD_LINE("fragmentNormalMap();");
}
if (flags & E3D_SHADER_FLAG_FOG_ENABLED)
if ((flags & E3D_SHADER_FLAG_FOG_ENABLED) && (mode != EVAS_3D_SHADE_MODE_SHADOW_MAP_RENDER))
{
ADD_LINE("float z = gl_FragCoord.z / gl_FragCoord.w;");
ADD_LINE("float fogFactor = exp2( -uFogFactor * uFogFactor * z * z * 1.44 );");