[Bf-blender-cvs] [aed09d43295] blender2.8: Cleanup: remove unused shader node compatibility flag.

Brecht Van Lommel noreply at git.blender.org
Fri Jul 6 20:24:57 CEST 2018


Commit: aed09d43295de3dcba3d318345a4fd1396a16ea1
Author: Brecht Van Lommel
Date:   Thu Jul 5 19:18:43 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBaed09d43295de3dcba3d318345a4fd1396a16ea1

Cleanup: remove unused shader node compatibility flag.

No longer needed after Blender Internal removal and Eevee replacing the
Cycles GLSL shading nodes.

===================================================================

M	intern/cycles/blender/addon/version_update.py
M	release/scripts/modules/bl_previews_utils/bl_previews_render.py
M	source/blender/blenkernel/BKE_node.h
M	source/blender/blenkernel/intern/node.c
M	source/blender/editors/space_node/node_templates.c
M	source/blender/makesrna/intern/rna_nodetree.c
M	source/blender/nodes/intern/node_common.c
M	source/blender/nodes/shader/node_shader_util.c
M	source/blender/nodes/shader/nodes/node_shader_add_shader.c
M	source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c
M	source/blender/nodes/shader/nodes/node_shader_attribute.c
M	source/blender/nodes/shader/nodes/node_shader_background.c
M	source/blender/nodes/shader/nodes/node_shader_bevel.c
M	source/blender/nodes/shader/nodes/node_shader_blackbody.c
M	source/blender/nodes/shader/nodes/node_shader_brightness.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_hair.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_toon.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c
M	source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c
M	source/blender/nodes/shader/nodes/node_shader_bump.c
M	source/blender/nodes/shader/nodes/node_shader_camera.c
M	source/blender/nodes/shader/nodes/node_shader_common.c
M	source/blender/nodes/shader/nodes/node_shader_curves.c
M	source/blender/nodes/shader/nodes/node_shader_displacement.c
M	source/blender/nodes/shader/nodes/node_shader_eevee_specular.c
M	source/blender/nodes/shader/nodes/node_shader_emission.c
M	source/blender/nodes/shader/nodes/node_shader_fresnel.c
M	source/blender/nodes/shader/nodes/node_shader_gamma.c
M	source/blender/nodes/shader/nodes/node_shader_geometry.c
M	source/blender/nodes/shader/nodes/node_shader_hair_info.c
M	source/blender/nodes/shader/nodes/node_shader_holdout.c
M	source/blender/nodes/shader/nodes/node_shader_hueSatVal.c
M	source/blender/nodes/shader/nodes/node_shader_ies_light.c
M	source/blender/nodes/shader/nodes/node_shader_invert.c
M	source/blender/nodes/shader/nodes/node_shader_layer_weight.c
M	source/blender/nodes/shader/nodes/node_shader_light_falloff.c
M	source/blender/nodes/shader/nodes/node_shader_light_path.c
M	source/blender/nodes/shader/nodes/node_shader_mapping.c
M	source/blender/nodes/shader/nodes/node_shader_math.c
M	source/blender/nodes/shader/nodes/node_shader_mixRgb.c
M	source/blender/nodes/shader/nodes/node_shader_mix_shader.c
M	source/blender/nodes/shader/nodes/node_shader_normal.c
M	source/blender/nodes/shader/nodes/node_shader_normal_map.c
M	source/blender/nodes/shader/nodes/node_shader_object_info.c
M	source/blender/nodes/shader/nodes/node_shader_output_lamp.c
M	source/blender/nodes/shader/nodes/node_shader_output_linestyle.c
M	source/blender/nodes/shader/nodes/node_shader_output_material.c
M	source/blender/nodes/shader/nodes/node_shader_output_world.c
M	source/blender/nodes/shader/nodes/node_shader_particle_info.c
M	source/blender/nodes/shader/nodes/node_shader_rgb.c
M	source/blender/nodes/shader/nodes/node_shader_script.c
M	source/blender/nodes/shader/nodes/node_shader_sepcombHSV.c
M	source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c
M	source/blender/nodes/shader/nodes/node_shader_sepcombXYZ.c
M	source/blender/nodes/shader/nodes/node_shader_shaderToRgb.c
M	source/blender/nodes/shader/nodes/node_shader_squeeze.c
M	source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c
M	source/blender/nodes/shader/nodes/node_shader_tangent.c
M	source/blender/nodes/shader/nodes/node_shader_tex_brick.c
M	source/blender/nodes/shader/nodes/node_shader_tex_checker.c
M	source/blender/nodes/shader/nodes/node_shader_tex_coord.c
M	source/blender/nodes/shader/nodes/node_shader_tex_environment.c
M	source/blender/nodes/shader/nodes/node_shader_tex_gradient.c
M	source/blender/nodes/shader/nodes/node_shader_tex_image.c
M	source/blender/nodes/shader/nodes/node_shader_tex_magic.c
M	source/blender/nodes/shader/nodes/node_shader_tex_musgrave.c
M	source/blender/nodes/shader/nodes/node_shader_tex_noise.c
M	source/blender/nodes/shader/nodes/node_shader_tex_pointdensity.c
M	source/blender/nodes/shader/nodes/node_shader_tex_sky.c
M	source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c
M	source/blender/nodes/shader/nodes/node_shader_tex_wave.c
M	source/blender/nodes/shader/nodes/node_shader_uvAlongStroke.c
M	source/blender/nodes/shader/nodes/node_shader_uvmap.c
M	source/blender/nodes/shader/nodes/node_shader_valToRgb.c
M	source/blender/nodes/shader/nodes/node_shader_value.c
M	source/blender/nodes/shader/nodes/node_shader_vectMath.c
M	source/blender/nodes/shader/nodes/node_shader_vectTransform.c
M	source/blender/nodes/shader/nodes/node_shader_vector_displacement.c
M	source/blender/nodes/shader/nodes/node_shader_volume_absorption.c
M	source/blender/nodes/shader/nodes/node_shader_volume_principled.c
M	source/blender/nodes/shader/nodes/node_shader_volume_scatter.c
M	source/blender/nodes/shader/nodes/node_shader_wavelength.c
M	source/blender/nodes/shader/nodes/node_shader_wireframe.c

