From c7bcd1137fecbd931b7bac52e80e33a34e9c92dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cle=CC=81ment=20Foucault?= Date: Mon, 15 Jul 2024 11:59:26 +0200 Subject: [PATCH 1/3] Fix: UI: Hide studiolight world orientation button for Cycles This option is not available in EEVEE anymore. Limit the visibility to Workbench. Fix #124521 Pull Request: https://projects.blender.org/blender/blender/pulls/124717 --- scripts/startup/bl_ui/space_view3d.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/startup/bl_ui/space_view3d.py b/scripts/startup/bl_ui/space_view3d.py index 4c7b5803c8e..56c7ff12883 100644 --- a/scripts/startup/bl_ui/space_view3d.py +++ b/scripts/startup/bl_ui/space_view3d.py @@ -6918,7 +6918,7 @@ class VIEW3D_PT_shading_lighting(Panel): engine = context.scene.render.engine row = col.row() - if engine != 'BLENDER_EEVEE_NEXT': + if engine == 'BLENDER_WORKBENCH': row.prop(shading, "use_studiolight_view_rotation", text="", icon='WORLD', toggle=True) row = row.row() row.prop(shading, "studiolight_rotate_z", text="Rotation") From b761d3435f3308dec5b4d5d13390fcde5759654d Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Mon, 15 Jul 2024 15:35:57 +0200 Subject: [PATCH 2/3] Image Plane: Add support for EEVEE - Fixes incorrect handling of incompatible engines. There is a global list of compatible engines, but `create_cycles_material` didn't use it, displaying an incorrect warning when using the operator. - Add `BLENDER_EEVEE_NEXT` to compatible engines. - Remove `BLENDER_EEVEE` from compatible engines. - Add render method option. This replaces the material `blend_method` - Remove material blend method option (replaced by `render_method`) - Remove material shadow option. Not needed anymore as shadows use the node tree for evaluation. **TODO** - Manual should still be updated. Will be done after this patch lands. - I did some basic tests. I am not familiar with this operator, but think it should handle all the different cases. Would be nice to have some render tests for this to detect regressions. Implements: #122315 Pull Request: https://projects.blender.org/blender/blender/pulls/124094 --- .../startup/bl_operators/image_as_planes.py | 46 ++++++------------- 1 file changed, 13 insertions(+), 33 deletions(-) diff --git a/scripts/startup/bl_operators/image_as_planes.py b/scripts/startup/bl_operators/image_as_planes.py index dc0794608f9..1c7daed0a49 100644 --- a/scripts/startup/bl_operators/image_as_planes.py +++ b/scripts/startup/bl_operators/image_as_planes.py @@ -38,7 +38,7 @@ from bpy_extras.io_utils import ImportHelper # ----------------------------------------------------------------------------- # Constants -COMPATIBLE_ENGINES = {'CYCLES', 'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} +COMPATIBLE_ENGINES = {'CYCLES', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'} # ----------------------------------------------------------------------------- # Image loading @@ -290,31 +290,15 @@ class MaterialProperties_MixIn: description="Use alpha channel for transparency", ) - blend_method: EnumProperty( - name="Blend Mode", + render_method: EnumProperty( + name="Render Method", items=( - ('BLEND', "Blend", "Render polygon transparent, depending on alpha channel of the texture"), - ('CLIP', "Clip", "Use the alpha threshold to clip the visibility (binary visibility)"), - ('HASHED', "Hashed", "Use noise to dither the binary visibility (works well with multi-samples)"), - ('OPAQUE', "Opaque", "Render surface without transparency"), - ), - default='BLEND', - description="Blend Mode for Transparent Faces", - translation_context=i18n_contexts.id_material, - ) - - shadow_method: EnumProperty( - name="Shadow Mode", - items=( - ('CLIP', "Clip", "Use the alpha threshold to clip the visibility (binary visibility)"), - ('HASHED', "Hashed", "Use noise to dither the binary visibility (works well with multi-samples)"), - ('OPAQUE', "Opaque", "Material will cast shadows without transparency"), - ('NONE', "None", "Material will cast no shadow"), - ), - default='CLIP', - description="Shadow mapping method", - translation_context=i18n_contexts.id_material, - ) + ('DITHERED', + "Dithered", + "Allows for grayscale hashed transparency, and compatible with render passes and raytracing. Also known as deferred rendering."), + ('BLENDED', + "Blended", + "Allows for colored transparency, but incompatible with render passes and raytracing. Also known as forward rendering."))) use_backface_culling: BoolProperty( name="Backface Culling", @@ -345,16 +329,14 @@ class MaterialProperties_MixIn: if self.shader == 'EMISSION': body.prop(self, "emit_strength") - body.prop(self, 'blend_method') - - body.prop(self, 'shadow_method') - if self.blend_method == 'BLEND': + body.prop(self, 'render_method') + if self.render_method == 'BLENDED': body.prop(self, "show_transparent_back") body.prop(self, "use_backface_culling") engine = context.scene.render.engine - if engine not in ('CYCLES', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'): + if engine not in COMPATIBLE_ENGINES: body.label(text=tip_("{:s} is not supported").format(engine), icon='ERROR') body.prop(self, "overwrite_material") @@ -456,9 +438,7 @@ def create_cycles_material(self, context, img_spec, name): material.use_nodes = True - material.blend_method = self.blend_method - material.shadow_method = self.shadow_method - + material.surface_render_method = self.render_method material.use_backface_culling = self.use_backface_culling material.use_transparency_overlap = self.show_transparent_back From 1c3d51a2f1edc3dcf804f76ba2238281f88b8e89 Mon Sep 17 00:00:00 2001 From: Thomas Dinges Date: Mon, 15 Jul 2024 16:40:01 +0200 Subject: [PATCH 3/3] Release: Update freedesktop xml for 4.2. --- .../org.blender.Blender.metainfo.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/release/freedesktop/org.blender.Blender.metainfo.xml b/release/freedesktop/org.blender.Blender.metainfo.xml index d6a7ea55e19..89ef74ad6dd 100644 --- a/release/freedesktop/org.blender.Blender.metainfo.xml +++ b/release/freedesktop/org.blender.Blender.metainfo.xml @@ -48,6 +48,23 @@ + + +

New features:

+
    +
  • EEVEE: Completely rewritten from scratch to allow global illumination, displacement, better SSS, viewport motion blur, and so much more
  • +
  • Cycles: Ray Portal BSDF, Thin Film interference effect, better sampling for volumes
  • +
  • Extensions: Add-ons and themes got a big overhaul and are now unified as Extensions
  • +
+

Enhancements:

+
    +
  • Collections can now specify their own exporters
  • +
  • USD: support for importing and exporting hair curves, and for importing point clouds
  • +
  • Visual overhaul for the video sequencer
  • +
  • Polyline gestures, allowing for a quick way to create polygonal shapes
  • +
+
+

New features: