Merge branch 'blender-v4.2-release'

This commit is contained in:
Thomas Dinges
2024-07-15 16:41:40 +02:00
3 changed files with 31 additions and 34 deletions

View File

@@ -48,6 +48,23 @@
</screenshot>
</screenshots>
<releases>
<release version="4.2" date="2024-07-16">
<description>
<p>New features:</p>
<ul>
<li>EEVEE: Completely rewritten from scratch to allow global illumination, displacement, better SSS, viewport motion blur, and so much more</li>
<li>Cycles: Ray Portal BSDF, Thin Film interference effect, better sampling for volumes</li>
<li>Extensions: Add-ons and themes got a big overhaul and are now unified as Extensions</li>
</ul>
<p>Enhancements:</p>
<ul>
<li>Collections can now specify their own exporters</li>
<li>USD: support for importing and exporting hair curves, and for importing point clouds</li>
<li>Visual overhaul for the video sequencer</li>
<li>Polyline gestures, allowing for a quick way to create polygonal shapes</li>
</ul>
</description>
</release>
<release version="4.1" date="2024-03-19">
<description>
<p>New features:</p>

View File

@@ -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

View File

@@ -6905,7 +6905,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")