===================================================================

diff --git a/intern/cycles/blender/addon/version_update.py b/intern/cycles/blender/addon/version_update.py
index b6ace0e6b57..679c3e6a437 100644
--- a/intern/cycles/blender/addon/version_update.py
+++ b/intern/cycles/blender/addon/version_update.py
@@ -22,45 +22,6 @@ import math
 from bpy.app.handlers import persistent
 
 
-def check_is_new_shading_ntree(node_tree):
-    for node in node_tree.nodes:
-        # If material has any node with ONLY new shading system
-        # compatibility then it's considered a Cycles material
-        # and versioning code would need to perform on it.
-        #
-        # We can not check for whether NEW_SHADING in compatibility
-        # because some nodes could have compatibility with both old
-        # and new shading system and they can't be used for any
-        # decision here.
-        if node.shading_compatibility == {'NEW_SHADING'}:
-            return True
-
-        # If node is only compatible with old shading system
-        # then material can not be Cycles material and we
-        # can stopiterating nodes now.
-        if node.shading_compatibility == {'OLD_SHADING'}:
-            return False
-    return False
-
-
-def check_is_new_shading_material(material):
-    if not material.node_tree:
-        return False
-    return check_is_new_shading_ntree(material.node_tree)
-
-
-def check_is_new_shading_world(world):
-    if not world.node_tree:
-        return False
-    return check_is_new_shading_ntree(world.node_tree)
-
-
-def check_is_new_shading_light(light):
-    if not light.node_tree:
-        return False
-    return check_is_new_shading_ntree(light.node_tree)
-
-
 def foreach_notree_node(nodetree, callback, traversed):
     if nodetree in traversed:
         return
