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:
Diffstat (limited to 'release')
-rw-r--r--release/datafiles/fonts/DejaVuSans.woff2bin0 -> 257564 bytes
-rw-r--r--release/datafiles/fonts/DejaVuSansMono.woff2bin0 -> 145192 bytes
-rw-r--r--release/datafiles/fonts/Noto Sans CJK Regular.woff2bin0 -> 11672912 bytes
-rw-r--r--release/datafiles/fonts/NotoEmoji-VariableFont_wght.woff2bin0 -> 1026984 bytes
-rw-r--r--release/datafiles/fonts/NotoSansArabic-VariableFont_wdth,wght.woff2bin0 -> 253496 bytes
-rw-r--r--release/datafiles/fonts/NotoSansArmenian-VariableFont_wdth,wght.woff2bin0 -> 47492 bytes
-rw-r--r--release/datafiles/fonts/NotoSansBengali-VariableFont_wdth,wght.woff2bin0 -> 226740 bytes
-rw-r--r--release/datafiles/fonts/NotoSansDevanagari-Regular.woff2bin0 -> 69872 bytes
-rw-r--r--release/datafiles/fonts/NotoSansEthiopic-Regular.woff2bin0 -> 92608 bytes
-rw-r--r--release/datafiles/fonts/NotoSansGeorgian-VariableFont_wdth,wght.woff2bin0 -> 101524 bytes
-rw-r--r--release/datafiles/fonts/NotoSansGujarati-Regular.woff2bin0 -> 58668 bytes
-rw-r--r--release/datafiles/fonts/NotoSansGurmukhi-VariableFont_wdth,wght.woff2bin0 -> 66568 bytes
-rw-r--r--release/datafiles/fonts/NotoSansHebrew-VariableFont_wdth,wght.woff2bin0 -> 17544 bytes
-rw-r--r--release/datafiles/fonts/NotoSansJavanese-Regular.woff2bin0 -> 34144 bytes
-rw-r--r--release/datafiles/fonts/NotoSansKannada-VariableFont_wdth,wght.woff2bin0 -> 156260 bytes
-rw-r--r--release/datafiles/fonts/NotoSansMalayalam-VariableFont_wdth,wght.woff2bin0 -> 159848 bytes
-rw-r--r--release/datafiles/fonts/NotoSansMath-Regular.woff2bin0 -> 226460 bytes
-rw-r--r--release/datafiles/fonts/NotoSansMyanmar-Regular.woff2bin0 -> 64692 bytes
-rw-r--r--release/datafiles/fonts/NotoSansSymbols-VariableFont_wght.woff2bin0 -> 152244 bytes
-rw-r--r--release/datafiles/fonts/NotoSansSymbols2-Regular.woff2bin0 -> 201324 bytes
-rw-r--r--release/datafiles/fonts/NotoSansTamil-VariableFont_wdth,wght.woff2bin0 -> 98380 bytes
-rw-r--r--release/datafiles/fonts/NotoSansTelugu-VariableFont_wdth,wght.woff2bin0 -> 209708 bytes
-rw-r--r--release/datafiles/fonts/NotoSansThai-VariableFont_wdth,wght.woff2bin0 -> 46852 bytes
-rw-r--r--release/datafiles/fonts/bmonofont-i18n.ttfbin5576400 -> 0 bytes
-rw-r--r--release/datafiles/fonts/droidsans.ttfbin5342868 -> 0 bytes
-rw-r--r--release/datafiles/fonts/lastresort.woff2bin0 -> 118564 bytes
-rw-r--r--release/datafiles/splash.pngbin1091604 -> 842492 bytes
-rw-r--r--release/scripts/modules/gpu_extras/presets.py15
-rw-r--r--release/scripts/modules/rna_keymap_ui.py6
-rw-r--r--release/scripts/startup/bl_operators/node.py32
-rw-r--r--release/scripts/startup/bl_operators/wm.py5
-rw-r--r--release/scripts/startup/bl_ui/properties_data_camera.py4
-rw-r--r--release/scripts/startup/bl_ui/properties_data_light.py12
-rw-r--r--release/scripts/startup/bl_ui/properties_grease_pencil_common.py3
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py6
-rw-r--r--release/scripts/startup/bl_ui/properties_render.py91
-rw-r--r--release/scripts/startup/bl_ui/properties_view_layer.py5
-rw-r--r--release/scripts/startup/bl_ui/space_node.py6
-rw-r--r--release/scripts/startup/bl_ui/space_toolsystem_toolbar.py2
-rw-r--r--release/scripts/startup/bl_ui/space_userpref.py7
-rw-r--r--release/scripts/startup/bl_ui/space_view3d.py19
41 files changed, 154 insertions, 59 deletions
diff --git a/release/datafiles/fonts/DejaVuSans.woff2 b/release/datafiles/fonts/DejaVuSans.woff2
new file mode 100644
index 00000000000..a391596a421
--- /dev/null
+++ b/release/datafiles/fonts/DejaVuSans.woff2
Binary files differ
diff --git a/release/datafiles/fonts/DejaVuSansMono.woff2 b/release/datafiles/fonts/DejaVuSansMono.woff2
new file mode 100644
index 00000000000..cf200e12fff
--- /dev/null
+++ b/release/datafiles/fonts/DejaVuSansMono.woff2
Binary files differ
diff --git a/release/datafiles/fonts/Noto Sans CJK Regular.woff2 b/release/datafiles/fonts/Noto Sans CJK Regular.woff2
new file mode 100644
index 00000000000..5d3854b6bf7
--- /dev/null
+++ b/release/datafiles/fonts/Noto Sans CJK Regular.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoEmoji-VariableFont_wght.woff2 b/release/datafiles/fonts/NotoEmoji-VariableFont_wght.woff2
new file mode 100644
index 00000000000..4d019787bca
--- /dev/null
+++ b/release/datafiles/fonts/NotoEmoji-VariableFont_wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansArabic-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansArabic-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..8ee78b73e72
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansArabic-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansArmenian-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansArmenian-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..c6c1ed5c2cf
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansArmenian-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansBengali-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansBengali-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..cdac12cc8e8
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansBengali-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansDevanagari-Regular.woff2 b/release/datafiles/fonts/NotoSansDevanagari-Regular.woff2
new file mode 100644
index 00000000000..2cb157b2c51
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansDevanagari-Regular.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansEthiopic-Regular.woff2 b/release/datafiles/fonts/NotoSansEthiopic-Regular.woff2
new file mode 100644
index 00000000000..dc272d98964
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansEthiopic-Regular.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansGeorgian-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansGeorgian-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..4ebc52f0b59
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansGeorgian-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansGujarati-Regular.woff2 b/release/datafiles/fonts/NotoSansGujarati-Regular.woff2
new file mode 100644
index 00000000000..6e66a15b1cd
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansGujarati-Regular.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansGurmukhi-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansGurmukhi-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..e752468775f
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansGurmukhi-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansHebrew-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansHebrew-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..4f6033c916f
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansHebrew-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansJavanese-Regular.woff2 b/release/datafiles/fonts/NotoSansJavanese-Regular.woff2
new file mode 100644
index 00000000000..aeb0bbe8dab
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansJavanese-Regular.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansKannada-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansKannada-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..56fbd8d8bce
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansKannada-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansMalayalam-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansMalayalam-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..bdbce8a0b76
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansMalayalam-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansMath-Regular.woff2 b/release/datafiles/fonts/NotoSansMath-Regular.woff2
new file mode 100644
index 00000000000..bb3baafeb7a
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansMath-Regular.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansMyanmar-Regular.woff2 b/release/datafiles/fonts/NotoSansMyanmar-Regular.woff2
new file mode 100644
index 00000000000..f18edac80ed
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansMyanmar-Regular.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansSymbols-VariableFont_wght.woff2 b/release/datafiles/fonts/NotoSansSymbols-VariableFont_wght.woff2
new file mode 100644
index 00000000000..98f940b813e
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansSymbols-VariableFont_wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansSymbols2-Regular.woff2 b/release/datafiles/fonts/NotoSansSymbols2-Regular.woff2
new file mode 100644
index 00000000000..cefcc2d9c0d
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansSymbols2-Regular.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansTamil-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansTamil-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..a3541942429
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansTamil-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansTelugu-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansTelugu-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..790235d3a71
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansTelugu-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/NotoSansThai-VariableFont_wdth,wght.woff2 b/release/datafiles/fonts/NotoSansThai-VariableFont_wdth,wght.woff2
new file mode 100644
index 00000000000..507255e6b5c
--- /dev/null
+++ b/release/datafiles/fonts/NotoSansThai-VariableFont_wdth,wght.woff2
Binary files differ
diff --git a/release/datafiles/fonts/bmonofont-i18n.ttf b/release/datafiles/fonts/bmonofont-i18n.ttf
deleted file mode 100644
index 08b3f723d61..00000000000
--- a/release/datafiles/fonts/bmonofont-i18n.ttf
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/fonts/droidsans.ttf b/release/datafiles/fonts/droidsans.ttf
deleted file mode 100644
index b03e47f087e..00000000000
--- a/release/datafiles/fonts/droidsans.ttf
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/fonts/lastresort.woff2 b/release/datafiles/fonts/lastresort.woff2
new file mode 100644
index 00000000000..e5ad6f353f5
--- /dev/null
+++ b/release/datafiles/fonts/lastresort.woff2
Binary files differ
diff --git a/release/datafiles/splash.png b/release/datafiles/splash.png
index d7c9cdd3a8f..eb1250cf5a5 100644
--- a/release/datafiles/splash.png
+++ b/release/datafiles/splash.png
Binary files differ
diff --git a/release/scripts/modules/gpu_extras/presets.py b/release/scripts/modules/gpu_extras/presets.py
index ac9fd3cc1ff..eba8d6c161d 100644
--- a/release/scripts/modules/gpu_extras/presets.py
+++ b/release/scripts/modules/gpu_extras/presets.py
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
-def draw_circle_2d(position, color, radius, *, segments=32):
+def draw_circle_2d(position, color, radius, *, segments=None):
"""
Draw a circle.
@@ -11,10 +11,11 @@ def draw_circle_2d(position, color, radius, *, segments=32):
:arg radius: Radius of the circle.
:type radius: float
:arg segments: How many segments will be used to draw the circle.
- Higher values give besser results but the drawing will take longer.
- :type segments: int
+ Higher values give better results but the drawing will take longer.
+ If None or not specified, an automatic value will be calculated.
+ :type segments: int or None
"""
- from math import sin, cos, pi
+ from math import sin, cos, pi, ceil, acos
import gpu
from gpu.types import (
GPUBatch,
@@ -22,6 +23,12 @@ def draw_circle_2d(position, color, radius, *, segments=32):
GPUVertFormat,
)
+ if segments is None:
+ max_pixel_error = 0.25 # TODO: multiply 0.5 by display dpi
+ segments = int(ceil(pi / acos(1.0 - max_pixel_error / radius)))
+ segments = max(segments, 8)
+ segments = min(segments, 1000)
+
if segments <= 0:
raise ValueError("Amount of segments must be greater than 0.")
diff --git a/release/scripts/modules/rna_keymap_ui.py b/release/scripts/modules/rna_keymap_ui.py
index a7ad162ba66..73e9b6cd70f 100644
--- a/release/scripts/modules/rna_keymap_ui.py
+++ b/release/scripts/modules/rna_keymap_ui.py
@@ -11,8 +11,10 @@ __all__ = (
import bpy
-from bpy.app.translations import pgettext_iface as iface_
-from bpy.app.translations import contexts as i18n_contexts
+from bpy.app.translations import (
+ contexts as i18n_contexts,
+ pgettext_iface as iface_,
+)
def _indented_layout(layout, level):
diff --git a/release/scripts/startup/bl_operators/node.py b/release/scripts/startup/bl_operators/node.py
index df4ca9ef170..ff9b5a06fb7 100644
--- a/release/scripts/startup/bl_operators/node.py
+++ b/release/scripts/startup/bl_operators/node.py
@@ -149,37 +149,6 @@ class NODE_OT_add_node(NodeAddOperator, Operator):
bl_options = {'REGISTER', 'UNDO'}
-# Add a node and link it to an existing socket
-class NODE_OT_add_and_link_node(NodeAddOperator, Operator):
- '''Add a node to the active tree and link to an existing socket'''
- bl_idname = "node.add_and_link_node"
- bl_label = "Add and Link Node"
- bl_options = {'REGISTER', 'UNDO'}
-
- link_socket_index: IntProperty(
- name="Link Socket Index",
- description="Index of the socket to link",
- )
-
- def execute(self, context):
- space = context.space_data
- ntree = space.edit_tree
-
- node = self.create_node(context)
- if not node:
- return {'CANCELLED'}
-
- to_socket = getattr(context, "link_to_socket", None)
- if to_socket:
- ntree.links.new(node.outputs[self.link_socket_index], to_socket)
-
- from_socket = getattr(context, "link_from_socket", None)
- if from_socket:
- ntree.links.new(from_socket, node.inputs[self.link_socket_index])
-
- return {'FINISHED'}
-
-
class NODE_OT_add_search(NodeAddOperator, Operator):
'''Add a node to the active tree'''
bl_idname = "node.add_search"
@@ -306,7 +275,6 @@ class NODE_OT_tree_path_parent(Operator):
classes = (
NodeSetting,
- NODE_OT_add_and_link_node,
NODE_OT_add_node,
NODE_OT_add_search,
NODE_OT_collapse_hide_unused_toggle,
diff --git a/release/scripts/startup/bl_operators/wm.py b/release/scripts/startup/bl_operators/wm.py
index 7e7dbbc387e..cbb5a63b754 100644
--- a/release/scripts/startup/bl_operators/wm.py
+++ b/release/scripts/startup/bl_operators/wm.py
@@ -3152,7 +3152,10 @@ class WM_OT_drop_blend_file(Operator):
bl_label = "Handle dropped .blend file"
bl_options = {'INTERNAL'}
- filepath: StringProperty()
+ filepath: StringProperty(
+ subtype='FILE_PATH',
+ options={'SKIP_SAVE'},
+ )
def invoke(self, context, _event):
context.window_manager.popup_menu(self.draw_menu, title=bpy.path.basename(self.filepath), icon='QUESTION')
diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py
index 0f839eac126..963ffc60806 100644
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@ -201,7 +201,7 @@ class DATA_PT_camera(CameraButtonsPanel, Panel):
class DATA_PT_camera_dof(CameraButtonsPanel, Panel):
bl_label = "Depth of Field"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'}
def draw_header(self, context):
cam = context.camera
@@ -228,7 +228,7 @@ class DATA_PT_camera_dof(CameraButtonsPanel, Panel):
class DATA_PT_camera_dof_aperture(CameraButtonsPanel, Panel):
bl_label = "Aperture"
bl_parent_id = "DATA_PT_camera_dof"
- COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE', 'BLENDER_EEVEE_NEXT', 'BLENDER_WORKBENCH'}
def draw(self, context):
layout = self.layout
diff --git a/release/scripts/startup/bl_ui/properties_data_light.py b/release/scripts/startup/bl_ui/properties_data_light.py
index df3ad43e6de..2980592ee0b 100644
--- a/release/scripts/startup/bl_ui/properties_data_light.py
+++ b/release/scripts/startup/bl_ui/properties_data_light.py
@@ -18,7 +18,7 @@ class DataButtonsPanel:
class DATA_PT_context_light(DataButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE_NEXT', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
def draw(self, context):
layout = self.layout
@@ -36,7 +36,7 @@ class DATA_PT_context_light(DataButtonsPanel, Panel):
class DATA_PT_preview(DataButtonsPanel, Panel):
bl_label = "Preview"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE_NEXT', 'BLENDER_EEVEE'}
def draw(self, context):
self.layout.template_preview(context.light)
@@ -62,7 +62,7 @@ class DATA_PT_light(DataButtonsPanel, Panel):
class DATA_PT_EEVEE_light(DataButtonsPanel, Panel):
bl_label = "Light"
- COMPAT_ENGINES = {'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -108,7 +108,7 @@ class DATA_PT_EEVEE_light_distance(DataButtonsPanel, Panel):
bl_label = "Custom Distance"
bl_parent_id = "DATA_PT_EEVEE_light"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -256,7 +256,7 @@ class DATA_PT_area(DataButtonsPanel, Panel):
class DATA_PT_spot(DataButtonsPanel, Panel):
bl_label = "Spot Shape"
bl_parent_id = "DATA_PT_EEVEE_light"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE_NEXT', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
@classmethod
def poll(cls, context):
@@ -301,7 +301,7 @@ class DATA_PT_falloff_curve(DataButtonsPanel, Panel):
class DATA_PT_custom_props_light(DataButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE_NEXT', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'}
_context_path = "object.data"
_property_type = bpy.types.Light
diff --git a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
index 44d82be8ab0..38522a1bf84 100644
--- a/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
+++ b/release/scripts/startup/bl_ui/properties_grease_pencil_common.py
@@ -355,8 +355,7 @@ class GPENCIL_UL_annotation_layer(UIList):
row = layout.row(align=True)
- icon_xray = 'XRAY' if gpl.show_in_front else 'FACESEL'
- row.prop(gpl, "show_in_front", text="", icon=icon_xray, emboss=False)
+ row.prop(gpl, "show_in_front", text="", icon='XRAY' if gpl.show_in_front else 'FACESEL', emboss=False)
row.prop(gpl, "annotation_hide", text="", emboss=False)
elif self.layout_type == 'GRID':
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index cd390eee970..0cef14d6a5d 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -2,8 +2,10 @@
import bpy
from bpy.types import Panel, Menu
from rna_prop_ui import PropertyPanel
-from bpy.app.translations import pgettext_iface as iface_
-from bpy.app.translations import contexts as i18n_contexts
+from bpy.app.translations import (
+ contexts as i18n_contexts,
+ pgettext_iface as iface_,
+)
from bl_ui.utils import PresetPanel
from bl_ui.properties_physics_common import (
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index e031b32247a..dafe32c5e5d 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -162,6 +162,64 @@ class RENDER_PT_eevee_motion_blur(RenderButtonsPanel, Panel):
col.prop(props, "motion_blur_steps", text="Steps")
+class RENDER_PT_eevee_next_motion_blur(RenderButtonsPanel, Panel):
+ bl_label = "Motion Blur"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
+
+ @classmethod
+ def poll(cls, context):
+ return (context.engine in cls.COMPAT_ENGINES)
+
+ def draw_header(self, context):
+ scene = context.scene
+ props = scene.eevee
+ self.layout.prop(props, "use_motion_blur", text="")
+
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ scene = context.scene
+ props = scene.eevee
+
+ layout.active = props.use_motion_blur
+ col = layout.column()
+ col.prop(props, "motion_blur_position", text="Position")
+ col.prop(props, "motion_blur_shutter")
+ col.separator()
+ col.prop(props, "motion_blur_depth_scale")
+ col.prop(props, "motion_blur_steps", text="Steps")
+
+
+class RENDER_PT_motion_blur_curve(RenderButtonsPanel, Panel):
+ bl_label = "Shutter Curve"
+ bl_parent_id = "RENDER_PT_eevee_next_motion_blur"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
+
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ layout.use_property_decorate = False
+
+ scene = context.scene
+ rd = scene.render
+ layout.active = rd.use_motion_blur
+
+ col = layout.column()
+
+ col.template_curve_mapping(rd, "motion_blur_shutter_curve")
+
+ col = layout.column(align=True)
+ row = col.row(align=True)
+ row.operator("render.shutter_curve_preset", icon='SMOOTHCURVE', text="").shape = 'SMOOTH'
+ row.operator("render.shutter_curve_preset", icon='SPHERECURVE', text="").shape = 'ROUND'
+ row.operator("render.shutter_curve_preset", icon='ROOTCURVE', text="").shape = 'ROOT'
+ row.operator("render.shutter_curve_preset", icon='SHARPCURVE', text="").shape = 'SHARP'
+ row.operator("render.shutter_curve_preset", icon='LINCURVE', text="").shape = 'LINE'
+ row.operator("render.shutter_curve_preset", icon='NOCURVE', text="").shape = 'MAX'
+
+
class RENDER_PT_eevee_depth_of_field(RenderButtonsPanel, Panel):
bl_label = "Depth of Field"
bl_options = {'DEFAULT_CLOSED'}
@@ -190,6 +248,32 @@ class RENDER_PT_eevee_depth_of_field(RenderButtonsPanel, Panel):
col.prop(props, "bokeh_overblur")
+class RENDER_PT_eevee_next_depth_of_field(RenderButtonsPanel, Panel):
+ bl_label = "Depth of Field"
+ bl_options = {'DEFAULT_CLOSED'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE_NEXT'}
+
+ @classmethod
+ def poll(cls, context):
+ return (context.engine in cls.COMPAT_ENGINES)
+
+ def draw(self, context):
+ layout = self.layout
+ layout.use_property_split = True
+ scene = context.scene
+ props = scene.eevee
+
+ col = layout.column()
+ col.prop(props, "bokeh_max_size")
+ col.prop(props, "bokeh_threshold")
+ col.prop(props, "bokeh_neighbor_max")
+ col.prop(props, "use_bokeh_jittered")
+
+ col = layout.column()
+ col.active = props.use_bokeh_jittered
+ col.prop(props, "bokeh_overblur")
+
+
class RENDER_PT_eevee_bloom(RenderButtonsPanel, Panel):
bl_label = "Bloom"
bl_options = {'DEFAULT_CLOSED'}
@@ -739,12 +823,16 @@ class RENDER_PT_simplify_greasepencil(RenderButtonsPanel, Panel, GreasePencilSim
classes = (
RENDER_PT_context,
RENDER_PT_eevee_sampling,
+ RENDER_PT_eevee_next_sampling,
RENDER_PT_eevee_ambient_occlusion,
RENDER_PT_eevee_bloom,
RENDER_PT_eevee_depth_of_field,
+ RENDER_PT_eevee_next_depth_of_field,
RENDER_PT_eevee_subsurface_scattering,
RENDER_PT_eevee_screen_space_reflections,
RENDER_PT_eevee_motion_blur,
+ RENDER_PT_eevee_next_motion_blur,
+ RENDER_PT_motion_blur_curve,
RENDER_PT_eevee_volumetric,
RENDER_PT_eevee_volumetric_lighting,
RENDER_PT_eevee_volumetric_shadows,
@@ -754,10 +842,9 @@ classes = (
RENDER_PT_eevee_indirect_lighting,
RENDER_PT_eevee_indirect_lighting_display,
RENDER_PT_eevee_film,
-
- RENDER_PT_eevee_next_sampling,
RENDER_PT_eevee_next_film,
+
RENDER_PT_gpencil,
RENDER_PT_opengl_sampling,
RENDER_PT_opengl_lighting,
diff --git a/release/scripts/startup/bl_ui/properties_view_layer.py b/release/scripts/startup/bl_ui/properties_view_layer.py
index 01bd0adc8df..78aec096510 100644
--- a/release/scripts/startup/bl_ui/properties_view_layer.py
+++ b/release/scripts/startup/bl_ui/properties_view_layer.py
@@ -79,6 +79,7 @@ class VIEWLAYER_PT_eevee_next_layer_passes_data(ViewLayerButtonsPanel, Panel):
layout.use_property_split = True
layout.use_property_decorate = False
+ scene = context.scene
view_layer = context.view_layer
col = layout.column()
@@ -87,7 +88,9 @@ class VIEWLAYER_PT_eevee_next_layer_passes_data(ViewLayerButtonsPanel, Panel):
col.prop(view_layer, "use_pass_mist")
col.prop(view_layer, "use_pass_normal")
col.prop(view_layer, "use_pass_position")
- col.prop(view_layer, "use_pass_vector")
+ sub = col.column()
+ sub.active = not scene.eevee.use_motion_blur
+ sub.prop(view_layer, "use_pass_vector")
class VIEWLAYER_PT_eevee_layer_passes_light(ViewLayerButtonsPanel, Panel):
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index dab06cc4993..118928ef9c6 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -1,8 +1,10 @@
# SPDX-License-Identifier: GPL-2.0-or-later
import bpy
from bpy.types import Header, Menu, Panel
-from bpy.app.translations import pgettext_iface as iface_
-from bpy.app.translations import contexts as i18n_contexts
+from bpy.app.translations import (
+ pgettext_iface as iface_,
+ contexts as i18n_contexts,
+)
from bl_ui.utils import PresetPanel
from bl_ui.properties_grease_pencil_common import (
AnnotationDataPanel,
diff --git a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
index 38aa343e542..20021762d5a 100644
--- a/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
+++ b/release/scripts/startup/bl_ui/space_toolsystem_toolbar.py
@@ -1881,7 +1881,7 @@ class _defs_image_uv_sculpt:
if brush is None:
return
radius = brush.size
- draw_circle_2d(xy, (1.0,) * 4, radius, segments=32)
+ draw_circle_2d(xy, (1.0,) * 4, radius)
return generate_from_enum_ex(
context,
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py
index 52b2fb7f3da..8de9d5e0770 100644
--- a/release/scripts/startup/bl_ui/space_userpref.py
+++ b/release/scripts/startup/bl_ui/space_userpref.py
@@ -5,8 +5,10 @@ from bpy.types import (
Menu,
Panel,
)
-from bpy.app.translations import pgettext_iface as iface_
-from bpy.app.translations import contexts as i18n_contexts
+from bpy.app.translations import (
+ contexts as i18n_contexts,
+ pgettext_iface as iface_,
+)
# -----------------------------------------------------------------------------
@@ -2258,6 +2260,7 @@ class USERPREF_PT_experimental_new_features(ExperimentalPanel, Panel):
({"property": "use_sculpt_tools_tilt"}, "T82877"),
({"property": "use_extended_asset_browser"}, ("project/view/130/", "Project Page")),
({"property": "use_override_templates"}, ("T73318", "Milestone 4")),
+ ({"property": "use_realtime_compositor"}, "T99210"),
),
)
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index 2f9050ba638..68fe9cafccc 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -6128,6 +6128,24 @@ class VIEW3D_PT_shading_render_pass(Panel):
layout.prop(shading, "render_pass", text="")
+class VIEW3D_PT_shading_compositor(Panel):
+ bl_space_type = 'VIEW_3D'
+ bl_region_type = 'HEADER'
+ bl_label = "Compositor"
+ bl_parent_id = 'VIEW3D_PT_shading'
+
+ @classmethod
+ def poll(cls, context):
+ return (context.space_data.shading.type in {'MATERIAL', 'RENDERED'} and
+ context.preferences.experimental.use_realtime_compositor)
+
+ def draw(self, context):
+ shading = context.space_data.shading
+
+ layout = self.layout
+ layout.prop(shading, "use_compositor")
+
+
class VIEW3D_PT_gizmo_display(Panel):
bl_space_type = 'VIEW_3D'
bl_region_type = 'HEADER'
@@ -7967,6 +7985,7 @@ classes = (
VIEW3D_PT_shading_options_shadow,
VIEW3D_PT_shading_options_ssao,
VIEW3D_PT_shading_render_pass,
+ VIEW3D_PT_shading_compositor,
VIEW3D_PT_gizmo_display,
VIEW3D_PT_overlay,
VIEW3D_PT_overlay_guides,