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--CMakeLists.txt2
-rw-r--r--release/datafiles/matcaps/license.txt3
-rw-r--r--release/datafiles/matcaps/mc01.jpgbin20830 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc02.jpgbin23428 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc03.jpgbin17550 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc04.jpgbin29197 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc05.jpgbin25454 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc06.jpgbin19864 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc07.jpgbin59262 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc08.jpgbin24133 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc09.jpgbin31101 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc10.jpgbin28973 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc11.jpgbin21395 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc12.jpgbin23797 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc13.jpgbin45661 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc14.jpgbin44762 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc15.jpgbin27456 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc16.jpgbin33401 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc17.jpgbin49292 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc18.jpgbin40254 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc19.jpgbin46330 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc20.jpgbin52893 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc21.jpgbin28717 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc22.jpgbin33801 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc23.jpgbin26688 -> 0 bytes
-rw-r--r--release/datafiles/matcaps/mc24.jpgbin14149 -> 0 bytes
-rw-r--r--release/scripts/startup/bl_ui/properties_data_armature.py2
-rw-r--r--release/scripts/startup/bl_ui/properties_data_bone.py2
-rw-r--r--release/scripts/startup/bl_ui/properties_data_camera.py26
-rw-r--r--release/scripts/startup/bl_ui/properties_data_curve.py4
-rw-r--r--release/scripts/startup/bl_ui/properties_data_lamp.py16
-rw-r--r--release/scripts/startup/bl_ui/properties_data_lattice.py2
-rw-r--r--release/scripts/startup/bl_ui/properties_data_lightprobe.py8
-rw-r--r--release/scripts/startup/bl_ui/properties_data_mesh.py22
-rw-r--r--release/scripts/startup/bl_ui/properties_data_metaball.py4
-rw-r--r--release/scripts/startup/bl_ui/properties_data_speaker.py10
-rw-r--r--release/scripts/startup/bl_ui/properties_object.py2
-rw-r--r--release/scripts/startup/bl_ui/properties_particle.py82
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_field.py4
-rw-r--r--release/scripts/startup/bl_ui/properties_render.py25
-rw-r--r--release/scripts/startup/bl_ui/properties_scene.py18
-rw-r--r--release/scripts/startup/bl_ui/properties_view_layer.py2
-rw-r--r--source/blender/blenkernel/intern/scene.c8
-rw-r--r--source/blender/blenloader/CMakeLists.txt4
-rw-r--r--source/blender/blenloader/intern/versioning_280.c7
-rw-r--r--source/blender/draw/CMakeLists.txt16
-rw-r--r--source/blender/draw/engines/clay/clay_engine.c985
-rw-r--r--source/blender/draw/engines/clay/clay_engine.h36
-rw-r--r--source/blender/draw/engines/clay/shaders/clay_copy.glsl10
-rw-r--r--source/blender/draw/engines/clay/shaders/clay_frag.glsl252
-rw-r--r--source/blender/draw/engines/clay/shaders/clay_fxaa.glsl18
-rw-r--r--source/blender/draw/engines/clay/shaders/clay_particle_strand_frag.glsl144
-rw-r--r--source/blender/draw/engines/clay/shaders/clay_particle_vert.glsl34
-rw-r--r--source/blender/draw/engines/clay/shaders/clay_prepass_frag.glsl44
-rw-r--r--source/blender/draw/engines/clay/shaders/clay_vert.glsl17
-rw-r--r--source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl82
-rw-r--r--source/blender/draw/engines/clay/shaders/ssao_groundtruth.glsl122
-rw-r--r--source/blender/draw/intern/draw_manager.c8
-rw-r--r--source/blender/editors/datafiles/CMakeLists.txt26
-rw-r--r--source/blender/editors/interface/interface_icons.c44
-rw-r--r--source/blender/makesdna/DNA_material_types.h10
-rw-r--r--source/blender/makesdna/DNA_scene_types.h13
-rw-r--r--source/blender/makesrna/intern/CMakeLists.txt4
-rw-r--r--source/blender/makesrna/intern/rna_scene.c73
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_a.py1
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_b.py1
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_c.py1
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_d.py1
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_e.py1
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_f.py1
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_g.py1
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_h.py1
-rw-r--r--tests/python/view_layer/test_evaluation_render_settings_i.py1
73 files changed, 114 insertions, 2086 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5f1b9b1643c..4a537a01545 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -227,8 +227,6 @@ option(WITH_SYSTEM_BULLET "Use the systems bullet library (currently unsupported
mark_as_advanced(WITH_SYSTEM_BULLET)
option(WITH_OPENCOLORIO "Enable OpenColorIO color management" ${_init_OPENCOLORIO})
-option(WITH_CLAY_ENGINE "Enable Clay engine" ON)
-
# Compositor
option(WITH_COMPOSITOR "Enable the tile based nodal compositor" ON)
diff --git a/release/datafiles/matcaps/license.txt b/release/datafiles/matcaps/license.txt
deleted file mode 100644
index 358c8dcd832..00000000000
--- a/release/datafiles/matcaps/license.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-These matcap images are licensed as GNU GPL 2 or later, like the rest of Blender's code.
-
-Thanks to Kent Trammell, Aidy Burrows, John Herreno , Terry Wallwork and David Silverman for making the pictures.
diff --git a/release/datafiles/matcaps/mc01.jpg b/release/datafiles/matcaps/mc01.jpg
deleted file mode 100644
index 8c7aef287ee..00000000000
--- a/release/datafiles/matcaps/mc01.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc02.jpg b/release/datafiles/matcaps/mc02.jpg
deleted file mode 100644
index 11deddfeaed..00000000000
--- a/release/datafiles/matcaps/mc02.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc03.jpg b/release/datafiles/matcaps/mc03.jpg
deleted file mode 100644
index 64d992fb61a..00000000000
--- a/release/datafiles/matcaps/mc03.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc04.jpg b/release/datafiles/matcaps/mc04.jpg
deleted file mode 100644
index 42be580ee93..00000000000
--- a/release/datafiles/matcaps/mc04.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc05.jpg b/release/datafiles/matcaps/mc05.jpg
deleted file mode 100644
index 586d233ef31..00000000000
--- a/release/datafiles/matcaps/mc05.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc06.jpg b/release/datafiles/matcaps/mc06.jpg
deleted file mode 100644
index 657883d0866..00000000000
--- a/release/datafiles/matcaps/mc06.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc07.jpg b/release/datafiles/matcaps/mc07.jpg
deleted file mode 100644
index 372caf7e87c..00000000000
--- a/release/datafiles/matcaps/mc07.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc08.jpg b/release/datafiles/matcaps/mc08.jpg
deleted file mode 100644
index 50eec402812..00000000000
--- a/release/datafiles/matcaps/mc08.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc09.jpg b/release/datafiles/matcaps/mc09.jpg
deleted file mode 100644
index e05d441aaf9..00000000000
--- a/release/datafiles/matcaps/mc09.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc10.jpg b/release/datafiles/matcaps/mc10.jpg
deleted file mode 100644
index ab82f17bb93..00000000000
--- a/release/datafiles/matcaps/mc10.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc11.jpg b/release/datafiles/matcaps/mc11.jpg
deleted file mode 100644
index 053550f082c..00000000000
--- a/release/datafiles/matcaps/mc11.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc12.jpg b/release/datafiles/matcaps/mc12.jpg
deleted file mode 100644
index beb16f3742e..00000000000
--- a/release/datafiles/matcaps/mc12.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc13.jpg b/release/datafiles/matcaps/mc13.jpg
deleted file mode 100644
index 7fb8fa58e8f..00000000000
--- a/release/datafiles/matcaps/mc13.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc14.jpg b/release/datafiles/matcaps/mc14.jpg
deleted file mode 100644
index ba868d2f95a..00000000000
--- a/release/datafiles/matcaps/mc14.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc15.jpg b/release/datafiles/matcaps/mc15.jpg
deleted file mode 100644
index b10ea326a42..00000000000
--- a/release/datafiles/matcaps/mc15.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc16.jpg b/release/datafiles/matcaps/mc16.jpg
deleted file mode 100644
index c6ce02d59df..00000000000
--- a/release/datafiles/matcaps/mc16.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc17.jpg b/release/datafiles/matcaps/mc17.jpg
deleted file mode 100644
index 14f15f70460..00000000000
--- a/release/datafiles/matcaps/mc17.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc18.jpg b/release/datafiles/matcaps/mc18.jpg
deleted file mode 100644
index db572856b07..00000000000
--- a/release/datafiles/matcaps/mc18.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc19.jpg b/release/datafiles/matcaps/mc19.jpg
deleted file mode 100644
index 56d2efb1734..00000000000
--- a/release/datafiles/matcaps/mc19.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc20.jpg b/release/datafiles/matcaps/mc20.jpg
deleted file mode 100644
index 002a0910dd9..00000000000
--- a/release/datafiles/matcaps/mc20.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc21.jpg b/release/datafiles/matcaps/mc21.jpg
deleted file mode 100644
index cb2fea573b8..00000000000
--- a/release/datafiles/matcaps/mc21.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc22.jpg b/release/datafiles/matcaps/mc22.jpg
deleted file mode 100644
index 2fc71b98c5a..00000000000
--- a/release/datafiles/matcaps/mc22.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc23.jpg b/release/datafiles/matcaps/mc23.jpg
deleted file mode 100644
index 3793c0fcaa5..00000000000
--- a/release/datafiles/matcaps/mc23.jpg
+++ /dev/null
Binary files differ
diff --git a/release/datafiles/matcaps/mc24.jpg b/release/datafiles/matcaps/mc24.jpg
deleted file mode 100644
index 2a9618d8fe1..00000000000
--- a/release/datafiles/matcaps/mc24.jpg
+++ /dev/null
Binary files differ
diff --git a/release/scripts/startup/bl_ui/properties_data_armature.py b/release/scripts/startup/bl_ui/properties_data_armature.py
index e58b4f56ffe..6cfc4b6ea3f 100644
--- a/release/scripts/startup/bl_ui/properties_data_armature.py
+++ b/release/scripts/startup/bl_ui/properties_data_armature.py
@@ -328,7 +328,7 @@ class DATA_PT_onion_skinning(OnionSkinButtonsPanel): # , Panel): # inherit from
class DATA_PT_custom_props_arm(ArmatureButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object.data"
_property_type = bpy.types.Armature
diff --git a/release/scripts/startup/bl_ui/properties_data_bone.py b/release/scripts/startup/bl_ui/properties_data_bone.py
index 079669dbd02..cc593fbb0a2 100644
--- a/release/scripts/startup/bl_ui/properties_data_bone.py
+++ b/release/scripts/startup/bl_ui/properties_data_bone.py
@@ -402,7 +402,7 @@ class BONE_PT_deform(BoneButtonsPanel, Panel):
class BONE_PT_custom_props(BoneButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_property_type = bpy.types.Bone, bpy.types.EditBone, bpy.types.PoseBone
@property
diff --git a/release/scripts/startup/bl_ui/properties_data_camera.py b/release/scripts/startup/bl_ui/properties_data_camera.py
index e81fc393af8..132a226f287 100644
--- a/release/scripts/startup/bl_ui/properties_data_camera.py
+++ b/release/scripts/startup/bl_ui/properties_data_camera.py
@@ -37,7 +37,7 @@ class CAMERA_MT_presets(Menu):
bl_label = "Camera Presets"
preset_subdir = "camera"
preset_operator = "script.execute_preset"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
draw = Menu.draw_preset
@@ -45,14 +45,14 @@ class SAFE_AREAS_MT_presets(Menu):
bl_label = "Camera Presets"
preset_subdir = "safe_areas"
preset_operator = "script.execute_preset"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
draw = Menu.draw_preset
class DATA_PT_context_camera(CameraButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -72,7 +72,7 @@ class DATA_PT_context_camera(CameraButtonsPanel, Panel):
class DATA_PT_lens(CameraButtonsPanel, Panel):
bl_label = "Lens"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -113,7 +113,7 @@ class DATA_PT_lens(CameraButtonsPanel, Panel):
sub = col.column(align=True)
sub.prop(ccam, "longitude_min", text="Longiture Min")
sub.prop(ccam, "longitude_max", text="Max")
- elif engine in {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}:
+ elif engine in {'BLENDER_RENDER', 'BLENDER_EEVEE'}:
if cam.lens_unit == 'MILLIMETERS':
col.prop(cam, "lens")
elif cam.lens_unit == 'FOV':
@@ -135,7 +135,7 @@ class DATA_PT_lens(CameraButtonsPanel, Panel):
class DATA_PT_camera_stereoscopy(CameraButtonsPanel, Panel):
bl_label = "Stereoscopy"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -183,7 +183,7 @@ class DATA_PT_camera_stereoscopy(CameraButtonsPanel, Panel):
class DATA_PT_camera(CameraButtonsPanel, Panel):
bl_label = "Camera"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -216,7 +216,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_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -235,7 +235,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_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -269,7 +269,7 @@ class DATA_PT_camera_dof_aperture(CameraButtonsPanel, Panel):
class DATA_PT_camera_background_image(CameraButtonsPanel, Panel):
bl_label = "Background Images"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw_header(self, context):
cam = context.camera
@@ -370,7 +370,7 @@ class DATA_PT_camera_background_image(CameraButtonsPanel, Panel):
class DATA_PT_camera_display(CameraButtonsPanel, Panel):
bl_label = "Display"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -403,7 +403,7 @@ class DATA_PT_camera_display(CameraButtonsPanel, Panel):
class DATA_PT_camera_safe_areas(CameraButtonsPanel, Panel):
bl_label = "Safe Areas"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw_header(self, context):
cam = context.camera
@@ -419,7 +419,7 @@ class DATA_PT_camera_safe_areas(CameraButtonsPanel, Panel):
class DATA_PT_custom_props_camera(CameraButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object.data"
_property_type = bpy.types.Camera
diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py
index 47c53d6ffb5..c0ab9da949f 100644
--- a/release/scripts/startup/bl_ui/properties_data_curve.py
+++ b/release/scripts/startup/bl_ui/properties_data_curve.py
@@ -135,7 +135,7 @@ class DATA_PT_shape_curve(CurveButtonsPanel, Panel):
class DATA_PT_curve_texture_space(CurveButtonsPanel, Panel):
bl_label = "Texture Space"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -459,7 +459,7 @@ class DATA_PT_text_boxes(CurveButtonsPanelText, Panel):
class DATA_PT_custom_props_curve(CurveButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object.data"
_property_type = bpy.types.Curve
diff --git a/release/scripts/startup/bl_ui/properties_data_lamp.py b/release/scripts/startup/bl_ui/properties_data_lamp.py
index 2727c84e820..28f1b60e468 100644
--- a/release/scripts/startup/bl_ui/properties_data_lamp.py
+++ b/release/scripts/startup/bl_ui/properties_data_lamp.py
@@ -26,7 +26,7 @@ class LAMP_MT_sunsky_presets(Menu):
bl_label = "Sun & Sky Presets"
preset_subdir = "sunsky"
preset_operator = "script.execute_preset"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
draw = Menu.draw_preset
@@ -44,7 +44,7 @@ class DataButtonsPanel:
class DATA_PT_context_lamp(DataButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -63,7 +63,7 @@ class DATA_PT_context_lamp(DataButtonsPanel, Panel):
class DATA_PT_preview(DataButtonsPanel, Panel):
bl_label = "Preview"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
self.layout.template_preview(context.lamp)
@@ -71,7 +71,7 @@ class DATA_PT_preview(DataButtonsPanel, Panel):
class DATA_PT_lamp(DataButtonsPanel, Panel):
bl_label = "Lamp"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY'}
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
def draw(self, context):
layout = self.layout
@@ -243,7 +243,7 @@ class DATA_PT_EEVEE_shadow_contact(DataButtonsPanel, Panel):
class DATA_PT_area(DataButtonsPanel, Panel):
bl_label = "Area Shape"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY'}
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
@classmethod
def poll(cls, context):
@@ -269,7 +269,7 @@ class DATA_PT_area(DataButtonsPanel, Panel):
class DATA_PT_spot(DataButtonsPanel, Panel):
bl_label = "Spot Shape"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY'}
+ COMPAT_ENGINES = {'BLENDER_RENDER'}
@classmethod
def poll(cls, context):
@@ -330,7 +330,7 @@ class DATA_PT_spot(DataButtonsPanel, Panel):
class DATA_PT_falloff_curve(DataButtonsPanel, Panel):
bl_label = "Falloff Curve"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -346,7 +346,7 @@ class DATA_PT_falloff_curve(DataButtonsPanel, Panel):
class DATA_PT_custom_props_lamp(DataButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object.data"
_property_type = bpy.types.Lamp
diff --git a/release/scripts/startup/bl_ui/properties_data_lattice.py b/release/scripts/startup/bl_ui/properties_data_lattice.py
index b584e433cb9..40e82bc0a52 100644
--- a/release/scripts/startup/bl_ui/properties_data_lattice.py
+++ b/release/scripts/startup/bl_ui/properties_data_lattice.py
@@ -85,7 +85,7 @@ class DATA_PT_lattice(DataButtonsPanel, Panel):
class DATA_PT_custom_props_lattice(DataButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object.data"
_property_type = bpy.types.Lattice
diff --git a/release/scripts/startup/bl_ui/properties_data_lightprobe.py b/release/scripts/startup/bl_ui/properties_data_lightprobe.py
index 00c6c205530..f3ccc9f3176 100644
--- a/release/scripts/startup/bl_ui/properties_data_lightprobe.py
+++ b/release/scripts/startup/bl_ui/properties_data_lightprobe.py
@@ -35,7 +35,7 @@ class DataButtonsPanel:
class DATA_PT_context_lightprobe(DataButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -52,7 +52,7 @@ class DATA_PT_context_lightprobe(DataButtonsPanel, Panel):
class DATA_PT_lightprobe(DataButtonsPanel, Panel):
bl_label = "Probe"
- COMPAT_ENGINES = {'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -114,7 +114,7 @@ class DATA_PT_lightprobe(DataButtonsPanel, Panel):
class DATA_PT_lightprobe_parallax(DataButtonsPanel, Panel):
bl_label = "Custom Parallax"
- COMPAT_ENGINES = {'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -144,7 +144,7 @@ class DATA_PT_lightprobe_parallax(DataButtonsPanel, Panel):
class DATA_PT_lightprobe_display(DataButtonsPanel, Panel):
bl_label = "Display"
- COMPAT_ENGINES = {'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
diff --git a/release/scripts/startup/bl_ui/properties_data_mesh.py b/release/scripts/startup/bl_ui/properties_data_mesh.py
index 76ea85d0fb4..5ff9f83b1a9 100644
--- a/release/scripts/startup/bl_ui/properties_data_mesh.py
+++ b/release/scripts/startup/bl_ui/properties_data_mesh.py
@@ -24,7 +24,7 @@ from rna_prop_ui import PropertyPanel
class MESH_MT_vertex_group_specials(Menu):
bl_label = "Vertex Group Specials"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -48,7 +48,7 @@ class MESH_MT_vertex_group_specials(Menu):
class MESH_MT_shape_key_specials(Menu):
bl_label = "Shape Key Specials"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -137,7 +137,7 @@ class MeshButtonsPanel:
class DATA_PT_context_mesh(MeshButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -154,7 +154,7 @@ class DATA_PT_context_mesh(MeshButtonsPanel, Panel):
class DATA_PT_normals(MeshButtonsPanel, Panel):
bl_label = "Normals"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -174,7 +174,7 @@ class DATA_PT_normals(MeshButtonsPanel, Panel):
class DATA_PT_texture_space(MeshButtonsPanel, Panel):
bl_label = "Texture Space"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -194,7 +194,7 @@ class DATA_PT_texture_space(MeshButtonsPanel, Panel):
class DATA_PT_vertex_groups(MeshButtonsPanel, Panel):
bl_label = "Vertex Groups"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -283,7 +283,7 @@ class DATA_PT_face_maps(MeshButtonsPanel, Panel):
class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
bl_label = "Shape Keys"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -376,7 +376,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, Panel):
class DATA_PT_uv_texture(MeshButtonsPanel, Panel):
bl_label = "UV Maps"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -395,7 +395,7 @@ class DATA_PT_uv_texture(MeshButtonsPanel, Panel):
class DATA_PT_vertex_colors(MeshButtonsPanel, Panel):
bl_label = "Vertex Colors"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -415,7 +415,7 @@ class DATA_PT_vertex_colors(MeshButtonsPanel, Panel):
class DATA_PT_customdata(MeshButtonsPanel, Panel):
bl_label = "Geometry Data"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -441,7 +441,7 @@ class DATA_PT_customdata(MeshButtonsPanel, Panel):
class DATA_PT_custom_props_mesh(MeshButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object.data"
_property_type = bpy.types.Mesh
diff --git a/release/scripts/startup/bl_ui/properties_data_metaball.py b/release/scripts/startup/bl_ui/properties_data_metaball.py
index c796c8af141..2a61e6cda79 100644
--- a/release/scripts/startup/bl_ui/properties_data_metaball.py
+++ b/release/scripts/startup/bl_ui/properties_data_metaball.py
@@ -71,7 +71,7 @@ class DATA_PT_metaball(DataButtonsPanel, Panel):
class DATA_PT_mball_texture_space(DataButtonsPanel, Panel):
bl_label = "Texture Space"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -125,7 +125,7 @@ class DATA_PT_metaball_element(DataButtonsPanel, Panel):
class DATA_PT_custom_props_metaball(DataButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object.data"
_property_type = bpy.types.MetaBall
diff --git a/release/scripts/startup/bl_ui/properties_data_speaker.py b/release/scripts/startup/bl_ui/properties_data_speaker.py
index e43da31b5e8..2a3dc4d02c1 100644
--- a/release/scripts/startup/bl_ui/properties_data_speaker.py
+++ b/release/scripts/startup/bl_ui/properties_data_speaker.py
@@ -36,7 +36,7 @@ class DataButtonsPanel:
class DATA_PT_context_speaker(DataButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -55,7 +55,7 @@ class DATA_PT_context_speaker(DataButtonsPanel, Panel):
class DATA_PT_speaker(DataButtonsPanel, Panel):
bl_label = "Sound"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -76,7 +76,7 @@ class DATA_PT_speaker(DataButtonsPanel, Panel):
class DATA_PT_distance(DataButtonsPanel, Panel):
bl_label = "Distance"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -99,7 +99,7 @@ class DATA_PT_distance(DataButtonsPanel, Panel):
class DATA_PT_cone(DataButtonsPanel, Panel):
bl_label = "Cone"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -121,7 +121,7 @@ class DATA_PT_cone(DataButtonsPanel, Panel):
class DATA_PT_custom_props_speaker(DataButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object.data"
_property_type = bpy.types.Speaker
diff --git a/release/scripts/startup/bl_ui/properties_object.py b/release/scripts/startup/bl_ui/properties_object.py
index 34515e2a05a..153d6af9b24 100644
--- a/release/scripts/startup/bl_ui/properties_object.py
+++ b/release/scripts/startup/bl_ui/properties_object.py
@@ -352,7 +352,7 @@ class OBJECT_PT_onion_skinning(OnionSkinButtonsPanel): # , Panel): # inherit fr
class OBJECT_PT_custom_props(ObjectButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "object"
_property_type = bpy.types.Object
diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py
index 00eb13dd222..ebfa5ec27d0 100644
--- a/release/scripts/startup/bl_ui/properties_particle.py
+++ b/release/scripts/startup/bl_ui/properties_particle.py
@@ -66,7 +66,7 @@ def particle_get_settings(context):
class PARTICLE_MT_specials(Menu):
bl_label = "Particle Specials"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -86,7 +86,7 @@ class PARTICLE_MT_hair_dynamics_presets(Menu):
bl_label = "Hair Dynamics Presets"
preset_subdir = "hair_dynamics"
preset_operator = "script.execute_preset"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
draw = Menu.draw_preset
@@ -131,7 +131,7 @@ class PARTICLE_UL_particle_systems(bpy.types.UIList):
class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
bl_label = ""
bl_options = {'HIDE_HEADER'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -234,7 +234,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, Panel):
class PARTICLE_PT_emission(ParticleButtonsPanel, Panel):
bl_label = "Emission"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -286,7 +286,7 @@ class PARTICLE_PT_emission_source(ParticleButtonsPanel, Panel):
bl_label = "Source"
bl_parent_id = "PARTICLE_PT_emission"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -324,7 +324,7 @@ class PARTICLE_PT_emission_source(ParticleButtonsPanel, Panel):
class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel):
bl_label = "Hair Dynamics"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -400,7 +400,7 @@ class PARTICLE_PT_hair_dynamics_structure(ParticleButtonsPanel, Panel):
bl_label = "Structure"
bl_parent_id = "PARTICLE_PT_hair_dynamics"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -432,7 +432,7 @@ class PARTICLE_PT_hair_dynamics_volume(ParticleButtonsPanel, Panel):
bl_label = "Volume"
bl_parent_id = "PARTICLE_PT_hair_dynamics"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -464,7 +464,7 @@ class PARTICLE_PT_hair_dynamics_volume(ParticleButtonsPanel, Panel):
class PARTICLE_PT_cache(ParticleButtonsPanel, Panel):
bl_label = "Cache"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -494,7 +494,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, Panel):
class PARTICLE_PT_velocity(ParticleButtonsPanel, Panel):
bl_label = "Velocity"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -543,7 +543,7 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel, Panel):
class PARTICLE_PT_rotation(ParticleButtonsPanel, Panel):
bl_label = "Rotation"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -596,7 +596,7 @@ class PARTICLE_PT_rotation_angular_velocity(ParticleButtonsPanel, Panel):
bl_label = "Angular Velocity"
bl_parent_id = "PARTICLE_PT_rotation"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -620,7 +620,7 @@ class PARTICLE_PT_rotation_angular_velocity(ParticleButtonsPanel, Panel):
class PARTICLE_PT_physics(ParticleButtonsPanel, Panel):
bl_label = "Physics"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -818,7 +818,7 @@ class PARTICLE_PT_physics_deflection(ParticleButtonsPanel, Panel):
bl_label = "Deflection"
bl_parent_id = "PARTICLE_PT_physics"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -844,7 +844,7 @@ class PARTICLE_PT_physics_deflection(ParticleButtonsPanel, Panel):
class PARTICLE_PT_physics_forces(ParticleButtonsPanel, Panel):
bl_label = "Forces"
bl_parent_id = "PARTICLE_PT_physics"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -871,7 +871,7 @@ class PARTICLE_PT_physics_integration(ParticleButtonsPanel, Panel):
bl_label = "Integration"
bl_options = {'DEFAULT_CLOSED'}
bl_parent_id = "PARTICLE_PT_physics"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -903,7 +903,7 @@ class PARTICLE_PT_physics_integration(ParticleButtonsPanel, Panel):
class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel):
bl_label = "Boid Brain"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1006,7 +1006,7 @@ class PARTICLE_PT_boidbrain(ParticleButtonsPanel, Panel):
class PARTICLE_PT_render(ParticleButtonsPanel, Panel):
bl_label = "Render"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1046,7 +1046,7 @@ class PARTICLE_PT_render_extra(ParticleButtonsPanel, Panel):
bl_label = "Extra"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1073,7 +1073,7 @@ class PARTICLE_PT_render_line(ParticleButtonsPanel, Panel):
bl_label = "Line"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1101,7 +1101,7 @@ class PARTICLE_PT_render_path(ParticleButtonsPanel, Panel):
bl_label = "Path"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1136,7 +1136,7 @@ class PARTICLE_PT_render_path_timing(ParticleButtonsPanel, Panel):
bl_label = "Timing"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1168,7 +1168,7 @@ class PARTICLE_PT_render_object(ParticleButtonsPanel, Panel):
bl_label = "Object"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1196,7 +1196,7 @@ class PARTICLE_PT_render_collection(ParticleButtonsPanel, Panel):
bl_label = "Collection"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1228,7 +1228,7 @@ class PARTICLE_PT_render_collection_use_count(ParticleButtonsPanel, Panel):
bl_label = "Use Count"
bl_parent_id = "PARTICLE_PT_render_collection"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1277,7 +1277,7 @@ class PARTICLE_PT_render_billboards_alignment(ParticleButtonsPanel, Panel):
bl_label = "Billboard Alignment"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1303,7 +1303,7 @@ class PARTICLE_PT_render_billboards_tilt(ParticleButtonsPanel, Panel):
bl_label = "Billboard Tilt"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1337,7 +1337,7 @@ class PARTICLE_PT_render_billboards_uv(ParticleButtonsPanel, Panel):
bl_label = "Billboard UVs"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1373,7 +1373,7 @@ class PARTICLE_PT_render_trails(ParticleButtonsPanel, Panel):
bl_label = "Trails"
bl_parent_id = "PARTICLE_PT_render"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1401,7 +1401,7 @@ class PARTICLE_PT_render_trails(ParticleButtonsPanel, Panel):
class PARTICLE_PT_draw(ParticleButtonsPanel, Panel):
bl_label = "Viewport Display"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1463,7 +1463,7 @@ class PARTICLE_PT_draw(ParticleButtonsPanel, Panel):
class PARTICLE_PT_children(ParticleButtonsPanel, Panel):
bl_label = "Children"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1519,7 +1519,7 @@ class PARTICLE_PT_children_parting(ParticleButtonsPanel, Panel):
bl_label = "Parting"
bl_parent_id = "PARTICLE_PT_children"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1544,7 +1544,7 @@ class PARTICLE_PT_children_clumping(ParticleButtonsPanel, Panel):
bl_label = "Clumping"
bl_parent_id = "PARTICLE_PT_children"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1586,7 +1586,7 @@ class PARTICLE_PT_children_roughness(ParticleButtonsPanel, Panel):
bl_label = "Roughness"
bl_parent_id = "PARTICLE_PT_children"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1628,7 +1628,7 @@ class PARTICLE_PT_children_kink(ParticleButtonsPanel, Panel):
bl_label = "Kink"
bl_parent_id = "PARTICLE_PT_children"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1679,7 +1679,7 @@ class PARTICLE_PT_children_kink(ParticleButtonsPanel, Panel):
class PARTICLE_PT_field_weights(ParticleButtonsPanel, Panel):
bl_label = "Field Weights"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1700,7 +1700,7 @@ class PARTICLE_PT_field_weights(ParticleButtonsPanel, Panel):
class PARTICLE_PT_force_fields(ParticleButtonsPanel, Panel):
bl_label = "Force Field Settings"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -1734,7 +1734,7 @@ class PARTICLE_PT_force_fields(ParticleButtonsPanel, Panel):
class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, Panel):
bl_label = "Vertex Groups"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1807,7 +1807,7 @@ class PARTICLE_PT_vertexgroups(ParticleButtonsPanel, Panel):
class PARTICLE_PT_textures(ParticleButtonsPanel, Panel):
bl_label = "Textures"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1839,7 +1839,7 @@ class PARTICLE_PT_textures(ParticleButtonsPanel, Panel):
class PARTICLE_PT_hair_shape(ParticleButtonsPanel, Panel):
bl_label = "Hair Shape"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -1866,7 +1866,7 @@ class PARTICLE_PT_hair_shape(ParticleButtonsPanel, Panel):
class PARTICLE_PT_custom_props(ParticleButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "particle_system.settings"
_property_type = bpy.types.ParticleSettings
diff --git a/release/scripts/startup/bl_ui/properties_physics_field.py b/release/scripts/startup/bl_ui/properties_physics_field.py
index 3e3a2145682..12e4feb8c0b 100644
--- a/release/scripts/startup/bl_ui/properties_physics_field.py
+++ b/release/scripts/startup/bl_ui/properties_physics_field.py
@@ -38,7 +38,7 @@ class PhysicButtonsPanel:
class PHYSICS_PT_field(PhysicButtonsPanel, Panel):
bl_label = "Force Fields"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -175,7 +175,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel, Panel):
class PHYSICS_PT_collision(PhysicButtonsPanel, Panel):
bl_label = "Collision"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 7cb0ce55be3..3714885e9f8 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -391,7 +391,7 @@ class RENDER_UL_renderviews(UIList):
class RENDER_PT_stereoscopy(RenderButtonsPanel, Panel):
bl_label = "Stereoscopy"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
bl_options = {'DEFAULT_CLOSED'}
def draw_header(self, context):
@@ -432,28 +432,6 @@ class RENDER_PT_stereoscopy(RenderButtonsPanel, Panel):
row.prop(rv, "camera_suffix", text="")
-class RENDER_PT_clay_settings(RenderButtonsPanel, Panel):
- bl_label = "Clay Settings"
- COMPAT_ENGINES = {'BLENDER_CLAY'}
-
- def draw(self, context):
- layout = self.layout
- props = context.scene.display
-
- col = layout.column()
- col.template_icon_view(props, "matcap_icon")
- col.prop(props, "matcap_rotation")
- col.prop(props, "matcap_hue")
- col.prop(props, "matcap_saturation")
- col.prop(props, "matcap_value")
- col.prop(props, "matcap_ssao_samples")
- col.prop(props, "matcap_ssao_factor_cavity")
- col.prop(props, "matcap_ssao_factor_edge")
- col.prop(props, "matcap_ssao_distance")
- col.prop(props, "matcap_ssao_attenuation")
- col.prop(props, "matcap_hair_brightness_randomness")
-
-
class RENDER_PT_eevee_ambient_occlusion(RenderButtonsPanel, Panel):
bl_label = "Ambient Occlusion"
bl_options = {'DEFAULT_CLOSED'}
@@ -796,7 +774,6 @@ classes = (
RENDER_UL_renderviews,
RENDER_PT_stereoscopy,
RENDER_PT_hair,
- RENDER_PT_clay_settings,
RENDER_PT_eevee_sampling,
RENDER_PT_eevee_film,
RENDER_PT_eevee_shadows,
diff --git a/release/scripts/startup/bl_ui/properties_scene.py b/release/scripts/startup/bl_ui/properties_scene.py
index 4c5b1a86235..bcffe9795cc 100644
--- a/release/scripts/startup/bl_ui/properties_scene.py
+++ b/release/scripts/startup/bl_ui/properties_scene.py
@@ -65,7 +65,7 @@ class SceneButtonsPanel:
class SCENE_PT_scene(SceneButtonsPanel, Panel):
bl_label = "Scene"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -79,7 +79,7 @@ class SCENE_PT_scene(SceneButtonsPanel, Panel):
class SCENE_PT_unit(SceneButtonsPanel, Panel):
bl_label = "Units"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -161,7 +161,7 @@ class SceneKeyingSetsPanel:
class SCENE_PT_keying_sets(SceneButtonsPanel, SceneKeyingSetsPanel, Panel):
bl_label = "Keying Sets"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -195,7 +195,7 @@ class SCENE_PT_keying_sets(SceneButtonsPanel, SceneKeyingSetsPanel, Panel):
class SCENE_PT_keying_set_paths(SceneButtonsPanel, SceneKeyingSetsPanel, Panel):
bl_label = "Active Keying Set"
bl_parent_id = "SCENE_PT_keying_sets"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
@classmethod
def poll(cls, context):
@@ -252,7 +252,7 @@ class SCENE_PT_keying_set_paths(SceneButtonsPanel, SceneKeyingSetsPanel, Panel):
class SCENE_PT_color_management(SceneButtonsPanel, Panel):
bl_label = "Color Management"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -278,7 +278,7 @@ class SCENE_PT_color_management_curves(SceneButtonsPanel, Panel):
bl_label = "Use Curves"
bl_parent_id = "SCENE_PT_color_management"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw_header(self, context):
@@ -302,7 +302,7 @@ class SCENE_PT_color_management_curves(SceneButtonsPanel, Panel):
class SCENE_PT_audio(SceneButtonsPanel, Panel):
bl_label = "Audio"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
@@ -434,7 +434,7 @@ class SCENE_PT_rigid_body_field_weights(SceneButtonsPanel, Panel):
class SCENE_PT_simplify(SceneButtonsPanel, Panel):
bl_label = "Simplify"
bl_options = {'DEFAULT_CLOSED'}
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw_header(self, context):
rd = context.scene.render
@@ -495,7 +495,7 @@ class SCENE_PT_viewport_display_ssao(SceneButtonsPanel, Panel):
class SCENE_PT_custom_props(SceneButtonsPanel, PropertyPanel, Panel):
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
_context_path = "scene"
_property_type = bpy.types.Scene
diff --git a/release/scripts/startup/bl_ui/properties_view_layer.py b/release/scripts/startup/bl_ui/properties_view_layer.py
index 013fac3c099..3fc003ac86e 100644
--- a/release/scripts/startup/bl_ui/properties_view_layer.py
+++ b/release/scripts/startup/bl_ui/properties_view_layer.py
@@ -34,7 +34,7 @@ class ViewLayerButtonsPanel:
class VIEWLAYER_PT_layer(ViewLayerButtonsPanel, Panel):
bl_label = "View Layer"
- COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_CLAY', 'BLENDER_EEVEE'}
+ COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE'}
def draw(self, context):
layout = self.layout
diff --git a/source/blender/blenkernel/intern/scene.c b/source/blender/blenkernel/intern/scene.c
index 63d7942c623..23414c0647e 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -110,7 +110,6 @@
#include "bmesh.h"
-const char *RE_engine_id_BLENDER_CLAY = "BLENDER_CLAY";
const char *RE_engine_id_BLENDER_EEVEE = "BLENDER_EEVEE";
const char *RE_engine_id_BLENDER_WORKBENCH = "BLENDER_WORKBENCH";
const char *RE_engine_id_CYCLES = "CYCLES";
@@ -808,15 +807,8 @@ void BKE_scene_init(Scene *sce)
copy_v3_v3(sce->display.light_direction, (float[3]){-M_SQRT1_3, -M_SQRT1_3, M_SQRT1_3});
sce->display.shadow_shift = 0.1;
- sce->display.matcap_icon = 1;
- sce->display.matcap_type = CLAY_MATCAP_NONE;
- sce->display.matcap_hue = 0.5f;
- sce->display.matcap_saturation = 0.5f;
- sce->display.matcap_value = 0.5f;
sce->display.matcap_ssao_distance = 0.2f;
sce->display.matcap_ssao_attenuation = 1.0f;
- sce->display.matcap_ssao_factor_cavity = 1.0f;
- sce->display.matcap_ssao_factor_edge = 1.0f;
sce->display.matcap_ssao_samples = 16;
/* SceneEEVEE */
diff --git a/source/blender/blenloader/CMakeLists.txt b/source/blender/blenloader/CMakeLists.txt
index f42336a2c7a..c59232e7887 100644
--- a/source/blender/blenloader/CMakeLists.txt
+++ b/source/blender/blenloader/CMakeLists.txt
@@ -82,10 +82,6 @@ if(WITH_INTERNATIONAL)
add_definitions(-DWITH_INTERNATIONAL)
endif()
-if(WITH_CLAY_ENGINE)
- add_definitions(-DWITH_CLAY_ENGINE)
-endif()
-
if(WITH_CODEC_FFMPEG)
add_definitions(-DWITH_FFMPEG)
endif()
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index eb165efb4f9..055632ded06 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -1444,15 +1444,8 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
if (!MAIN_VERSION_ATLEAST(bmain, 280, 15)) {
for (Scene *scene = bmain->scene.first; scene; scene = scene->id.next) {
- scene->display.matcap_icon = 1;
- scene->display.matcap_type = CLAY_MATCAP_NONE;
- scene->display.matcap_hue = 0.5f;
- scene->display.matcap_saturation = 0.5f;
- scene->display.matcap_value = 0.5f;
scene->display.matcap_ssao_distance = 0.2f;
scene->display.matcap_ssao_attenuation = 1.0f;
- scene->display.matcap_ssao_factor_cavity = 1.0f;
- scene->display.matcap_ssao_factor_edge = 1.0f;
scene->display.matcap_ssao_samples = 16;
}
diff --git a/source/blender/draw/CMakeLists.txt b/source/blender/draw/CMakeLists.txt
index 7d869982f29..afb527a07c6 100644
--- a/source/blender/draw/CMakeLists.txt
+++ b/source/blender/draw/CMakeLists.txt
@@ -91,7 +91,6 @@ set(SRC
modes/pose_mode.c
modes/sculpt_mode.c
engines/basic/basic_engine.c
- engines/clay/clay_engine.c
engines/eevee/eevee_bloom.c
engines/eevee/eevee_data.c
engines/eevee/eevee_depth_of_field.c
@@ -134,27 +133,12 @@ set(SRC
modes/draw_mode_engines.h
modes/edit_mesh_mode_intern.h
engines/basic/basic_engine.h
- engines/clay/clay_engine.h
engines/eevee/eevee_engine.h
engines/eevee/eevee_lut.h
engines/eevee/eevee_private.h
engines/external/external_engine.h
)
-if(WITH_CLAY_ENGINE)
- add_definitions(-DWITH_CLAY_ENGINE)
-endif()
-
-data_to_c_simple(engines/clay/shaders/clay_frag.glsl SRC)
-data_to_c_simple(engines/clay/shaders/clay_fxaa.glsl SRC)
-data_to_c_simple(engines/clay/shaders/clay_copy.glsl SRC)
-data_to_c_simple(engines/clay/shaders/clay_prepass_frag.glsl SRC)
-data_to_c_simple(engines/clay/shaders/clay_vert.glsl SRC)
-data_to_c_simple(engines/clay/shaders/clay_particle_vert.glsl SRC)
-data_to_c_simple(engines/clay/shaders/clay_particle_strand_frag.glsl SRC)
-data_to_c_simple(engines/clay/shaders/ssao_alchemy.glsl SRC)
-data_to_c_simple(engines/clay/shaders/ssao_groundtruth.glsl SRC)
-
data_to_c_simple(engines/eevee/shaders/ambient_occlusion_lib.glsl SRC)
data_to_c_simple(engines/eevee/shaders/default_frag.glsl SRC)
data_to_c_simple(engines/eevee/shaders/default_world_frag.glsl SRC)
diff --git a/source/blender/draw/engines/clay/clay_engine.c b/source/blender/draw/engines/clay/clay_engine.c
deleted file mode 100644
index 5d3717097b1..00000000000
--- a/source/blender/draw/engines/clay/clay_engine.c
+++ /dev/null
@@ -1,985 +0,0 @@
-/*
- * Copyright 2016, Blender Foundation.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Contributor(s): Blender Institute
- *
- */
-
-#include "BLI_utildefines.h"
-#include "BLI_string_utils.h"
-#include "BLI_rand.h"
-
-#include "DNA_particle_types.h"
-#include "DNA_view3d_types.h"
-
-#include "BKE_icons.h"
-#include "BKE_idprop.h"
-#include "BKE_main.h"
-#include "BKE_particle.h"
-
-#include "GPU_shader.h"
-
-#include "IMB_imbuf.h"
-#include "IMB_imbuf_types.h"
-
-#include "UI_resources.h"
-#include "UI_interface_icons.h"
-
-#include "DRW_render.h"
-
-#include "DEG_depsgraph_query.h"
-
-#include "clay_engine.h"
-
-#ifdef WITH_CLAY_ENGINE
-#include "../eevee/eevee_lut.h" /* TODO find somewhere to share blue noise Table */
-
-/* Shaders */
-
-#define CLAY_ENGINE "BLENDER_CLAY"
-
-#define MAX_CLAY_MAT 512 /* 512 = 9 bit material id */
-
-#define SHADER_DEFINES_NO_AO \
- "#define MAX_MATERIAL " STRINGIFY(MAX_CLAY_MAT) "\n" \
- "#define USE_ROTATION\n" \
- "#define USE_HSV\n"
-
-#define SHADER_DEFINES \
- SHADER_DEFINES_NO_AO \
- "#define USE_AO\n"
-
-extern char datatoc_clay_frag_glsl[];
-extern char datatoc_clay_prepass_frag_glsl[];
-extern char datatoc_clay_copy_glsl[];
-extern char datatoc_clay_vert_glsl[];
-extern char datatoc_clay_fxaa_glsl[];
-extern char datatoc_clay_particle_vert_glsl[];
-extern char datatoc_clay_particle_strand_frag_glsl[];
-extern char datatoc_ssao_alchemy_glsl[];
-extern char datatoc_common_fxaa_lib_glsl[];
-
-/* *********** LISTS *********** */
-
-/**
- * UBOs data needs to be 16 byte aligned (size of vec4)
- *
- * Reminder: float, int, bool are 4 bytes
- *
- * \note struct is expected to be initialized with all pad-bits zero'd
- * so we can use 'memcmp' to check for duplicates. Possibly hash data later.
- */
-typedef struct CLAY_UBO_Material {
- float ssao_params_var[4];
- /* - 16 -*/
- float matcap_hsv[3];
- float matcap_id; /* even float encoding have enough precision */
- /* - 16 -*/
- float matcap_rot[2];
- float pad[2]; /* ensure 16 bytes alignement */
-} CLAY_UBO_Material; /* 48 bytes */
-BLI_STATIC_ASSERT_ALIGN(CLAY_UBO_Material, 16)
-
-typedef struct CLAY_HAIR_UBO_Material {
- float hair_randomness;
- float matcap_id;
- float matcap_rot[2];
- float matcap_hsv[3];
- float pad;
-} CLAY_HAIR_UBO_Material; /* 32 bytes */
-BLI_STATIC_ASSERT_ALIGN(CLAY_HAIR_UBO_Material, 16)
-
-typedef struct CLAY_UBO_Storage {
- CLAY_UBO_Material materials[MAX_CLAY_MAT];
-} CLAY_UBO_Storage;
-
-typedef struct CLAY_HAIR_UBO_Storage {
- CLAY_HAIR_UBO_Material materials[MAX_CLAY_MAT];
-} CLAY_HAIR_UBO_Storage;
-
-/* GPUViewport.storage
- * Is freed everytime the viewport engine changes */
-typedef struct CLAY_Storage {
- /* Materials Parameter UBO */
- CLAY_UBO_Storage mat_storage;
- CLAY_HAIR_UBO_Storage hair_mat_storage;
- int ubo_current_id;
- int hair_ubo_current_id;
- DRWShadingGroup *shgrps[MAX_CLAY_MAT];
- DRWShadingGroup *shgrps_flat[MAX_CLAY_MAT];
- DRWShadingGroup *shgrps_pre[MAX_CLAY_MAT];
- DRWShadingGroup *shgrps_pre_flat[MAX_CLAY_MAT];
- DRWShadingGroup *hair_shgrps[MAX_CLAY_MAT];
-} CLAY_Storage;
-
-typedef struct CLAY_StorageList {
- struct CLAY_Storage *storage;
- struct CLAY_PrivateData *g_data;
-} CLAY_StorageList;
-
-typedef struct CLAY_FramebufferList {
- struct GPUFrameBuffer *antialias_fb;
- struct GPUFrameBuffer *prepass_fb;
-} CLAY_FramebufferList;
-
-typedef struct CLAY_PassList {
- struct DRWPass *clay_ps;
- struct DRWPass *clay_cull_ps;
- struct DRWPass *clay_flat_ps;
- struct DRWPass *clay_flat_cull_ps;
- struct DRWPass *clay_pre_ps;
- struct DRWPass *clay_pre_cull_ps;
- struct DRWPass *clay_flat_pre_ps;
- struct DRWPass *clay_flat_pre_cull_ps;
- struct DRWPass *clay_deferred_ps;
- struct DRWPass *fxaa_ps;
- struct DRWPass *copy_ps;
- struct DRWPass *hair_pass;
-} CLAY_PassList;
-
-
-typedef struct CLAY_Data {
- void *engine_type;
- CLAY_FramebufferList *fbl;
- DRWViewportEmptyList *txl;
- CLAY_PassList *psl;
- CLAY_StorageList *stl;
-} CLAY_Data;
-
-typedef struct CLAY_ViewLayerData {
- struct GPUTexture *jitter_tx;
- struct GPUUniformBuffer *mat_ubo;
- struct GPUUniformBuffer *matcaps_ubo;
- struct GPUUniformBuffer *hair_mat_ubo;
- struct GPUUniformBuffer *sampling_ubo;
- int cached_sample_num;
-} CLAY_ViewLayerData;
-
-/* *********** STATIC *********** */
-
-static struct {
- /* Shading Pass */
- struct GPUShader *clay_sh;
- struct GPUShader *clay_flat_sh;
- struct GPUShader *clay_prepass_flat_sh;
- struct GPUShader *clay_prepass_sh;
- struct GPUShader *clay_deferred_shading_sh;
- struct GPUShader *fxaa_sh;
- struct GPUShader *copy_sh;
- struct GPUShader *hair_sh;
- /* Matcap textures */
- struct GPUTexture *matcap_array;
- float matcap_colors[24][4];
- /* Just a serie of int from 0 to MAX_CLAY_MAT-1 */
- int ubo_mat_idxs[MAX_CLAY_MAT];
- /* To avoid useless texture and ubo binds. */
- bool first_shgrp;
-} e_data = {NULL}; /* Engine data */
-
-typedef struct CLAY_PrivateData {
- DRWShadingGroup *depth_shgrp;
- DRWShadingGroup *depth_shgrp_select;
- DRWShadingGroup *depth_shgrp_active;
- DRWShadingGroup *depth_shgrp_cull;
- DRWShadingGroup *depth_shgrp_cull_select;
- DRWShadingGroup *depth_shgrp_cull_active;
- /* Deferred shading */
- struct GPUTexture *depth_tx; /* ref only, not alloced */
- struct GPUTexture *normal_tx; /* ref only, not alloced */
- struct GPUTexture *id_tx; /* ref only, not alloced */
- struct GPUTexture *color_copy; /* ref only, not alloced */
- bool enable_deferred_path;
- /* Ssao */
- float winmat[4][4];
- float viewvecs[3][4];
- float ssao_params[4];
-} CLAY_PrivateData; /* Transient data */
-
-/* Functions */
-
-static void clay_view_layer_data_free(void *storage)
-{
- CLAY_ViewLayerData *sldata = (CLAY_ViewLayerData *)storage;
-
- DRW_UBO_FREE_SAFE(sldata->mat_ubo);
- DRW_UBO_FREE_SAFE(sldata->matcaps_ubo);
- DRW_UBO_FREE_SAFE(sldata->hair_mat_ubo);
- DRW_UBO_FREE_SAFE(sldata->sampling_ubo);
- DRW_TEXTURE_FREE_SAFE(sldata->jitter_tx);
-}
-
-static CLAY_ViewLayerData *CLAY_view_layer_data_get(void)
-{
- CLAY_ViewLayerData **sldata = (CLAY_ViewLayerData **)DRW_view_layer_engine_data_ensure(
- &draw_engine_clay_type, &clay_view_layer_data_free);
-
- if (*sldata == NULL) {
- *sldata = MEM_callocN(sizeof(**sldata), "CLAY_ViewLayerData");
- }
-
- return *sldata;
-}
-
-static void add_icon_to_rect(PreviewImage *prv, float *final_rect, int layer)
-{
- int image_size = prv->w[0] * prv->h[0];
- float *new_rect = &final_rect[image_size * 4 * layer];
-
- IMB_buffer_float_from_byte(new_rect, (unsigned char *)prv->rect[0], IB_PROFILE_SRGB, IB_PROFILE_SRGB,
- false, prv->w[0], prv->h[0], prv->w[0], prv->w[0]);
-
- /* Find overall color */
- for (int y = 0; y < 4; ++y) {
- for (int x = 0; x < 4; ++x) {
- e_data.matcap_colors[layer][0] += new_rect[y * 512 * 128 * 4 + x * 128 * 4 + 0];
- e_data.matcap_colors[layer][1] += new_rect[y * 512 * 128 * 4 + x * 128 * 4 + 1];
- e_data.matcap_colors[layer][2] += new_rect[y * 512 * 128 * 4 + x * 128 * 4 + 2];
- }
- }
-
- e_data.matcap_colors[layer][0] /= 16.0f * 2.0f; /* the * 2 is to darken for shadows */
- e_data.matcap_colors[layer][1] /= 16.0f * 2.0f;
- e_data.matcap_colors[layer][2] /= 16.0f * 2.0f;
-}
-
-static struct GPUTexture *load_matcaps(PreviewImage *prv[24], int nbr)
-{
- struct GPUTexture *tex;
- int w = prv[0]->w[0];
- int h = prv[0]->h[0];
- float *final_rect = MEM_callocN(sizeof(float) * 4 * w * h * nbr, "Clay Matcap array rect");
-
- for (int i = 0; i < nbr; ++i) {
- add_icon_to_rect(prv[i], final_rect, i);
- BKE_previewimg_free(&prv[i]);
- }
-
- tex = DRW_texture_create_2D_array(w, h, nbr, GPU_RGBA8, DRW_TEX_FILTER, final_rect);
- MEM_freeN(final_rect);
-
- return tex;
-}
-
-static int matcap_to_index(int matcap)
-{
- return matcap - 1;
-}
-
-/* Using Hammersley distribution */
-static float *create_disk_samples(int num_samples)
-{
- /* vec4 to ensure memory alignment. */
- float (*texels)[4] = MEM_mallocN(sizeof(float[4]) * num_samples, "concentric_tex");
- const float num_samples_inv = 1.0f / num_samples;
-
- for (int i = 0; i < num_samples; i++) {
- float r = (i + 0.5f) * num_samples_inv;
- double dphi;
- BLI_hammersley_1D(i, &dphi);
-
- float phi = (float)dphi * 2.0f * M_PI;
- texels[i][0] = cosf(phi);
- texels[i][1] = sinf(phi);
- /* This deliberatly distribute more samples
- * at the center of the disk (and thus the shadow). */
- texels[i][2] = r;
- }
-
- return (float *)texels;
-}
-
-static struct GPUTexture *create_jitter_texture(int num_samples)
-{
- float jitter[64 * 64][3];
- const float num_samples_inv = 1.0f / num_samples;
-
- for (int i = 0; i < 64 * 64; i++) {
- float phi = blue_noise[i][0] * 2.0f * M_PI;
- /* This rotate the sample per pixels */
- jitter[i][0] = cosf(phi);
- jitter[i][1] = sinf(phi);
- /* This offset the sample along it's direction axis (reduce banding) */
- float bn = blue_noise[i][1] - 0.5f;
- CLAMP(bn, -0.499f, 0.499f); /* fix fireflies */
- jitter[i][2] = bn * num_samples_inv;
- }
-
- UNUSED_VARS(bsdf_split_sum_ggx, btdf_split_sum_ggx, ltc_mag_ggx, ltc_mat_ggx, ltc_disk_integral);
-
- return DRW_texture_create_2D(64, 64, GPU_RGB16F, DRW_TEX_FILTER | DRW_TEX_WRAP, &jitter[0][0]);
-}
-
-static void clay_engine_init(void *vedata)
-{
- CLAY_StorageList *stl = ((CLAY_Data *)vedata)->stl;
- CLAY_FramebufferList *fbl = ((CLAY_Data *)vedata)->fbl;
- CLAY_ViewLayerData *sldata = CLAY_view_layer_data_get();
- DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
-
- /* Create Texture Array */
- if (!e_data.matcap_array) {
- PreviewImage *prv[24]; /* For now use all of the 24 internal matcaps */
- const int num_matcap = ARRAY_SIZE(prv);
-
- /* TODO only load used matcaps */
- for (int i = 0; i < num_matcap; ++i) {
- prv[i] = UI_icon_to_preview((int)ICON_MATCAP_01 + i);
- }
-
- e_data.matcap_array = load_matcaps(prv, num_matcap);
- }
-
- /* Shading pass */
- if (!e_data.clay_sh) {
- char *matcap_with_ao = BLI_string_joinN(
- datatoc_clay_frag_glsl,
- datatoc_ssao_alchemy_glsl);
-
- e_data.clay_sh = DRW_shader_create(
- datatoc_clay_vert_glsl, NULL, datatoc_clay_frag_glsl,
- SHADER_DEFINES_NO_AO);
- e_data.clay_flat_sh = DRW_shader_create(
- datatoc_clay_vert_glsl, NULL, datatoc_clay_frag_glsl,
- SHADER_DEFINES_NO_AO
- "#define USE_FLAT_NORMAL\n");
-
- e_data.clay_prepass_sh = DRW_shader_create(
- datatoc_clay_vert_glsl, NULL, datatoc_clay_prepass_frag_glsl,
- SHADER_DEFINES);
- e_data.clay_prepass_flat_sh = DRW_shader_create(
- datatoc_clay_vert_glsl, NULL, datatoc_clay_prepass_frag_glsl,
- SHADER_DEFINES
- "#define USE_FLAT_NORMAL\n");
-
- e_data.clay_deferred_shading_sh = DRW_shader_create_fullscreen(
- matcap_with_ao,
- SHADER_DEFINES
- "#define DEFERRED_SHADING\n");
-
- MEM_freeN(matcap_with_ao);
-
- char *fxaa_str = BLI_string_joinN(
- datatoc_common_fxaa_lib_glsl,
- datatoc_clay_fxaa_glsl);
-
- e_data.fxaa_sh = DRW_shader_create_fullscreen(fxaa_str, NULL);
-
- MEM_freeN(fxaa_str);
-
- e_data.copy_sh = DRW_shader_create_fullscreen(datatoc_clay_copy_glsl, NULL);
- }
-
- if (!stl->storage) {
- stl->storage = MEM_callocN(sizeof(CLAY_Storage), "CLAY_Storage");
- }
-
- if (!stl->g_data) {
- stl->g_data = MEM_mallocN(sizeof(*stl->g_data), "CLAY_PrivateStorage");
- }
-
- CLAY_PrivateData *g_data = stl->g_data;
-
- if (!sldata->mat_ubo) {
- sldata->mat_ubo = DRW_uniformbuffer_create(sizeof(CLAY_UBO_Storage), NULL);
- }
-
- if (!sldata->hair_mat_ubo) {
- sldata->hair_mat_ubo = DRW_uniformbuffer_create(sizeof(CLAY_HAIR_UBO_Storage), NULL);
- }
-
- if (!sldata->matcaps_ubo) {
- sldata->matcaps_ubo = DRW_uniformbuffer_create(sizeof(e_data.matcap_colors), e_data.matcap_colors);
- }
-
- if (e_data.ubo_mat_idxs[1] == 0) {
- /* Just int to have pointers to them */
- for (int i = 0; i < MAX_CLAY_MAT; ++i) {
- e_data.ubo_mat_idxs[i] = i;
- }
- }
-
- /* FBO setup */
- {
- const float *viewport_size = DRW_viewport_size_get();
- const int size[2] = {(int)viewport_size[0], (int)viewport_size[1]};
-
- g_data->normal_tx = DRW_texture_pool_query_2D(size[0], size[1], GPU_RG8, &draw_engine_clay_type);
- g_data->id_tx = DRW_texture_pool_query_2D(size[0], size[1], GPU_R16UI, &draw_engine_clay_type);
-
- GPU_framebuffer_ensure_config(&fbl->prepass_fb, {
- GPU_ATTACHMENT_TEXTURE(dtxl->depth),
- GPU_ATTACHMENT_TEXTURE(g_data->normal_tx),
- GPU_ATTACHMENT_TEXTURE(g_data->id_tx)
- });
-
- /* For FXAA */
- /* TODO(fclem): OPTI: we could merge normal_tx and id_tx into a GPU_RGBA8
- * and reuse it for the fxaa target. */
- g_data->color_copy = DRW_texture_pool_query_2D(size[0], size[1], GPU_RGBA8, &draw_engine_clay_type);
-
- GPU_framebuffer_ensure_config(&fbl->antialias_fb, {
- GPU_ATTACHMENT_NONE,
- GPU_ATTACHMENT_TEXTURE(g_data->color_copy)
- });
- }
-
- /* SSAO setup */
- {
- const DRWContextState *draw_ctx = DRW_context_state_get();
- Scene *scene_eval = DEG_get_evaluated_scene(draw_ctx->depsgraph);
- const int ssao_samples = scene_eval->display.matcap_ssao_samples;
-
- float invproj[4][4];
- float dfdyfacs[2];
- const bool is_persp = DRW_viewport_is_persp_get();
- /* view vectors for the corners of the view frustum.
- * Can be used to recreate the world space position easily */
- float viewvecs[3][4] = {
- {-1.0f, -1.0f, -1.0f, 1.0f},
- {1.0f, -1.0f, -1.0f, 1.0f},
- {-1.0f, 1.0f, -1.0f, 1.0f}
- };
- int i;
- const float *size = DRW_viewport_size_get();
-
- DRW_state_dfdy_factors_get(dfdyfacs);
-
- g_data->ssao_params[0] = ssao_samples;
- g_data->ssao_params[1] = size[0] / 64.0;
- g_data->ssao_params[2] = size[1] / 64.0;
- g_data->ssao_params[3] = dfdyfacs[1]; /* dfdy sign for offscreen */
-
- /* invert the view matrix */
- DRW_viewport_matrix_get(g_data->winmat, DRW_MAT_WIN);
- invert_m4_m4(invproj, g_data->winmat);
-
- /* convert the view vectors to view space */
- for (i = 0; i < 3; i++) {
- mul_m4_v4(invproj, viewvecs[i]);
- /* normalized trick see:
- * http://www.derschmale.com/2014/01/26/reconstructing-positions-from-the-depth-buffer */
- mul_v3_fl(viewvecs[i], 1.0f / viewvecs[i][3]);
- if (is_persp)
- mul_v3_fl(viewvecs[i], 1.0f / viewvecs[i][2]);
- viewvecs[i][3] = 1.0;
-
- copy_v4_v4(g_data->viewvecs[i], viewvecs[i]);
- }
-
- /* we need to store the differences */
- g_data->viewvecs[1][0] -= g_data->viewvecs[0][0];
- g_data->viewvecs[1][1] = g_data->viewvecs[2][1] - g_data->viewvecs[0][1];
-
- /* calculate a depth offset as well */
- if (!is_persp) {
- float vec_far[] = {-1.0f, -1.0f, 1.0f, 1.0f};
- mul_m4_v4(invproj, vec_far);
- mul_v3_fl(vec_far, 1.0f / vec_far[3]);
- g_data->viewvecs[1][2] = vec_far[2] - g_data->viewvecs[0][2];
- }
-
- /* AO Samples Tex */
- if (sldata->sampling_ubo && (sldata->cached_sample_num != ssao_samples)) {
- DRW_UBO_FREE_SAFE(sldata->sampling_ubo);
- DRW_TEXTURE_FREE_SAFE(sldata->jitter_tx);
- }
-
- if (sldata->sampling_ubo == NULL) {
- float *samples = create_disk_samples(ssao_samples);
- sldata->jitter_tx = create_jitter_texture(ssao_samples);
- sldata->sampling_ubo = DRW_uniformbuffer_create(sizeof(float[4]) * ssao_samples, samples);
- sldata->cached_sample_num = ssao_samples;
- MEM_freeN(samples);
- }
- }
-}
-
-static DRWShadingGroup *CLAY_shgroup_create(DRWPass *pass, GPUShader *sh, int id)
-{
- CLAY_ViewLayerData *sldata = CLAY_view_layer_data_get();
- DRWShadingGroup *grp = DRW_shgroup_create(sh, pass);
- DRW_shgroup_uniform_int(grp, "mat_id", &e_data.ubo_mat_idxs[id], 1);
- if (e_data.first_shgrp) {
- DRW_shgroup_uniform_texture_persistent(grp, "matcaps", e_data.matcap_array);
- DRW_shgroup_uniform_block_persistent(grp, "material_block", sldata->mat_ubo);
- DRW_shgroup_uniform_block_persistent(grp, "matcaps_block", sldata->matcaps_ubo);
- }
- return grp;
-}
-
-static DRWShadingGroup *CLAY_shgroup_deferred_prepass_create(DRWPass *pass, GPUShader *sh, int id)
-{
- DRWShadingGroup *grp = DRW_shgroup_create(sh, pass);
- DRW_shgroup_uniform_int(grp, "mat_id", &e_data.ubo_mat_idxs[id], 1);
-
- return grp;
-}
-
-static DRWShadingGroup *CLAY_shgroup_deferred_shading_create(DRWPass *pass, CLAY_PrivateData *g_data)
-{
- CLAY_ViewLayerData *sldata = CLAY_view_layer_data_get();
- DRWShadingGroup *grp = DRW_shgroup_create(e_data.clay_deferred_shading_sh, pass);
- DRW_shgroup_uniform_texture_ref(grp, "depthtex", &g_data->depth_tx);
- DRW_shgroup_uniform_texture_ref(grp, "normaltex", &g_data->normal_tx);
- DRW_shgroup_uniform_texture_ref(grp, "idtex", &g_data->id_tx);
- DRW_shgroup_uniform_texture(grp, "matcaps", e_data.matcap_array);
- DRW_shgroup_uniform_texture(grp, "ssao_jitter", sldata->jitter_tx);
- DRW_shgroup_uniform_block(grp, "samples_block", sldata->sampling_ubo);
- DRW_shgroup_uniform_block(grp, "material_block", sldata->mat_ubo);
- DRW_shgroup_uniform_block(grp, "matcaps_block", sldata->matcaps_ubo);
- /* TODO put in ubo */
- DRW_shgroup_uniform_mat4(grp, "WinMatrix", g_data->winmat);
- DRW_shgroup_uniform_vec2(grp, "invscreenres", DRW_viewport_invert_size_get(), 1);
- DRW_shgroup_uniform_vec4(grp, "viewvecs[0]", (float *)g_data->viewvecs, 3);
- DRW_shgroup_uniform_vec4(grp, "ssao_params", g_data->ssao_params, 1);
- return grp;
-}
-
-static DRWShadingGroup *CLAY_hair_shgroup_create(DRWPass *pass, int id)
-{
- CLAY_ViewLayerData *sldata = CLAY_view_layer_data_get();
-
- if (!e_data.hair_sh) {
- e_data.hair_sh = DRW_shader_create(
- datatoc_clay_particle_vert_glsl, NULL, datatoc_clay_particle_strand_frag_glsl,
- "#define MAX_MATERIAL " STRINGIFY(MAX_CLAY_MAT) "\n" );
- }
-
- DRWShadingGroup *grp = DRW_shgroup_create(e_data.hair_sh, pass);
- DRW_shgroup_uniform_texture(grp, "matcaps", e_data.matcap_array);
- DRW_shgroup_uniform_block(grp, "material_block", sldata->mat_ubo);
- DRW_shgroup_uniform_int(grp, "mat_id", &e_data.ubo_mat_idxs[id], 1);
-
- return grp;
-}
-
-static int search_mat_to_ubo(CLAY_Storage *storage, const CLAY_UBO_Material *mat_ubo_test)
-{
- /* For now just use a linear search and test all parameters */
- /* TODO make a hash table */
- for (int i = 0; i < storage->ubo_current_id; ++i) {
- CLAY_UBO_Material *ubo = &storage->mat_storage.materials[i];
- if (memcmp(ubo, mat_ubo_test, sizeof(*mat_ubo_test)) == 0) {
- return i;
- }
- }
-
- return -1;
-}
-
-static int search_hair_mat_to_ubo(CLAY_Storage *storage, const CLAY_HAIR_UBO_Material *hair_mat_ubo_test)
-{
- /* For now just use a linear search and test all parameters */
- /* TODO make a hash table */
- for (int i = 0; i < storage->hair_ubo_current_id; ++i) {
- CLAY_HAIR_UBO_Material *ubo = &storage->hair_mat_storage.materials[i];
- if (memcmp(ubo, hair_mat_ubo_test, sizeof(*hair_mat_ubo_test)) == 0) {
- return i;
- }
- }
-
- return -1;
-}
-
-static int push_mat_to_ubo(CLAY_Storage *storage, const CLAY_UBO_Material *mat_ubo_test)
-{
- int id = storage->ubo_current_id++;
- id = min_ii(MAX_CLAY_MAT, id);
- storage->mat_storage.materials[id] = *mat_ubo_test;
- return id;
-}
-
-static int push_hair_mat_to_ubo(CLAY_Storage *storage, const CLAY_HAIR_UBO_Material *hair_mat_ubo_test)
-{
- int id = storage->hair_ubo_current_id++;
- id = min_ii(MAX_CLAY_MAT, id);
- storage->hair_mat_storage.materials[id] = *hair_mat_ubo_test;
- return id;
-}
-
-static int mat_in_ubo(CLAY_Storage *storage, const CLAY_UBO_Material *mat_ubo_test)
-{
- /* Search material in UBO */
- int id = search_mat_to_ubo(storage, mat_ubo_test);
-
- /* if not found create it */
- if (id == -1) {
- id = push_mat_to_ubo(storage, mat_ubo_test);
- }
-
- return id;
-}
-
-static int hair_mat_in_ubo(CLAY_Storage *storage, const CLAY_HAIR_UBO_Material *hair_mat_ubo_test)
-{
- /* Search material in UBO */
- int id = search_hair_mat_to_ubo(storage, hair_mat_ubo_test);
-
- /* if not found create it */
- if (id == -1) {
- id = push_hair_mat_to_ubo(storage, hair_mat_ubo_test);
- }
-
- return id;
-}
-
-static void ubo_mat_from_object(CLAY_Storage *storage, Object *UNUSED(ob), bool *r_needs_ao, int *r_id)
-{
- const DRWContextState *draw_ctx = DRW_context_state_get();
- const Scene *scene_eval = DEG_get_evaluated_scene(draw_ctx->depsgraph);
-
- const int matcap_icon = scene_eval->display.matcap_icon;
- const float matcap_rot = scene_eval->display.matcap_rotation;
- const float matcap_hue = scene_eval->display.matcap_hue;
- const float matcap_sat = scene_eval->display.matcap_saturation;
- const float matcap_val = scene_eval->display.matcap_value;
- const float ssao_distance = scene_eval->display.matcap_ssao_distance;
- const float ssao_factor_cavity = scene_eval->display.matcap_ssao_factor_cavity;
- const float ssao_factor_edge = scene_eval->display.matcap_ssao_factor_edge;
- const float ssao_attenuation = scene_eval->display.matcap_ssao_attenuation;
-
- CLAY_UBO_Material r_ubo = {{0.0f}};
-
- if (((ssao_factor_cavity > 0.0) || (ssao_factor_edge > 0.0)) &&
- (ssao_distance > 0.0))
- {
- *r_needs_ao = true;
-
- r_ubo.ssao_params_var[0] = ssao_distance;
- r_ubo.ssao_params_var[1] = ssao_factor_cavity;
- r_ubo.ssao_params_var[2] = ssao_factor_edge;
- r_ubo.ssao_params_var[3] = ssao_attenuation;
- }
- else {
- *r_needs_ao = false;
- }
-
- r_ubo.matcap_rot[0] = cosf(matcap_rot * 3.14159f * 2.0f);
- r_ubo.matcap_rot[1] = sinf(matcap_rot * 3.14159f * 2.0f);
-
- r_ubo.matcap_hsv[0] = matcap_hue + 0.5f;
- r_ubo.matcap_hsv[1] = matcap_sat * 2.0f;
- r_ubo.matcap_hsv[2] = matcap_val * 2.0f;
-
- r_ubo.matcap_id = matcap_to_index(matcap_icon);
-
- *r_id = mat_in_ubo(storage, &r_ubo);
-}
-
-static void hair_ubo_mat_from_object(Object *UNUSED(ob), CLAY_HAIR_UBO_Material *r_ubo)
-{
- const DRWContextState *draw_ctx = DRW_context_state_get();
- const Scene *scene_eval = DEG_get_evaluated_scene(draw_ctx->depsgraph);
-
- const int matcap_icon = scene_eval->display.matcap_icon;
- const float matcap_rot = scene_eval->display.matcap_rotation;
- const float matcap_hue = scene_eval->display.matcap_hue;
- const float matcap_sat = scene_eval->display.matcap_saturation;
- const float matcap_val = scene_eval->display.matcap_value;
- const float hair_randomness = scene_eval->display.matcap_hair_brightness_randomness;
-
- memset(r_ubo, 0x0, sizeof(*r_ubo));
-
- r_ubo->matcap_rot[0] = cosf(matcap_rot * 3.14159f * 2.0f);
- r_ubo->matcap_rot[1] = sinf(matcap_rot * 3.14159f * 2.0f);
- r_ubo->matcap_hsv[0] = matcap_hue + 0.5f;
- r_ubo->matcap_hsv[1] = matcap_sat * 2.0f;
- r_ubo->matcap_hsv[2] = matcap_val * 2.0f;
- r_ubo->hair_randomness = hair_randomness;
- r_ubo->matcap_id = matcap_to_index(matcap_icon);
-}
-
-static DRWShadingGroup *CLAY_object_shgrp_get(CLAY_Data *vedata, Object *ob, bool use_flat, bool cull)
-{
- bool prepass; int id;
- CLAY_PassList *psl = vedata->psl;
- CLAY_Storage *storage = vedata->stl->storage;
- DRWShadingGroup **shgrps;
- DRWPass *pass; GPUShader *sh;
-
- ubo_mat_from_object(storage, ob, &prepass, &id);
-
- if (prepass) {
- if (use_flat) {
- shgrps = storage->shgrps_pre_flat;
- pass = (cull) ? psl->clay_flat_pre_cull_ps : psl->clay_flat_pre_ps;
- sh = e_data.clay_prepass_flat_sh;
- }
- else {
- shgrps = storage->shgrps_pre;
- pass = (cull) ? psl->clay_pre_cull_ps : psl->clay_pre_ps;
- sh = e_data.clay_prepass_sh;
- }
-
- if (shgrps[id] == NULL) {
- shgrps[id] = CLAY_shgroup_deferred_prepass_create(pass, sh, id);
- }
-
- vedata->stl->g_data->enable_deferred_path = true;
- }
- else {
- if (use_flat) {
- shgrps = storage->shgrps_flat;
- pass = (cull) ? psl->clay_flat_cull_ps : psl->clay_flat_ps;
- sh = e_data.clay_flat_sh;
- }
- else {
- shgrps = storage->shgrps;
- pass = (cull) ? psl->clay_cull_ps : psl->clay_ps;
- sh = e_data.clay_sh;
- }
-
- if (shgrps[id] == NULL) {
- shgrps[id] = CLAY_shgroup_create(pass, sh, id);
- e_data.first_shgrp = false;
- }
- }
-
- return shgrps[id];
-}
-
-static DRWShadingGroup *CLAY_hair_shgrp_get(
- CLAY_Data *UNUSED(vedata), Object *ob, CLAY_StorageList *stl, CLAY_PassList *psl)
-{
- DRWShadingGroup **hair_shgrps = stl->storage->hair_shgrps;
-
- CLAY_HAIR_UBO_Material hair_mat_ubo_test;
- hair_ubo_mat_from_object(ob, &hair_mat_ubo_test);
-
- int hair_id = hair_mat_in_ubo(stl->storage, &hair_mat_ubo_test);
-
- if (hair_shgrps[hair_id] == NULL) {
- hair_shgrps[hair_id] = CLAY_hair_shgroup_create(psl->hair_pass, hair_id);
- }
-
- return hair_shgrps[hair_id];
-}
-
-static void clay_cache_init(void *vedata)
-{
- DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
- CLAY_PassList *psl = ((CLAY_Data *)vedata)->psl;
- CLAY_StorageList *stl = ((CLAY_Data *)vedata)->stl;
-
- /* Disable AO unless a material needs it. */
- stl->g_data->enable_deferred_path = false;
-
- /* Reset UBO datas, shgrp pointers and material id counters. */
- memset(stl->storage, 0, sizeof(*stl->storage));
- e_data.first_shgrp = true;
-
- /* Solid Passes */
- {
- DRWState state = DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL;
- psl->clay_ps = DRW_pass_create("Clay", state);
- psl->clay_cull_ps = DRW_pass_create("Clay Culled", state | DRW_STATE_CULL_BACK);
- psl->clay_flat_ps = DRW_pass_create("Clay Flat", state);
- psl->clay_flat_cull_ps = DRW_pass_create("Clay Flat Culled", state | DRW_STATE_CULL_BACK);
-
- DRWState prepass_state = DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL;
- DRWState prepass_cull_state = prepass_state | DRW_STATE_CULL_BACK;
- psl->clay_pre_ps = DRW_pass_create("Clay Deferred Pre", prepass_state);
- psl->clay_pre_cull_ps = DRW_pass_create("Clay Deferred Pre Culled", prepass_cull_state);
- psl->clay_flat_pre_ps = DRW_pass_create("Clay Deferred Flat Pre", prepass_state);
- psl->clay_flat_pre_cull_ps = DRW_pass_create("Clay Deferred Flat Pre Culled", prepass_cull_state);
-
- psl->clay_deferred_ps = DRW_pass_create("Clay Deferred Shading", DRW_STATE_WRITE_COLOR);
- DRWShadingGroup *grp = CLAY_shgroup_deferred_shading_create(psl->clay_deferred_ps, stl->g_data);
- DRW_shgroup_call_add(grp, DRW_cache_fullscreen_quad_get(), NULL);
- }
-
- /* Hair Pass */
- {
- psl->hair_pass = DRW_pass_create(
- "Hair Pass",
- DRW_STATE_WRITE_COLOR | DRW_STATE_WRITE_DEPTH | DRW_STATE_DEPTH_LESS_EQUAL | DRW_STATE_WIRE);
- }
-
- {
- psl->fxaa_ps = DRW_pass_create("Fxaa", DRW_STATE_WRITE_COLOR);
- DRWShadingGroup *grp = DRW_shgroup_create(e_data.fxaa_sh, psl->fxaa_ps);
- DRW_shgroup_uniform_texture_ref(grp, "colortex", &dtxl->color);
- DRW_shgroup_uniform_vec2(grp, "invscreenres", DRW_viewport_invert_size_get(), 1);
- DRW_shgroup_call_add(grp, DRW_cache_fullscreen_quad_get(), NULL);
-
- psl->copy_ps = DRW_pass_create("Copy", DRW_STATE_WRITE_COLOR);
- grp = DRW_shgroup_create(e_data.copy_sh, psl->copy_ps);
- DRW_shgroup_uniform_texture_ref(grp, "colortex", &stl->g_data->color_copy);
- DRW_shgroup_call_add(grp, DRW_cache_fullscreen_quad_get(), NULL);
- }
-}
-
-static void clay_cache_populate_particles(void *vedata, Object *ob)
-{
- CLAY_PassList *psl = ((CLAY_Data *)vedata)->psl;
- CLAY_StorageList *stl = ((CLAY_Data *)vedata)->stl;
- const DRWContextState *draw_ctx = DRW_context_state_get();
-
- if (ob == draw_ctx->object_edit) {
- return;
- }
-
- for (ParticleSystem *psys = ob->particlesystem.first; psys; psys = psys->next) {
- if (!psys_check_enabled(ob, psys, false)) {
- continue;
- }
- if (!DRW_check_psys_visible_within_active_context(ob, psys)) {
- continue;
- }
- ParticleSettings *part = psys->part;
- const int draw_as = (part->draw_as == PART_DRAW_REND) ? part->ren_as : part->draw_as;
- if (draw_as == PART_DRAW_PATH) {
- struct Gwn_Batch *geom = DRW_cache_particles_get_hair(ob, psys, NULL);
- DRWShadingGroup *hair_shgrp = CLAY_hair_shgrp_get(vedata, ob, stl, psl);
- DRW_shgroup_call_add(hair_shgrp, geom, NULL);
- }
- }
-}
-
-static void clay_cache_populate(void *vedata, Object *ob)
-{
- DRWShadingGroup *clay_shgrp;
-
- if (!DRW_object_is_renderable(ob))
- return;
-
- const DRWContextState *draw_ctx = DRW_context_state_get();
- const bool is_active = (ob == draw_ctx->obact);
- if (is_active) {
- if (DRW_object_is_mode_shade(ob) == true) {
- return;
- }
- }
-
- /* Handle particles first in case the emitter itself shouldn't be rendered. */
- if (ob->type == OB_MESH) {
- clay_cache_populate_particles(vedata, ob);
- }
-
- if (DRW_check_object_visible_within_active_context(ob) == false) {
- return;
- }
-
- struct Gwn_Batch *geom = DRW_cache_object_surface_get(ob);
- if (geom) {
- const bool do_cull = (draw_ctx->v3d && (draw_ctx->v3d->flag2 & V3D_BACKFACE_CULLING));
- const bool is_sculpt_mode = is_active && (draw_ctx->object_mode & OB_MODE_SCULPT) != 0;
- const bool use_flat = is_sculpt_mode && DRW_object_is_flat_normal(ob);
-
- clay_shgrp = CLAY_object_shgrp_get(vedata, ob, use_flat, do_cull);
-
- if (is_sculpt_mode) {
- DRW_shgroup_call_sculpt_add(clay_shgrp, ob, ob->obmat);
- }
- else {
- DRW_shgroup_call_object_add(clay_shgrp, geom, ob);
- }
- }
-}
-
-static void clay_cache_finish(void *vedata)
-{
- CLAY_ViewLayerData *sldata = CLAY_view_layer_data_get();
- CLAY_StorageList *stl = ((CLAY_Data *)vedata)->stl;
-
- DRW_uniformbuffer_update(sldata->mat_ubo, &stl->storage->mat_storage);
- DRW_uniformbuffer_update(sldata->hair_mat_ubo, &stl->storage->hair_mat_storage);
-}
-
-static void clay_draw_scene(void *vedata)
-{
- CLAY_StorageList *stl = ((CLAY_Data *)vedata)->stl;
- CLAY_PassList *psl = ((CLAY_Data *)vedata)->psl;
- CLAY_FramebufferList *fbl = ((CLAY_Data *)vedata)->fbl;
- DefaultFramebufferList *dfbl = DRW_viewport_framebuffer_list_get();
- DefaultTextureList *dtxl = DRW_viewport_texture_list_get();
- stl->g_data->depth_tx = dtxl->depth;
-
- /* Passes are ordered to have less _potential_ overdraw */
- DRW_draw_pass(psl->clay_cull_ps);
- DRW_draw_pass(psl->clay_flat_cull_ps);
- DRW_draw_pass(psl->clay_ps);
- DRW_draw_pass(psl->clay_flat_ps);
- DRW_draw_pass(psl->hair_pass);
-
- if (stl->g_data->enable_deferred_path) {
- GPU_framebuffer_bind(fbl->prepass_fb);
- /* We need to clear the id texture unfortunately. */
- const float clear_col[4] = {0.0f, 0.0f, 0.0f, 0.0f};
- GPU_framebuffer_clear_color(fbl->prepass_fb, clear_col);
-
- DRW_draw_pass(psl->clay_pre_cull_ps);
- DRW_draw_pass(psl->clay_flat_pre_cull_ps);
- DRW_draw_pass(psl->clay_pre_ps);
- DRW_draw_pass(psl->clay_flat_pre_ps);
-
- GPU_framebuffer_bind(dfbl->color_only_fb);
- DRW_draw_pass(psl->clay_deferred_ps);
- }
-
- if (true) { /* Always on for now. We might want a parameter for this. */
- GPU_framebuffer_bind(fbl->antialias_fb);
- DRW_draw_pass(psl->fxaa_ps);
-
- GPU_framebuffer_bind(dfbl->color_only_fb);
- DRW_draw_pass(psl->copy_ps);
- }
-}
-
-static void clay_engine_free(void)
-{
- DRW_SHADER_FREE_SAFE(e_data.clay_sh);
- DRW_SHADER_FREE_SAFE(e_data.clay_flat_sh);
- DRW_SHADER_FREE_SAFE(e_data.clay_prepass_flat_sh);
- DRW_SHADER_FREE_SAFE(e_data.clay_prepass_sh);
- DRW_SHADER_FREE_SAFE(e_data.clay_deferred_shading_sh);
- DRW_SHADER_FREE_SAFE(e_data.fxaa_sh);
- DRW_SHADER_FREE_SAFE(e_data.copy_sh);
- DRW_SHADER_FREE_SAFE(e_data.hair_sh);
- DRW_TEXTURE_FREE_SAFE(e_data.matcap_array);
-}
-
-static const DrawEngineDataSize clay_data_size = DRW_VIEWPORT_DATA_SIZE(CLAY_Data);
-
-DrawEngineType draw_engine_clay_type = {
- NULL, NULL,
- N_("Clay"),
- &clay_data_size,
- &clay_engine_init,
- &clay_engine_free,
- &clay_cache_init,
- &clay_cache_populate,
- &clay_cache_finish,
- NULL,
- &clay_draw_scene,
- NULL,
- NULL,
- NULL,
-};
-
-RenderEngineType DRW_engine_viewport_clay_type = {
- NULL, NULL,
- CLAY_ENGINE, N_("Clay"), RE_INTERNAL,
- NULL, NULL, NULL, NULL, NULL, NULL, NULL,
- &draw_engine_clay_type,
- {NULL, NULL, NULL}
-};
-
-
-#undef CLAY_ENGINE
-
-#endif /* WITH_CLAY_ENGINE */
diff --git a/source/blender/draw/engines/clay/clay_engine.h b/source/blender/draw/engines/clay/clay_engine.h
deleted file mode 100644
index b7c9d00c9ae..00000000000
--- a/source/blender/draw/engines/clay/clay_engine.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2016, Blender Foundation.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * Contributor(s): Blender Institute
- *
- */
-
-/** \file clay_engine.h
- * \ingroup draw_engine
- */
-
-#ifndef __CLAY_ENGINE_H__
-#define __CLAY_ENGINE_H__
-
-extern DrawEngineType draw_engine_clay_type;
-extern RenderEngineType DRW_engine_viewport_clay_type;
-
-struct IDProperty;
-
-struct IDProperty *CLAY_render_settings_create(void);
-
-#endif /* __CLAY_ENGINE_H__ */
diff --git a/source/blender/draw/engines/clay/shaders/clay_copy.glsl b/source/blender/draw/engines/clay/shaders/clay_copy.glsl
deleted file mode 100644
index ec462978e67..00000000000
--- a/source/blender/draw/engines/clay/shaders/clay_copy.glsl
+++ /dev/null
@@ -1,10 +0,0 @@
-
-in vec4 uvcoordsvar;
-out vec4 fragColor;
-
-uniform sampler2D colortex;
-
-void main()
-{
- fragColor = texture(colortex, uvcoordsvar.st);
-}
diff --git a/source/blender/draw/engines/clay/shaders/clay_frag.glsl b/source/blender/draw/engines/clay/shaders/clay_frag.glsl
deleted file mode 100644
index 1939e4b735d..00000000000
--- a/source/blender/draw/engines/clay/shaders/clay_frag.glsl
+++ /dev/null
@@ -1,252 +0,0 @@
-uniform vec2 invscreenres;
-uniform mat4 WinMatrix;
-
-/* Matcap */
-uniform sampler2DArray matcaps;
-
-/* Screen Space Occlusion */
-/* store the view space vectors for the corners of the view frustum here.
- * It helps to quickly reconstruct view space vectors by using uv coordinates,
- * see http://www.derschmale.com/2014/01/26/reconstructing-positions-from-the-depth-buffer */
-uniform vec4 viewvecs[3];
-uniform vec4 ssao_params;
-
-uniform sampler2D ssao_jitter;
-
-/* Material Parameters packed in an UBO */
-struct Material {
- vec4 ssao_params_var;
- vec4 matcap_hsv_id;
- vec4 matcap_rot; /* vec4 to ensure 16 bytes alignement (don't trust compiler) */
-};
-
-layout(std140) uniform samples_block {
- vec4 ssao_samples[500];
-};
-
-layout(std140) uniform matcaps_block {
- vec4 matcaps_color[24];
-};
-
-layout(std140) uniform material_block {
- Material matcaps_param[MAX_MATERIAL];
-};
-
-#ifdef DEFERRED_SHADING
-uniform sampler2D depthtex;
-uniform sampler2D normaltex;
-uniform isampler2D idtex;
-int mat_id; /* global */
-#else
-uniform int mat_id;
-#endif
-
-/* Aliases */
-#define ssao_samples_num ssao_params.x
-#define jitter_tilling ssao_params.yz
-#define dfdy_sign ssao_params.w
-
-#define matcap_hsv matcaps_param[mat_id].matcap_hsv_id.xyz
-#define matcap_index matcaps_param[mat_id].matcap_hsv_id.w
-#define matcap_rotation matcaps_param[mat_id].matcap_rot.xy
-
-#ifndef DEFERRED_SHADING
-# ifdef USE_FLAT_NORMAL
-flat in vec3 normal;
-# else
-in vec3 normal;
-# endif
-#endif
-
-out vec4 fragColor;
-
-/* TODO Move this to SSAO modules */
-/* simple depth reconstruction, see http://www.derschmale.com/2014/01/26/reconstructing-positions-from-the-depth-buffer
- * we change the factors from the article to fit the OpennGL model. */
-vec3 get_view_space_from_depth(in vec2 uvcoords, in float depth)
-{
- if (WinMatrix[3][3] == 0.0) {
- /* Perspective */
- float d = 2.0 * depth - 1.0;
-
- float zview = -WinMatrix[3][2] / (d + WinMatrix[2][2]);
-
- return zview * (viewvecs[0].xyz + vec3(uvcoords, 0.0) * viewvecs[1].xyz);
- }
- else {
- /* Orthographic */
- vec3 offset = vec3(uvcoords, depth);
-
- return viewvecs[0].xyz + offset * viewvecs[1].xyz;
- }
-}
-
-#ifdef USE_HSV
-void rgb_to_hsv(vec3 rgb, out vec3 outcol)
-{
- float cmax, cmin, h, s, v, cdelta;
- vec3 c;
-
- cmax = max(rgb[0], max(rgb[1], rgb[2]));
- cmin = min(rgb[0], min(rgb[1], rgb[2]));
- cdelta = cmax - cmin;
-
- v = cmax;
- if (cmax != 0.0)
- s = cdelta / cmax;
- else {
- s = 0.0;
- h = 0.0;
- }
-
- if (s == 0.0) {
- h = 0.0;
- }
- else {
- c = (vec3(cmax, cmax, cmax) - rgb.xyz) / cdelta;
-
- if (rgb.x == cmax) h = c[2] - c[1];
- else if (rgb.y == cmax) h = 2.0 + c[0] - c[2];
- else h = 4.0 + c[1] - c[0];
-
- h /= 6.0;
-
- if (h < 0.0)
- h += 1.0;
- }
-
- outcol = vec3(h, s, v);
-}
-
-void hsv_to_rgb(vec3 hsv, out vec3 outcol)
-{
- float i, f, p, q, t, h, s, v;
- vec3 rgb;
-
- h = hsv[0];
- s = hsv[1];
- v = hsv[2];
-
- if (s == 0.0) {
- rgb = vec3(v, v, v);
- }
- else {
- if (h == 1.0)
- h = 0.0;
-
- h *= 6.0;
- i = floor(h);
- f = h - i;
- rgb = vec3(f, f, f);
- p = v * (1.0 - s);
- q = v * (1.0 - (s * f));
- t = v * (1.0 - (s * (1.0 - f)));
-
- if (i == 0.0) rgb = vec3(v, t, p);
- else if (i == 1.0) rgb = vec3(q, v, p);
- else if (i == 2.0) rgb = vec3(p, v, t);
- else if (i == 3.0) rgb = vec3(p, q, v);
- else if (i == 4.0) rgb = vec3(t, p, v);
- else rgb = vec3(v, p, q);
- }
-
- outcol = rgb;
-}
-
-void hue_sat(float hue, float sat, float value, inout vec3 col)
-{
- vec3 hsv;
-
- rgb_to_hsv(col, hsv);
-
- hsv.x += hue;
- hsv.x -= floor(hsv.x);
- hsv.y *= sat;
- hsv.y = clamp(hsv.y, 0.0, 1.0);
- hsv.z *= value;
- hsv.z = clamp(hsv.z, 0.0, 1.0);
-
- hsv_to_rgb(hsv, col);
-}
-#endif
-
-#ifdef USE_AO
-/* Prototype */
-void ssao_factors(
- in float depth, in vec3 normal, in vec3 position, in vec2 screenco,
- out float cavities, out float edges);
-#endif
-
-/* From http://aras-p.info/texts/CompactNormalStorage.html
- * Using Method #4: Spheremap Transform */
-vec3 normal_decode(vec2 enc)
-{
- vec2 fenc = enc * 4.0 - 2.0;
- float f = dot(fenc, fenc);
- float g = sqrt(1.0 - f / 4.0);
- vec3 n;
- n.xy = fenc*g;
- n.z = 1 - f / 2;
- return n;
-}
-
-vec3 shade(vec3 N, vec3 position, float depth, vec2 screenco)
-{
-#ifdef USE_ROTATION
- /* Rotate texture coordinates */
- vec2 rotY = vec2(-matcap_rotation.y, matcap_rotation.x);
- vec2 texco = abs(vec2(dot(N.xy, matcap_rotation), dot(N.xy, rotY)) * .49 + 0.5);
-#else
- vec2 texco = abs(N.xy * .49 + 0.5);
-#endif
- vec3 col = texture(matcaps, vec3(texco, matcap_index)).rgb;
-
-#ifdef USE_AO
- float cavity = 0.0, edges = 0.0;
- ssao_factors(depth, N, position, screenco, cavity, edges);
-
- col *= mix(vec3(1.0), matcaps_color[int(matcap_index)].rgb, cavity);
-#endif
-
-#ifdef USE_HSV
- hue_sat(matcap_hsv.x, matcap_hsv.y, matcap_hsv.z, col);
-#endif
-
-#ifdef USE_AO
- /* Apply highlights after hue shift */
- col *= edges + 1.0;
-#endif
-
- return col;
-}
-
-void main()
-{
- vec2 screenco = vec2(gl_FragCoord.xy) * invscreenres;
-
-#ifdef DEFERRED_SHADING
- ivec2 texel = ivec2(gl_FragCoord.xy);
- mat_id = texelFetch(idtex, texel, 0).r;
-
- /* early out (manual stencil test) */
- if (mat_id == 0)
- discard;
-
- float depth = texelFetch(depthtex, texel, 0).r;
- vec3 N = normal_decode(texelFetch(normaltex, texel, 0).rg);
- /* see the prepass for explanations. */
- if (mat_id < 0) {
- N = -N;
- }
- mat_id = abs(mat_id) - 1;
-#else
- float depth = gl_FragCoord.z;
- vec3 N = normal;
-#endif
-
- vec3 position = get_view_space_from_depth(screenco, depth);
-
- vec3 col = shade(N, position, depth, screenco);
-
- fragColor = vec4(col, 1.0);
-}
diff --git a/source/blender/draw/engines/clay/shaders/clay_fxaa.glsl b/source/blender/draw/engines/clay/shaders/clay_fxaa.glsl
deleted file mode 100644
index 924e51421aa..00000000000
--- a/source/blender/draw/engines/clay/shaders/clay_fxaa.glsl
+++ /dev/null
@@ -1,18 +0,0 @@
-
-in vec4 uvcoordsvar;
-out vec4 fragColor;
-
-uniform vec2 invscreenres;
-uniform sampler2D colortex;
-
-void main()
-{
- fragColor = vec4(FxaaPixelShader(
- uvcoordsvar.st,
- colortex,
- invscreenres,
- 1.0,
- 0.166,
- 0.0833
- ).rgb, 1.0);
-}
diff --git a/source/blender/draw/engines/clay/shaders/clay_particle_strand_frag.glsl b/source/blender/draw/engines/clay/shaders/clay_particle_strand_frag.glsl
deleted file mode 100644
index 980a1e4690d..00000000000
--- a/source/blender/draw/engines/clay/shaders/clay_particle_strand_frag.glsl
+++ /dev/null
@@ -1,144 +0,0 @@
-
-/* Material Parameters packed in an UBO */
-struct Material {
- vec4 one;
- vec4 two;
-};
-
-layout(std140) uniform material_block {
- Material shader_param[MAX_MATERIAL];
-};
-
-uniform mat4 ProjectionMatrix;
-uniform sampler2DArray matcaps;
-uniform int mat_id;
-
-#define randomness shader_param[mat_id].one.x
-#define matcap_index shader_param[mat_id].one.y
-#define matcap_rotation shader_param[mat_id].one.zw
-#define matcap_hsv shader_param[mat_id].two.xyz
-
-in vec3 tangent;
-in vec3 viewPosition;
-flat in float colRand;
-out vec4 fragColor;
-
-vec3 rotate(vec3 norm, vec3 ortho, float ang)
-{
- return norm * cos(ang) + ortho * sin(ang);
-}
-
-void rgb_to_hsv(vec3 rgb, out vec3 outcol)
-{
- float cmax, cmin, h, s, v, cdelta;
- vec3 c;
-
- cmax = max(rgb[0], max(rgb[1], rgb[2]));
- cmin = min(rgb[0], min(rgb[1], rgb[2]));
- cdelta = cmax - cmin;
-
- v = cmax;
- if (cmax != 0.0)
- s = cdelta / cmax;
- else {
- s = 0.0;
- h = 0.0;
- }
-
- if (s == 0.0) {
- h = 0.0;
- }
- else {
- c = (vec3(cmax, cmax, cmax) - rgb.xyz) / cdelta;
-
- if (rgb.x == cmax) h = c[2] - c[1];
- else if (rgb.y == cmax) h = 2.0 + c[0] - c[2];
- else h = 4.0 + c[1] - c[0];
-
- h /= 6.0;
-
- if (h < 0.0)
- h += 1.0;
- }
-
- outcol = vec3(h, s, v);
-}
-
-void hsv_to_rgb(vec3 hsv, out vec3 outcol)
-{
- float i, f, p, q, t, h, s, v;
- vec3 rgb;
-
- h = hsv[0];
- s = hsv[1];
- v = hsv[2];
-
- if (s == 0.0) {
- rgb = vec3(v, v, v);
- }
- else {
- if (h == 1.0)
- h = 0.0;
-
- h *= 6.0;
- i = floor(h);
- f = h - i;
- rgb = vec3(f, f, f);
- p = v * (1.0 - s);
- q = v * (1.0 - (s * f));
- t = v * (1.0 - (s * (1.0 - f)));
-
- if (i == 0.0) rgb = vec3(v, t, p);
- else if (i == 1.0) rgb = vec3(q, v, p);
- else if (i == 2.0) rgb = vec3(p, v, t);
- else if (i == 3.0) rgb = vec3(p, q, v);
- else if (i == 4.0) rgb = vec3(t, p, v);
- else rgb = vec3(v, p, q);
- }
-
- outcol = rgb;
-}
-
-void hue_sat(float hue, float sat, float value, inout vec3 col)
-{
- vec3 hsv;
-
- rgb_to_hsv(col, hsv);
-
- hsv.x += hue;
- hsv.x -= floor(hsv.x);
- hsv.y *= sat;
- hsv.y = clamp(hsv.y, 0.0, 1.0);
- hsv.z *= value;
- hsv.z = clamp(hsv.z, 0.0, 1.0);
-
- hsv_to_rgb(hsv, col);
-}
-
-void main()
-{
- vec3 viewvec = (ProjectionMatrix[3][3] == 0.0) ? normalize(viewPosition) : vec3(0.0, 0.0, -1.0);
- vec3 ortho = normalize(cross(viewvec, tangent));
- vec3 norm = normalize(cross(ortho, tangent));
-
- vec3 col = vec3(0);
-
- vec2 rotY = vec2(-matcap_rotation.y, matcap_rotation.x);
-
- for (int i = 0; i < 9; i++) {
- vec3 rotNorm = rotate(norm, ortho, -0.5 + (i * 0.125));
- vec3 ray = reflect(viewvec, rotNorm);
- vec2 texco = abs(vec2(dot(ray.xy, matcap_rotation), dot(ray.xy, rotY)) * .49 + 0.5);
-
- col += texture(matcaps, vec3(texco, matcap_index)).rgb / 9.0;
- }
-
- hue_sat(matcap_hsv.x, matcap_hsv.y, matcap_hsv.z, col);
-
- float maxChan = max(max(col.r, col.g), col.b);
-
- col += (colRand * maxChan * randomness * 1.5) - (maxChan * randomness * 0.75);
-
- fragColor.rgb = col;
- fragColor.a = 1.0;
-}
diff --git a/source/blender/draw/engines/clay/shaders/clay_particle_vert.glsl b/source/blender/draw/engines/clay/shaders/clay_particle_vert.glsl
deleted file mode 100644
index d4c35d14182..00000000000
--- a/source/blender/draw/engines/clay/shaders/clay_particle_vert.glsl
+++ /dev/null
@@ -1,34 +0,0 @@
-
-uniform mat4 ModelViewProjectionMatrix;
-uniform mat3 NormalMatrix;
-uniform mat4 ModelViewMatrix;
-
-in vec3 pos;
-in vec3 nor;
-in int ind;
-out vec3 tangent;
-out vec3 viewPosition;
-flat out float colRand;
-
-float rand(int s)
-{
- int seed = s * 1023423;
-
- seed = (seed ^ 61) ^ (seed >> 16);
- seed *= 9;
- seed = seed ^ (seed >> 4);
- seed *= 0x27d4eb2d;
- seed = seed ^ (seed >> 15);
-
- float value = float(seed);
- value *= 1.0 / 42596.0;
- return fract(value);
-}
-
-void main()
-{
- gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
- tangent = normalize(NormalMatrix * nor);
- viewPosition = (ModelViewMatrix * vec4(pos, 1.0)).xyz;
- colRand = rand(ind);
-}
diff --git a/source/blender/draw/engines/clay/shaders/clay_prepass_frag.glsl b/source/blender/draw/engines/clay/shaders/clay_prepass_frag.glsl
deleted file mode 100644
index f30322bc9fe..00000000000
--- a/source/blender/draw/engines/clay/shaders/clay_prepass_frag.glsl
+++ /dev/null
@@ -1,44 +0,0 @@
-uniform int mat_id;
-
-#ifdef USE_FLAT_NORMAL
-flat in vec3 normal;
-#else
-in vec3 normal;
-#endif
-
-layout(location = 0) out vec2 outNormals;
-layout(location = 1) out int outIndex;
-
-/* From http://aras-p.info/texts/CompactNormalStorage.html
- * Using Method #4: Spheremap Transform */
-vec2 normal_encode(vec3 n)
-{
- float p = sqrt(n.z * 8.0 + 8.0);
- return n.xy / p + 0.5;
-}
-
-/* 4x4 bayer matrix prepared for 8bit UNORM precision error. */
-#define P(x) (((x + 0.5) * (1.0 / 16.0) - 0.5) * (1.0 / 255.0))
-const vec4 dither_mat[4] = vec4[4](
- vec4( P(0.0), P(8.0), P(2.0), P(10.0)),
- vec4(P(12.0), P(4.0), P(14.0), P(6.0)),
- vec4( P(3.0), P(11.0), P(1.0), P(9.0)),
- vec4(P(15.0), P(7.0), P(13.0), P(5.0))
-);
-
-void main() {
- outIndex = (mat_id + 1); /* 0 is clear color */
- /**
- * To fix the normal buffer precision issue for backfaces,
- * we invert normals and use the sign of the index buffer
- * to tag them, and re-invert in deferred pass.
- **/
- vec3 N = (gl_FrontFacing) ? normal : -normal;
- outIndex = (gl_FrontFacing) ? outIndex : -outIndex;
-
- outNormals = normal_encode(N);
-
- /* Dither the output to fight low quality. */
- ivec2 tx = ivec2(gl_FragCoord.xy) % 4;
- outNormals += dither_mat[tx.x][tx.y];
-}
diff --git a/source/blender/draw/engines/clay/shaders/clay_vert.glsl b/source/blender/draw/engines/clay/shaders/clay_vert.glsl
deleted file mode 100644
index 8f8866b3839..00000000000
--- a/source/blender/draw/engines/clay/shaders/clay_vert.glsl
+++ /dev/null
@@ -1,17 +0,0 @@
-uniform mat4 ModelViewProjectionMatrix;
-uniform mat3 NormalMatrix;
-
-in vec3 pos;
-in vec3 nor;
-
-#ifdef USE_FLAT_NORMAL
-flat out vec3 normal;
-#else
-out vec3 normal;
-#endif
-
-void main()
-{
- normal = normalize(NormalMatrix * nor);
- gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
-}
diff --git a/source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl b/source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl
deleted file mode 100644
index 94e2d6f3c7b..00000000000
--- a/source/blender/draw/engines/clay/shaders/ssao_alchemy.glsl
+++ /dev/null
@@ -1,82 +0,0 @@
-#define ssao_distance matcaps_param[mat_id].ssao_params_var.x
-#define ssao_factor_cavity matcaps_param[mat_id].ssao_params_var.y
-#define ssao_factor_edge matcaps_param[mat_id].ssao_params_var.z
-#define ssao_attenuation matcaps_param[mat_id].ssao_params_var.w
-
-/* from The Alchemy screen-space ambient obscurance algorithm
- * http://graphics.cs.williams.edu/papers/AlchemyHPG11/VV11AlchemyAO.pdf */
-
-void ssao_factors(
- in float depth, in vec3 normal, in vec3 position, in vec2 screenco,
- out float cavities, out float edges)
-{
- cavities = edges = 0.0;
- /* early out if there is no need for SSAO */
- if (ssao_factor_cavity == 0.0 && ssao_factor_edge == 0.0)
- return;
-
- /* take the normalized ray direction here */
- vec3 noise = texture(ssao_jitter, screenco.xy * jitter_tilling).rgb;
-
- /* find the offset in screen space by multiplying a point
- * in camera space at the depth of the point by the projection matrix. */
- vec2 offset;
- float homcoord = WinMatrix[2][3] * position.z + WinMatrix[3][3];
- offset.x = WinMatrix[0][0] * ssao_distance / homcoord;
- offset.y = WinMatrix[1][1] * ssao_distance / homcoord;
- /* convert from -1.0...1.0 range to 0.0..1.0 for easy use with texture coordinates */
- offset *= 0.5;
-
- int num_samples = int(ssao_samples_num);
-
- /* Note. Putting noise usage here to put some ALU after texture fetch. */
- vec2 rotX = noise.rg;
- vec2 rotY = vec2(-rotX.y, rotX.x);
-
- for (int x = 0; x < num_samples && x < 500; x++) {
- /* ssao_samples[x].xy is sample direction (normalized).
- * ssao_samples[x].z is sample distance from disk center. */
-
- /* Rotate with random direction to get jittered result. */
- vec2 dir_jittered = vec2(dot(ssao_samples[x].xy, rotX), dot(ssao_samples[x].xy, rotY));
- dir_jittered.xy *= ssao_samples[x].z + noise.b;
-
- vec2 uvcoords = screenco.xy + dir_jittered * offset;
-
- if (uvcoords.x > 1.0 || uvcoords.x < 0.0 || uvcoords.y > 1.0 || uvcoords.y < 0.0)
- continue;
-
- float depth_new = texture(depthtex, uvcoords).r;
-
- /* Handle Background case */
- bool is_background = (depth_new == 1.0);
-
- /* This trick provide good edge effect even if no neighboor is found. */
- vec3 pos_new = get_view_space_from_depth(uvcoords, (is_background) ? depth : depth_new);
-
- if (is_background)
- pos_new.z -= ssao_distance;
-
- vec3 dir = pos_new - position;
- float len = length(dir);
- float f_cavities = dot(dir, normal);
- float f_edge = -f_cavities;
- float f_bias = 0.05 * len + 0.0001;
-
- float attenuation = 1.0 / (len * (1.0 + len * len * ssao_attenuation));
-
- /* use minor bias here to avoid self shadowing */
- if (f_cavities > -f_bias)
- cavities += f_cavities * attenuation;
-
- if (f_edge > f_bias)
- edges += f_edge * attenuation;
- }
-
- cavities /= ssao_samples_num;
- edges /= ssao_samples_num;
-
- /* don't let cavity wash out the surface appearance */
- cavities = clamp(cavities * ssao_factor_cavity, 0.0, 1.0);
- edges = edges * ssao_factor_edge;
-}
diff --git a/source/blender/draw/engines/clay/shaders/ssao_groundtruth.glsl b/source/blender/draw/engines/clay/shaders/ssao_groundtruth.glsl
deleted file mode 100644
index 9c203a4246c..00000000000
--- a/source/blender/draw/engines/clay/shaders/ssao_groundtruth.glsl
+++ /dev/null
@@ -1,122 +0,0 @@
-#define ssao_distance matcaps_param[mat_id].ssao_params_var.x
-#define ssao_factor_cavity matcaps_param[mat_id].ssao_params_var.y
-#define ssao_factor_edge matcaps_param[mat_id].ssao_params_var.z
-#define ssao_attenuation matcaps_param[mat_id].ssao_params_var.w
-
-/* Based on Practical Realtime Strategies for Accurate Indirect Occlusion
- * http://blog.selfshadow.com/publications/s2016-shading-course/activision/s2016_pbs_activision_occlusion.pdf
- * http://blog.selfshadow.com/publications/s2016-shading-course/activision/s2016_pbs_activision_occlusion.pptx */
-
-#define COSINE_WEIGHTING
-
-float integrate_arc(in float h1, in float h2, in float gamma, in float n_proj_len)
-{
- float a = 0.0;
-#ifdef COSINE_WEIGHTING
- float cos_gamma = cos(gamma);
- float sin_gamma_2 = 2.0 * sin(gamma);
- a += -cos(2.0 * h1 - gamma) + cos_gamma + h1 * sin_gamma_2;
- a += -cos(2.0 * h2 - gamma) + cos_gamma + h2 * sin_gamma_2;
- a *= 0.25; /* 1/4 */
- a *= n_proj_len;
-#else
- /* Uniform weighting (slide 59) */
- a += 1 - cos(h1);
- a += 1 - cos(h2);
-#endif
- return a;
-}
-
-float get_max_horizon(in vec2 co, in vec3 x, in vec3 omega_o, in float h)
-{
- if (co.x > 1.0 || co.x < 0.0 || co.y > 1.0 || co.y < 0.0)
- return h;
-
- float depth = texture(depthtex, co).r;
-
- /* Background case */
- if (depth == 1.0)
- return h;
-
- vec3 s = get_view_space_from_depth(co, depth); /* s View coordinate */
- vec3 omega_s = s - x;
- float len = length(omega_s);
-
- if (len < ssao_distance) {
- omega_s /= len;
- h = max(h, dot(omega_s, omega_o));
- }
- return h;
-}
-
-void ssao_factors(
- in float depth, in vec3 normal, in vec3 position, in vec2 screenco,
- out float cavities, out float edges)
-{
- /* Renaming */
- vec3 omega_o = -normalize(position); /* viewvec */
- vec2 x_ = screenco; /* x^ Screen coordinate */
- vec3 x = position; /* x view space coordinate */
-
-#ifdef SPATIAL_DENOISE
- float noise_dir = (1.0 / 16.0) * float(((int(gl_FragCoord.x + gl_FragCoord.y) & 0x3) << 2) + (int(gl_FragCoord.x) & 0x3));
- float noise_offset = (1.0 / 4.0) * float(int(gl_FragCoord.y - gl_FragCoord.x) & 0x3);
-#else
- float noise_dir = (1.0 / 16.0) * float(((int(gl_FragCoord.x + gl_FragCoord.y) & 0x3) << 2) + (int(gl_FragCoord.x) & 0x3));
- float noise_offset = (0.5 / 16.0) + (1.0 / 16.0) * float(((int(gl_FragCoord.x - gl_FragCoord.y) & 0x3) << 2) + (int(gl_FragCoord.x) & 0x3));
-#endif
-
- const float phi_step = 16.0;
- const float theta_step = 16.0;
- const float m_pi = 3.14159265358979323846;
- vec2 pixel_ratio = vec2(screenres.y / screenres.x, 1.0);
- vec2 pixel_size = vec2(1.0) / screenres.xy;
- float min_stride = length(pixel_size);
- float homcco = WinMatrix[2][3] * position.z + WinMatrix[3][3];
- float n = max(min_stride * theta_step, ssao_distance / homcco); /* Search distance */
-
- /* Integral over PI */
- float A = 0.0;
- for (float i = 0.0; i < phi_step; i++) {
- float phi = m_pi * ((noise_dir + i) / phi_step);
-
- vec2 t_phi = vec2(cos(phi), sin(phi)); /* Screen space direction */
-
- /* Search maximum horizon angles Theta1 and Theta2 */
- float theta1 = -1.0, theta2 = -1.0; /* init at cos(pi) */
- for (float j = 0.0; j < theta_step; j++) {
- vec2 s_ = t_phi * pixel_ratio * n * ((j + noise_offset)/ theta_step); /* s^ Screen coordinate */
- vec2 co;
-
- co = x_ + s_;
- theta1 = get_max_horizon(co, x, omega_o, theta1);
-
- co = x_ - s_;
- theta2 = get_max_horizon(co, x, omega_o, theta2);
- }
-
- /* (Slide 54) */
- theta1 = -acos(theta1);
- theta2 = acos(theta2);
-
- /* Projecting Normal to Plane P defined by t_phi and omega_o */
- vec3 h = normalize(cross(vec3(t_phi, 0.0), omega_o)); /* Normal vector to Integration plane */
- vec3 t = cross(h, omega_o); /* Normal vector to plane */
- vec3 n_proj = normal - h * dot(normal, h);
- float n_proj_len = length(n_proj);
- vec3 n_proj_norm = normalize(n_proj);
-
- /* Clamping thetas (slide 58) */
- float gamma = sign(dot(n_proj_norm, t)) * acos(dot(normal, omega_o)); /* Angle between view vec and normal */
- theta1 = gamma + max(theta1 - gamma, -m_pi * 0.5);
- theta2 = gamma + min(theta2 - gamma, m_pi * 0.5);
-
- /* Solving inner integral */
- A += integrate_arc(theta1, theta2, gamma, n_proj_len);
- }
-
- A /= phi_step;
-
- cavities = 1.0 - A;
- edges = 0.0;
-}
diff --git a/source/blender/draw/intern/draw_manager.c b/source/blender/draw/intern/draw_manager.c
index 054d070bea1..ee876275d9e 100644
--- a/source/blender/draw/intern/draw_manager.c
+++ b/source/blender/draw/intern/draw_manager.c
@@ -76,7 +76,6 @@
#include "draw_cache_impl.h"
#include "draw_mode_engines.h"
-#include "engines/clay/clay_engine.h"
#include "engines/eevee/eevee_engine.h"
#include "engines/basic/basic_engine.h"
#include "engines/workbench/workbench_engine.h"
@@ -2068,9 +2067,6 @@ void DRW_engine_register(DrawEngineType *draw_engine_type)
void DRW_engines_register(void)
{
-#ifdef WITH_CLAY_ENGINE
- RE_engines_register(&DRW_engine_viewport_clay_type);
-#endif
RE_engines_register(&DRW_engine_viewport_eevee_type);
RE_engines_register(&DRW_engine_viewport_workbench_type);
@@ -2165,10 +2161,6 @@ void DRW_engines_free(void)
MEM_SAFE_FREE(DST.RST.bound_ubo_slots);
DRW_opengl_context_disable();
-
-#ifdef WITH_CLAY_ENGINE
- BLI_remlink(&R_engines, &DRW_engine_viewport_clay_type);
-#endif
}
/** \} */
diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt
index 23b328aa8e0..98b57fcbd71 100644
--- a/source/blender/editors/datafiles/CMakeLists.txt
+++ b/source/blender/editors/datafiles/CMakeLists.txt
@@ -681,32 +681,6 @@ if(WITH_BLENDER)
data_to_c_simple(../../../../release/datafiles/brushicons/twist.png SRC)
data_to_c_simple(../../../../release/datafiles/brushicons/vertexdraw.png SRC)
- # matcap
- data_to_c_simple(../../../../release/datafiles/matcaps/mc01.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc02.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc03.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc04.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc05.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc06.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc07.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc08.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc09.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc10.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc11.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc12.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc13.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc14.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc15.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc16.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc17.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc18.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc19.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc20.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc21.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc22.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc23.jpg SRC)
- data_to_c_simple(../../../../release/datafiles/matcaps/mc24.jpg SRC)
-
endif()
data_to_c_simple(../../../../release/datafiles/startup.blend SRC)
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index c2ada1e3733..9111ece0883 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -451,49 +451,6 @@ static void icon_verify_datatoc(IconImage *iimg)
}
}
-static void init_matcap_icons(void)
-{
- /* dynamic allocation now, tucking datatoc pointers in DrawInfo */
-#define INIT_MATCAP_ICON(icon_id, name) \
- { \
- unsigned char *rect = (unsigned char *)datatoc_ ##name## _jpg; \
- int size = datatoc_ ##name## _jpg_size; \
- DrawInfo *di; \
- \
- di = def_internal_icon(NULL, icon_id, 0, 0, 96, ICON_TYPE_BUFFER); \
- di->data.buffer.image->datatoc_rect = rect; \
- di->data.buffer.image->datatoc_size = size; \
- } (void)0
-
- INIT_MATCAP_ICON(ICON_MATCAP_01, mc01);
- INIT_MATCAP_ICON(ICON_MATCAP_02, mc02);
- INIT_MATCAP_ICON(ICON_MATCAP_03, mc03);
- INIT_MATCAP_ICON(ICON_MATCAP_04, mc04);
- INIT_MATCAP_ICON(ICON_MATCAP_05, mc05);
- INIT_MATCAP_ICON(ICON_MATCAP_06, mc06);
- INIT_MATCAP_ICON(ICON_MATCAP_07, mc07);
- INIT_MATCAP_ICON(ICON_MATCAP_08, mc08);
- INIT_MATCAP_ICON(ICON_MATCAP_09, mc09);
- INIT_MATCAP_ICON(ICON_MATCAP_10, mc10);
- INIT_MATCAP_ICON(ICON_MATCAP_11, mc11);
- INIT_MATCAP_ICON(ICON_MATCAP_12, mc12);
- INIT_MATCAP_ICON(ICON_MATCAP_13, mc13);
- INIT_MATCAP_ICON(ICON_MATCAP_14, mc14);
- INIT_MATCAP_ICON(ICON_MATCAP_15, mc15);
- INIT_MATCAP_ICON(ICON_MATCAP_16, mc16);
- INIT_MATCAP_ICON(ICON_MATCAP_17, mc17);
- INIT_MATCAP_ICON(ICON_MATCAP_18, mc18);
- INIT_MATCAP_ICON(ICON_MATCAP_19, mc19);
- INIT_MATCAP_ICON(ICON_MATCAP_20, mc20);
- INIT_MATCAP_ICON(ICON_MATCAP_21, mc21);
- INIT_MATCAP_ICON(ICON_MATCAP_22, mc22);
- INIT_MATCAP_ICON(ICON_MATCAP_23, mc23);
- INIT_MATCAP_ICON(ICON_MATCAP_24, mc24);
-
-#undef INIT_MATCAP_ICON
-
-}
-
static void init_internal_icons(void)
{
// bTheme *btheme = UI_GetTheme();
@@ -850,7 +807,6 @@ void UI_icons_init(int first_dyn_id)
init_iconfile_list(&iconfilelist);
init_internal_icons();
init_brush_icons();
- init_matcap_icons();
#endif
}
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h
index 64c40cc3efa..5ebc41a184f 100644
--- a/source/blender/makesdna/DNA_material_types.h
+++ b/source/blender/makesdna/DNA_material_types.h
@@ -54,16 +54,6 @@ typedef struct TexPaintSlot {
int pad;
} TexPaintSlot;
-/* Clay engine */
-
-/* MaterialRuntimeClay.flag */
-#define CLAY_OUTDATED 1
-
-/* MaterialEngineSettingsClay.type */
-#define CLAY_MATCAP_NONE 0
-#define CLAY_MATCAP_SIMPLE 1
-#define CLAY_MATCAP_COMPLETE 2
-
typedef struct Material {
ID id;
struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 0c2169072d3..fd45eb52a60 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -1372,19 +1372,11 @@ typedef struct SceneDisplay {
float light_direction[3]; /* light direction for shadows/highlight */
float shadow_shift;
- int matcap_icon;
- int matcap_type;
- float matcap_rotation;
- float matcap_hue;
- float matcap_saturation;
- float matcap_value;
+ /* Settings for Cavity Shader */
float matcap_ssao_distance;
float matcap_ssao_attenuation;
- float matcap_ssao_factor_cavity;
- float matcap_ssao_factor_edge;
- float matcap_hair_brightness_randomness;
int matcap_ssao_samples;
-
+ int pad;
} SceneDisplay;
typedef struct SceneEEVEE {
@@ -1704,7 +1696,6 @@ enum {
/* sequencer seq_prev_type seq_rend_type */
/* RenderData.engine (scene.c) */
-extern const char *RE_engine_id_BLENDER_CLAY;
extern const char *RE_engine_id_BLENDER_EEVEE;
extern const char *RE_engine_id_BLENDER_WORKBENCH;
extern const char *RE_engine_id_CYCLES;
diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt
index 134ec2cc170..2288e6c8405 100644
--- a/source/blender/makesrna/intern/CMakeLists.txt
+++ b/source/blender/makesrna/intern/CMakeLists.txt
@@ -187,10 +187,6 @@ if(WITH_PYTHON)
)
endif()
-if(WITH_CLAY_ENGINE)
- add_definitions(-DWITH_CLAY_ENGINE)
-endif()
-
if(WITH_IMAGE_OPENEXR)
add_definitions(-DWITH_OPENEXR)
endif()
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index e9f6c4c14b3..22986205eef 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -5673,36 +5673,6 @@ static void rna_def_scene_display(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
-#ifdef WITH_CLAY_ENGINE
- static const EnumPropertyItem clay_matcap_items[] = {
- {1, "01", ICON_MATCAP_01, "", ""},
- {2, "02", ICON_MATCAP_02, "", ""},
- {3, "03", ICON_MATCAP_03, "", ""},
- {4, "04", ICON_MATCAP_04, "", ""},
- {5, "05", ICON_MATCAP_05, "", ""},
- {6, "06", ICON_MATCAP_06, "", ""},
- {7, "07", ICON_MATCAP_07, "", ""},
- {8, "08", ICON_MATCAP_08, "", ""},
- {9, "09", ICON_MATCAP_09, "", ""},
- {10, "10", ICON_MATCAP_10, "", ""},
- {11, "11", ICON_MATCAP_11, "", ""},
- {12, "12", ICON_MATCAP_12, "", ""},
- {13, "13", ICON_MATCAP_13, "", ""},
- {14, "14", ICON_MATCAP_14, "", ""},
- {15, "15", ICON_MATCAP_15, "", ""},
- {16, "16", ICON_MATCAP_16, "", ""},
- {17, "17", ICON_MATCAP_17, "", ""},
- {19, "18", ICON_MATCAP_18, "", ""},
- {19, "19", ICON_MATCAP_19, "", ""},
- {20, "20", ICON_MATCAP_20, "", ""},
- {21, "21", ICON_MATCAP_21, "", ""},
- {22, "22", ICON_MATCAP_22, "", ""},
- {23, "23", ICON_MATCAP_23, "", ""},
- {24, "24", ICON_MATCAP_24, "", ""},
- {0, NULL, 0, NULL, NULL}
- };
-#endif
-
static float default_light_direction[3] = {-M_SQRT1_3, -M_SQRT1_3, M_SQRT1_3};
srna = RNA_def_struct(brna, "SceneDisplay", NULL);
@@ -5726,43 +5696,6 @@ static void rna_def_scene_display(BlenderRNA *brna)
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_update(prop, NC_SCENE | NA_EDITED, "rna_Scene_set_update");
-#ifdef WITH_CLAY_ENGINE
- /* Matcap. */
- prop = RNA_def_property(srna, "matcap_icon", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_items(prop, clay_matcap_items);
- RNA_def_property_enum_default(prop, 1);
- RNA_def_property_ui_text(prop, "Matcap", "Image to use for Material Capture by this material");
-
- prop = RNA_def_property(srna, "matcap_rotation", PROP_FLOAT, PROP_FACTOR);
- RNA_def_property_float_default(prop, 0.0f);
- RNA_def_property_range(prop, 0.0f, 1.0f);
- RNA_def_property_ui_text(prop, "Matcap Rotation", "Orientation of the matcap on the model");
-
- prop = RNA_def_property(srna, "matcap_hue", PROP_FLOAT, PROP_FACTOR);
- RNA_def_property_float_default(prop, 0.5f);
- RNA_def_property_range(prop, 0.0f, 1.0f);
- RNA_def_property_ui_text(prop, "Matcap Hue Shift", "Hue correction of the matcap");
-
- prop = RNA_def_property(srna, "matcap_saturation", PROP_FLOAT, PROP_FACTOR);
- RNA_def_property_float_default(prop, 0.5f);
- RNA_def_property_range(prop, 0.0f, 1.0f);
- RNA_def_property_ui_text(prop, "Matcap Saturation", "Saturation correction of the matcap");
-
- prop = RNA_def_property(srna, "matcap_value", PROP_FLOAT, PROP_FACTOR);
- RNA_def_property_float_default(prop, 0.5f);
- RNA_def_property_range(prop, 0.0f, 1.0f);
- RNA_def_property_ui_text(prop, "Matcap Value", "Value correction of the matcap");
-
- prop = RNA_def_property(srna, "matcap_ssao_factor_cavity", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_default(prop, 1.0f);
- RNA_def_property_ui_text(prop, "Cavity Strength", "Strength of the Cavity effect");
- RNA_def_property_range(prop, 0.0f, 250.0f);
-
- prop = RNA_def_property(srna, "matcap_ssao_factor_edge", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_default(prop, 1.0f);
- RNA_def_property_ui_text(prop, "Edge Strength", "Strength of the Edge effect");
- RNA_def_property_range(prop, 0.0f, 250.0f);
-
prop = RNA_def_property(srna, "matcap_ssao_distance", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_default(prop, 0.2f);
RNA_def_property_ui_text(prop, "Distance", "Distance of object that contribute to the Cavity/Edge effect");
@@ -5779,12 +5712,6 @@ static void rna_def_scene_display(BlenderRNA *brna)
RNA_def_property_int_default(prop, 16);
RNA_def_property_ui_text(prop, "Samples", "Number of samples");
RNA_def_property_range(prop, 1, 500);
-
- prop = RNA_def_property(srna, "matcap_hair_brightness_randomness", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_default(prop, 0.0f);
- RNA_def_property_ui_text(prop, "Hair Brightness Randomness", "Brightness randomness for hair");
- RNA_def_property_range(prop, 0.0f, 1.0f);
-#endif
}
static void rna_def_scene_eevee(BlenderRNA *brna)
diff --git a/tests/python/view_layer/test_evaluation_render_settings_a.py b/tests/python/view_layer/test_evaluation_render_settings_a.py
index e1e78ecdc13..1299737cd2c 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_a.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_a.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
diff --git a/tests/python/view_layer/test_evaluation_render_settings_b.py b/tests/python/view_layer/test_evaluation_render_settings_b.py
index 5cc055095a1..77e01d85a87 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_b.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_b.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
diff --git a/tests/python/view_layer/test_evaluation_render_settings_c.py b/tests/python/view_layer/test_evaluation_render_settings_c.py
index 805f6949ba2..033dd7bcb69 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_c.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_c.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
diff --git a/tests/python/view_layer/test_evaluation_render_settings_d.py b/tests/python/view_layer/test_evaluation_render_settings_d.py
index 9fa90b66931..85808c548b4 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_d.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_d.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
diff --git a/tests/python/view_layer/test_evaluation_render_settings_e.py b/tests/python/view_layer/test_evaluation_render_settings_e.py
index e5cb8b2b295..2375a6e575e 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_e.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_e.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
diff --git a/tests/python/view_layer/test_evaluation_render_settings_f.py b/tests/python/view_layer/test_evaluation_render_settings_f.py
index e7e834ff7fa..f334880b6b4 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_f.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_f.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
diff --git a/tests/python/view_layer/test_evaluation_render_settings_g.py b/tests/python/view_layer/test_evaluation_render_settings_g.py
index 32f3529eef8..1b4262934fb 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_g.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_g.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
diff --git a/tests/python/view_layer/test_evaluation_render_settings_h.py b/tests/python/view_layer/test_evaluation_render_settings_h.py
index 3e175068006..937fab1521a 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_h.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_h.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct
diff --git a/tests/python/view_layer/test_evaluation_render_settings_i.py b/tests/python/view_layer/test_evaluation_render_settings_i.py
index e84c360f859..2842f2adb92 100644
--- a/tests/python/view_layer/test_evaluation_render_settings_i.py
+++ b/tests/python/view_layer/test_evaluation_render_settings_i.py
@@ -14,6 +14,7 @@ from view_layer_common import *
# ############################################################
class UnitTesting(ViewLayerTesting):
+ @unittest.skip("Uses the clay engine, that is removed T55454")
def test_render_settings(self):
"""
See if the depsgraph evaluation is correct