@@ -74,20 +35,20 @@ def foreach_notree_node(nodetree, callback, traversed):
 def foreach_cycles_node(callback):
     traversed = set()
     for material in bpy.data.materials:
-        if check_is_new_shading_material(material):
-                foreach_notree_node(material.node_tree,
-                                    callback,
-                                    traversed)
+        if material.node_tree:
+            foreach_notree_node(material.node_tree,
+                                callback,
+                                traversed)
     for world in bpy.data.worlds:
-        if check_is_new_shading_world(world):
-                foreach_notree_node(world.node_tree,
-                                    callback,
-                                    traversed)
+        if world.node_tree:
+            foreach_notree_node(world.node_tree,
+                                callback,
+                                traversed)
     for light in bpy.data.lights:
-        if check_is_new_shading_world(light):
-                foreach_notree_node(light.node_tree,
-                                    callback,
-                                    traversed)
+        if light.node_tree:
+            foreach_notree_node(light.node_tree,
+                                callback,
+                                traversed)
 
 
 def displacement_node_insert(material, nodetree, traversed):
@@ -128,7 +89,7 @@ def displacement_node_insert(material, nodetree, traversed):
 def displacement_nodes_insert():
     traversed = set()
     for material in bpy.data.materials:
-        if check_is_new_shading_material(material):
+        if material.node_tree:
             displacement_node_insert(material, material.node_tree, traversed)
 
 def displacement_principled_nodes(node):
@@ -186,7 +147,7 @@ def square_roughness_node_insert(material, nodetree, traversed):
 def square_roughness_nodes_insert():
     traversed = set()
     for material in bpy.data.materials:
-        if check_is_new_shading_material(material):
+        if material.node_tree:
             square_roughness_node_insert(material, material.node_tree, traversed)
 
 
@@ -301,7 +262,7 @@ def ambient_occlusion_node_relink(material, nodetree, traversed):
 def ambient_occlusion_nodes_relink():
     traversed = set()
     for material in bpy.data.materials:
-        if check_is_new_shading_material(material):
+        if material.node_tree:
             ambient_occlusion_node_relink(material, material.node_tree, traversed)
 
 
diff --git a/release/scripts/modules/bl_previews_utils/bl_previews_render.py b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
index f2c766b2b2d..16b0b107927 100644
--- a/release/scripts/modules/bl_previews_utils/bl_previews_render.py
+++ b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
@@ -122,21 +122,9 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
             light_data.spot_size = 1.0471975803375244  # 60
             scene.objects.link(light)
 
-            if engine == 'BLENDER_RENDER':
-                scene.render.engine = 'BLENDER_RENDER'
-                scene.render.alpha_mode = 'TRANSPARENT'
-
-                world.use_sky_blend = True
-                world.horizon_color = 0.9, 0.9, 0.9
-                world.zenith_color = 0.5, 0.5, 0.5
-                world.ambient_color = 0.1, 0.1, 0.1
-                world.light_settings.use_environment_light = True
-                world.light_settings.environment_energy = 1.0
-                world.light_settings.environment_color = 'SKY_COLOR'
-            elif engine == 'CYCLES':
-                scene.render.engine = 'CYCLES'
-                scene.cycles.film_transparent = True
-                # TODO: define Cycles world?
+            scene.render.engine = 'CYCLES'
+            scene.cycles.film_transparent = True
+            # TODO: define Cycles world?
 
         scene.render.image_settings.file_format = 'PNG'
         scene.render.image_settings.color_depth = '8'
@@ -239,17 +227,6 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
 
         return success
 
