[Bf-blender-cvs] [da8b34e5271] blender2.8: Eevee: Fix some issues

Clément Foucault noreply at git.blender.org
Wed May 10 16:03:37 CEST 2017


Commit: da8b34e52718505de0d5d0722dbcdcec18ca60b3
Author: Clément Foucault
Date:   Wed May 10 10:31:17 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBda8b34e52718505de0d5d0722dbcdcec18ca60b3

Eevee: Fix some issues

Fix issue with manipulator contributing to depth.
Fix blender internal shader.

===================================================================

M	source/blender/draw/engines/eevee/eevee_engine.c
M	source/blender/draw/engines/eevee/shaders/background_vert.glsl
M	source/blender/draw/intern/draw_manager.c
M	source/blender/gpu/shaders/gpu_shader_material.glsl

===================================================================

diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c
index 5e6c10ef3f5..0ab5691b5a1 100644
--- a/source/blender/draw/engines/eevee/eevee_engine.c
+++ b/source/blender/draw/engines/eevee/eevee_engine.c
@@ -688,6 +688,7 @@ static void EEVEE_draw_scene(void *vedata)
 	DRW_framebuffer_texture_detach(dtxl->depth);
 	DRW_framebuffer_texture_attach(fbl->main, dtxl->depth, 0, 0);
 	DRW_framebuffer_bind(fbl->main);
+	DRW_framebuffer_clear(false, true, false, NULL, 1.0f);
 
 	DRW_draw_pass(psl->background_pass);
 	DRW_draw_pass(psl->depth_pass);
diff --git a/source/blender/draw/engines/eevee/shaders/background_vert.glsl b/source/blender/draw/engines/eevee/shaders/background_vert.glsl
index e70ffe4d2f0..9b43d563d7c 100644
--- a/source/blender/draw/engines/eevee/shaders/background_vert.glsl
+++ b/source/blender/draw/engines/eevee/shaders/background_vert.glsl
@@ -1,6 +1,4 @@
 
-mat4 ViewProjectionMatrixInverse;
-
 in vec2 pos;
 
 out vec3 varposition;
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 427ebbab71e..0f8406ff509 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -2605,11 +2605,11 @@ void DRW_draw_render_loop(
 
 	DRW_engines_draw_text();
 
-	/* needed so manipulator isn't obscured */
-	glClear(GL_DEPTH_BUFFER_BIT);
-
 	if (DST.draw_ctx.evil_C) {
+		/* needed so manipulator isn't obscured */
+		glDisable(GL_DEPTH_TEST);
 		DRW_draw_manipulator();
+		glEnable(GL_DEPTH_TEST);
 
 		DRW_draw_region_info();
 	}
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl
index de8c6056ff9..c021fe26ad4 100644
--- a/source/blender/gpu/shaders/gpu_shader_material.glsl
+++ b/source/blender/gpu/shaders/gpu_shader_material.glsl
@@ -3896,6 +3896,9 @@ void convert_metallic_to_specular(vec4 basecol, float metallic, float specular_f
 	f0 = mix(dielectric, basecol, metallic);
 }
 
+/* TODO : clean this ifdef mess */
+/* EEVEE output */
+#ifdef PROBE_CAPTURE
 void world_normals_get(out vec3 N)
 {
 	N = gl_FrontFacing ? worldNormal : -worldNormal;
@@ -3919,6 +3922,7 @@ void node_output_specular(
 {
 	result = vec4(eevee_surface_lit(normal, diffuse.rgb, specular.rgb, roughness, occlusion) + emissive.rgb, 1.0 - transp);
 }
+#endif
 
 /* ********************** matcap style render ******************** */




More information about the Bf-blender-cvs mailing list