Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--intern/cycles/blender/addon/properties.py5
-rw-r--r--intern/cycles/blender/addon/ui.py11
-rw-r--r--intern/cycles/blender/blender_shader.cpp11
-rw-r--r--release/scripts/modules/bl_previews_utils/bl_previews_render.py2
-rw-r--r--release/scripts/startup/bl_operators/clip.py3
-rw-r--r--release/scripts/startup/bl_ui/properties_render.py4
-rw-r--r--source/blender/blenkernel/BKE_blender_version.h2
-rw-r--r--source/blender/blenloader/intern/versioning_cycles.c14
-rw-r--r--source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp7
-rw-r--r--source/blender/makesrna/intern/rna_scene.c19
10 files changed, 30 insertions, 48 deletions
diff --git a/intern/cycles/blender/addon/properties.py b/intern/cycles/blender/addon/properties.py
index f376eb8ec67..35f9e17dc41 100644
--- a/intern/cycles/blender/addon/properties.py
+++ b/intern/cycles/blender/addon/properties.py
@@ -417,11 +417,6 @@ class CyclesRenderSettings(bpy.types.PropertyGroup):
min=0.0, max=10.0,
default=1.0,
)
- film_transparent: BoolProperty(
- name="Transparent",
- description="World background is transparent, for compositing the render over another background",
- default=False,
- )
film_transparent_glass: BoolProperty(
name="Transparent Glass",
description="Render transmissive surfaces as transparent, for compositing glass over another background",
diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index 5ff88367f22..86f58769025 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -528,31 +528,32 @@ class CYCLES_RENDER_PT_film(CyclesButtonsPanel, Panel):
class CYCLES_RENDER_PT_film_transparency(CyclesButtonsPanel, Panel):
- bl_label = "Transparency"
+ bl_label = "Transparent"
bl_parent_id = "CYCLES_RENDER_PT_film"
def draw_header(self, context):
layout = self.layout
scene = context.scene
- cscene = scene.cycles
+ rd = scene.render
- layout.prop(cscene, "film_transparent", text="")
+ layout.prop(rd, "film_transparent", text="")
def draw(self, context):
layout = self.layout
layout.use_property_split = True
layout.use_property_decorate = False
scene = context.scene
+ rd = scene.render
cscene = scene.cycles
- layout.active = cscene.film_transparent
+ layout.active = rd.film_transparent
col = layout.column()
col.prop(cscene, "film_transparent_glass", text="Transparent Glass")
sub = col.column()
- sub.active = cscene.film_transparent and cscene.film_transparent_glass
+ sub.active = rd.film_transparent and cscene.film_transparent_glass
sub.prop(cscene, "film_transparent_roughness", text="Roughness Threshold")
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index 8321d0c088c..f42a15706e7 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -1354,16 +1354,7 @@ void BlenderSync::sync_world(BL::Depsgraph &b_depsgraph, bool update_all)
}
PointerRNA cscene = RNA_pointer_get(&b_scene.ptr, "cycles");
-
- /* when doing preview render check for BI's transparency settings,
- * this is so because Blender's preview render routines are not able
- * to tweak all cycles's settings depending on different circumstances
- */
- if (b_engine.is_preview() == false)
- background->transparent = get_boolean(cscene, "film_transparent");
- else
- background->transparent = b_scene.render().alpha_mode() ==
- BL::RenderSettings::alpha_mode_TRANSPARENT;
+ background->transparent = b_scene.render().film_transparent();
if (background->transparent) {
background->transparent_glass = get_boolean(cscene, "film_transparent_glass");
diff --git a/release/scripts/modules/bl_previews_utils/bl_previews_render.py b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
index 804bf248a4b..a20e5f46e9d 100644
--- a/release/scripts/modules/bl_previews_utils/bl_previews_render.py
+++ b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
@@ -123,7 +123,7 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
scene.collection.objects.link(light)
scene.render.engine = 'CYCLES'
- scene.cycles.film_transparent = True
+ scene.render.film_transparent = True
# TODO: define Cycles world?
scene.render.image_settings.file_format = 'PNG'
diff --git a/release/scripts/startup/bl_operators/clip.py b/release/scripts/startup/bl_operators/clip.py
index 664684cce6d..e857d8547a7 100644
--- a/release/scripts/startup/bl_operators/clip.py
+++ b/release/scripts/startup/bl_operators/clip.py
@@ -850,9 +850,6 @@ class CLIP_OT_setup_tracking_scene(Operator):
# Ensure no nodes were created on the position of existing node.
self._offsetNodes(tree)
- if hasattr(scene, "cycles"):
- scene.cycles.film_transparent = True
-
@staticmethod
def _createMesh(collection, name, vertices, faces):
from bpy_extras.io_utils import unpack_list
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 56784cdcdaa..18ef034af32 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -495,7 +495,7 @@ class RENDER_PT_eevee_film(RenderButtonsPanel, Panel):
col = layout.column()
col.prop(rd, "filter_size")
- col.prop(rd, "alpha_mode", text="Alpha")
+ col.prop(rd, "film_transparent", text="Transparent")
class RENDER_PT_eevee_film_overscan(RenderButtonsPanel, Panel):
@@ -573,7 +573,7 @@ class RENDER_PT_opengl_film(RenderButtonsPanel, Panel):
layout.use_property_decorate = False # No animation.
rd = context.scene.render
- layout.prop(rd, "alpha_mode")
+ layout.prop(rd, "film_transparent", text="Transparent")
class RENDER_PT_opengl_lighting(RenderButtonsPanel, Panel):
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index e6692959c95..0afcd37c81b 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -27,7 +27,7 @@
* \note Use #STRINGIFY() rather than defining with quotes.
*/
#define BLENDER_VERSION 280
-#define BLENDER_SUBVERSION 67
+#define BLENDER_SUBVERSION 68
/** Several breakages with 280, e.g. collections vs layers. */
#define BLENDER_MINVERSION 280
#define BLENDER_MINSUBVERSION 0
diff --git a/source/blender/blenloader/intern/versioning_cycles.c b/source/blender/blenloader/intern/versioning_cycles.c
index ace90350a21..3fc6d982e0f 100644
--- a/source/blender/blenloader/intern/versioning_cycles.c
+++ b/source/blender/blenloader/intern/versioning_cycles.c
@@ -396,6 +396,20 @@ void blo_do_versions_cycles(FileData *UNUSED(fd), Library *UNUSED(lib), Main *bm
}
}
}
+
+ if (!MAIN_VERSION_ATLEAST(bmain, 280, 68)) {
+ /* Unify Cycles and EEVEE Film Transparency. */
+ for (Scene *scene = bmain->scenes.first; scene; scene = scene->id.next) {
+ if (STREQ(scene->r.engine, RE_engine_id_CYCLES)) {
+ IDProperty *cscene = cycles_properties_from_ID(&scene->id);
+ if (cscene) {
+ bool cycles_film_transparency = cycles_property_boolean(
+ cscene, "film_transparent", false);
+ scene->r.alphamode = cycles_film_transparency ? R_ALPHAPREMUL : R_ADDSKY;
+ }
+ }
+ }
+ }
}
void do_versions_after_linking_cycles(Main *bmain)
diff --git a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
index 082ed34c353..dbd770eb5e8 100644
--- a/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
+++ b/source/blender/freestyle/intern/blender_interface/BlenderStrokeRenderer.cpp
@@ -125,13 +125,6 @@ BlenderStrokeRenderer::BlenderStrokeRenderer(Render *re, int render_count) : Str
/* Render with transparent background. */
freestyle_scene->r.alphamode = R_ALPHAPREMUL;
- if (STREQ(freestyle_scene->r.engine, RE_engine_id_CYCLES)) {
- PointerRNA freestyle_scene_ptr;
- RNA_id_pointer_create(&freestyle_scene->id, &freestyle_scene_ptr);
- PointerRNA freestyle_cycles_ptr = RNA_pointer_get(&freestyle_scene_ptr, "cycles");
- RNA_boolean_set(&freestyle_cycles_ptr, "film_transparent", 1);
- }
-
if (G.debug & G_DEBUG_FREESTYLE) {
printf("%s: %d thread(s)\n", __func__, BKE_render_num_threads(&freestyle_scene->r));
}
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index b7399202624..c91b32bf7d1 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -5498,16 +5498,6 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
- static const EnumPropertyItem alpha_mode_items[] = {
- {R_ADDSKY, "SKY", 0, "Sky", "Transparent pixels are filled with sky color"},
- {R_ALPHAPREMUL,
- "TRANSPARENT",
- 0,
- "Transparent",
- "World background is transparent with premultiplied alpha"},
- {0, NULL, 0, NULL, NULL},
- };
-
static const EnumPropertyItem display_mode_items[] = {
{R_OUTPUT_SCREEN,
"SCREEN",
@@ -5735,11 +5725,12 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
prop, "Filter Size", "Width over which the reconstruction filter combines samples");
RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, NULL);
- prop = RNA_def_property(srna, "alpha_mode", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "alphamode");
- RNA_def_property_enum_items(prop, alpha_mode_items);
+ prop = RNA_def_property(srna, "film_transparent", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "alphamode", R_ALPHAPREMUL);
RNA_def_property_ui_text(
- prop, "Alpha Mode", "Representation of alpha information in the RGBA pixels");
+ prop,
+ "Transparent",
+ "World background is transparent, for compositing the render over another background");
RNA_def_property_update(prop, NC_SCENE | ND_RENDER_OPTIONS, "rna_Scene_glsl_update");
prop = RNA_def_property(srna, "use_freestyle", PROP_BOOLEAN, PROP_NONE);