-    def objects_render_engine_guess(obs):
-        for obname, libpath in obs:
-            ob = bpy.data.objects[obname, libpath]
-            for matslot in ob.material_slots:
-                mat = matslot.material
-                if mat and mat.use_nodes and mat.node_tree:
-                    for nd in mat.node_tree.nodes:
-                        if nd.shading_compatibility == {'NEW_SHADING'}:
-                            return 'CYCLES'
-        return 'BLENDER_RENDER'
-
     def object_bbox_merge(bbox, ob, ob_space, offset_matrix):
         # Take collections instances into account (including linked one in this case).
         if ob.type == 'EMPTY' and ob.dupli_type == 'COLLECTION':
@@ -360,11 +337,10 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
                 continue
             objects = ((root.name, None),)
 
-            render_engine = objects_render_engine_guess(objects)
-            render_context = render_contexts.get(render_engine, None)
+            render_context = render_contexts.get('CYCLES', None)
             if render_context is None:
-                render_context = render_context_create(render_engine, objects_ignored)
-                render_contexts[render_engine] = render_context
+                render_context = render_context_create('CYCLES', objects_ignored)
+                render_contexts['CYCLES'] = render_context
 
             scene = bpy.data.scenes[render_context.scene, None]
             bpy.context.screen.scene = scene
@@ -405,11 +381,10 @@ def do_previews(do_objects, do_collections, do_scenes, do_data_intern):
             # Here too, we do want to keep linked objects members of local collection...
             objects = tuple((ob.name, ob.library.filepath if ob.library else None) for ob in grp.objects)
 
-            render_engine = objects_render_engine_guess(objects)
-            render_context = render_contexts.get(render_engine, None)
+            render_context = render_contexts.get('CYCLES', None)
             if render_context is None:
-                render_context = render_context_create(render_engine, objects_ignored)
-                render_contexts[render_engine] = render_context
+                render_context = render_context_create('CYCLES', objects_ignored)
+                render_contexts['CYCLES'] = render_context
 
             scene = bpy.data.scenes[render_context.scene, None]
             bpy.context.screen.scene = scene
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 13d6fd10eaa..e72c6c14bfb 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -152,7 +152,7 @@ typedef struct bNodeType {
 
 	float width, minwidth, maxwidth;
 	float height, minheight, maxheight;
-	short nclass, flag, compatibility;
+	short nclass, flag;
 
 	/* templates for static sockets */
 	bNodeSocketTemplate *inputs, *outputs;
@@ -251,10 +251,6 @@ typedef struct bNodeType {
 #define NODE_CLASS_SHADER 			40
 #define NODE_CLASS_LAYOUT			100
 
-/* nodetype->compatibility */
-#define NODE_OLD_SHADING	(1 << 0)
-#define NODE_NEW_SHADING	(1 << 1)
-
 /* node resize directions */
 #define NODE_RESIZE_TOP		1
 #define NODE_RESIZE_BOTTOM	2
@@ -600,7 +596,6 @@ void            node_type_update(struct bNodeType *ntype,
 void            node_type_exec(struct bNodeType *ntype, NodeInitExecFunction initexecfunc, NodeFreeExecFunction freeexecfunc, NodeExecFunction execfunc);
 void            node_type_gpu(struct bNodeType *ntype, NodeGPUExecFunction gpufunc);
 void            node_type_internal_links(struct bNodeType *ntype, void (*update_internal_links)(struct bNodeTree *, struct bNode *));
-void            node_type_compatibility(struct bNodeType *ntype, short compatibility);
 
 /** \} */
 
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index f7cd2bd52dc..7aa0ecdad87 100644
--- a/source/blender/blenkernel/intern/node.c
+++ b/source/blender/blenkernel/intern/node.c
@@ -3333,11 +3333,6 @@ void node_type_internal_links(bNodeType *ntype, void (*update_internal_links)(bN
 	ntype->update_internal_links = update_internal_links;
 }
 
-void node_type_compatibility(struct bNodeType *ntype, short compatibility)
-{
-	ntype->compatibility = compatibility;
-}
-
 /* callbacks 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list