[Bf-blender-cvs] [ab5f86a04e1] blender2.8: Eevee: Render: Add Transparent Background option.

Clément Foucault noreply at git.blender.org
Thu Feb 1 20:49:09 CET 2018


Commit: ab5f86a04e1cbc7105ae50836abb74524516e976
Author: Clément Foucault
Date:   Thu Feb 1 18:54:17 2018 +0100
Branches: blender2.8
https://developer.blender.org/rBab5f86a04e1cbc7105ae50836abb74524516e976

Eevee: Render: Add Transparent Background option.

... under a new "Film" tab in the render properties panel.

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

M	release/scripts/startup/bl_ui/properties_render.py
M	source/blender/draw/engines/eevee/eevee_render.c
M	source/blender/draw/intern/draw_manager.c

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

diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 94eedec98e1..3ec1dbf85a7 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -877,6 +877,25 @@ class RENDER_PT_eevee_indirect_lighting(RenderButtonsPanel, Panel):
         col.prop(props, "gi_visibility_resolution")
 
 
+class RENDER_PT_eevee_film(RenderButtonsPanel, Panel):
+    bl_label = "Film"
+    bl_options = {'DEFAULT_CLOSED'}
+    COMPAT_ENGINES = {'BLENDER_EEVEE'}
+
+    @classmethod
+    def poll(cls, context):
+        scene = context.scene
+        return scene and (scene.view_render.engine in cls.COMPAT_ENGINES)
+
+    def draw(self, context):
+        layout = self.layout
+        scene = context.scene
+        rd = scene.render
+
+        col = layout.column()
+        col.prop(rd, "alpha_mode", text="Alpha")
+
+
 classes = (
     RENDER_MT_presets,
     RENDER_MT_ffmpeg_presets,
@@ -896,6 +915,7 @@ classes = (
     RENDER_PT_clay_layer_settings,
     RENDER_PT_clay_collection_settings,
     RENDER_PT_eevee_sampling,
+    RENDER_PT_eevee_film,
     RENDER_PT_eevee_shadows,
     RENDER_PT_eevee_indirect_lighting,
     RENDER_PT_eevee_subsurface_scattering,
diff --git a/source/blender/draw/engines/eevee/eevee_render.c b/source/blender/draw/engines/eevee/eevee_render.c
index b4a0986b56c..92ea737906c 100644
--- a/source/blender/draw/engines/eevee/eevee_render.c
+++ b/source/blender/draw/engines/eevee/eevee_render.c
@@ -75,7 +75,7 @@ void EEVEE_render_init(EEVEE_Data *ved, RenderEngine *engine, struct Depsgraph *
 		stl->g_data = MEM_callocN(sizeof(*stl->g_data), __func__);
 	}
 	EEVEE_PrivateData *g_data = stl->g_data;
-	g_data->background_alpha = 1.0f; /* TODO option */
+	g_data->background_alpha = DRW_state_draw_background() ? 1.0f : 0.0f;
 	g_data->valid_double_buffer = 0;
 
 	/* Alloc common ubo data. */
@@ -348,7 +348,7 @@ void EEVEE_render_draw(EEVEE_Data *vedata, struct RenderEngine *engine, struct D
 	unsigned int render_samples = BKE_collection_engine_property_value_get_int(props, "taa_render_samples");
 
 	while (render_samples-- > 0) {
-		float clear_col[4] = {0.0f, 0.0f, 0.0f, 0.6f};
+		float clear_col[4] = {0.0f, 0.0f, 0.0f, 0.0f};
 		unsigned int primes[3] = {2, 3, 7};
 		double offset[3] = {0.0, 0.0, 0.0};
 		double r[3];
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 0e8861b48bb..baa2f46a87a 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -3607,6 +3607,7 @@ void DRW_render_to_image(RenderEngine *re, struct Depsgraph *depsgraph)
 	/* Reset before using it. */
 	memset(&DST, 0x0, sizeof(DST));
 	DST.options.is_image_render = true;
+	DST.options.draw_background = scene->r.alphamode == R_ADDSKY;
 
 	DST.draw_ctx = (DRWContextState){
 	    NULL, NULL, NULL, scene, view_layer, OBACT(view_layer), engine_type, depsgraph, NULL



More information about the Bf-blender-cvs mailing list