diff options
author | Brecht Van Lommel <brecht@blender.org> | 2020-05-14 18:26:04 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2020-05-14 18:39:37 +0300 |
commit | 16d8a683be4348b5c6eff48cbb16c7454863d9ea (patch) | |
tree | 2235560363d235da709aba43f09a82ab033c7ba1 /intern/cycles/render | |
parent | 72492eb2a27e4f0bc9f6274ce0404d485cc44a57 (diff) |
Fix T73984: unnecessary Cycles viewport updates with object texture coordinates
Remove old code that added extra updates for shaders that have a dependency on
objects. The dependency graph can now tell Cycles when a material is affected by
an object transform.
Diffstat (limited to 'intern/cycles/render')
-rw-r--r-- | intern/cycles/render/graph.h | 4 | ||||
-rw-r--r-- | intern/cycles/render/nodes.h | 8 | ||||
-rw-r--r-- | intern/cycles/render/osl.cpp | 5 | ||||
-rw-r--r-- | intern/cycles/render/shader.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/render/shader.h | 2 | ||||
-rw-r--r-- | intern/cycles/render/svm.cpp | 5 |
6 files changed, 0 insertions, 26 deletions
diff --git a/intern/cycles/render/graph.h b/intern/cycles/render/graph.h index 0ea7935f714..febd7a76f03 100644 --- a/intern/cycles/render/graph.h +++ b/intern/cycles/render/graph.h @@ -204,10 +204,6 @@ class ShaderNode : public Node { { return false; } - virtual bool has_object_dependency() - { - return false; - } virtual bool has_attribute_dependency() { return false; diff --git a/intern/cycles/render/nodes.h b/intern/cycles/render/nodes.h index 8316fa3cf9b..83c3ad071ae 100644 --- a/intern/cycles/render/nodes.h +++ b/intern/cycles/render/nodes.h @@ -359,10 +359,6 @@ class PointDensityTextureNode : public ShaderNode { { return true; } - bool has_object_dependency() - { - return true; - } /* Parameters. */ ustring filename; @@ -896,10 +892,6 @@ class TextureCoordinateNode : public ShaderNode { { return true; } - bool has_object_dependency() - { - return use_transform; - } float3 normal_osl; bool from_dupli; diff --git a/intern/cycles/render/osl.cpp b/intern/cycles/render/osl.cpp index 06d832a29ca..5c62ae73e47 100644 --- a/intern/cycles/render/osl.cpp +++ b/intern/cycles/render/osl.cpp @@ -764,10 +764,6 @@ void OSLCompiler::add(ShaderNode *node, const char *name, bool isfilepath) current_shader->has_volume_attribute_dependency = true; } - if (node->has_object_dependency()) { - current_shader->has_object_dependency = true; - } - if (node->has_integrator_dependency()) { current_shader->has_integrator_dependency = true; } @@ -1142,7 +1138,6 @@ void OSLCompiler::compile(OSLGlobals *og, Shader *shader) shader->has_surface_spatial_varying = false; shader->has_volume_spatial_varying = false; shader->has_volume_attribute_dependency = false; - shader->has_object_dependency = false; shader->has_integrator_dependency = false; /* generate surface shader */ diff --git a/intern/cycles/render/shader.cpp b/intern/cycles/render/shader.cpp index 747fc58f81a..8403a636e1c 100644 --- a/intern/cycles/render/shader.cpp +++ b/intern/cycles/render/shader.cpp @@ -206,7 +206,6 @@ Shader::Shader() : Node(node_type) has_surface_spatial_varying = false; has_volume_spatial_varying = false; has_volume_attribute_dependency = false; - has_object_dependency = false; has_integrator_dependency = false; has_volume_connected = false; prev_volume_step_rate = 0.0f; @@ -218,7 +217,6 @@ Shader::Shader() : Node(node_type) need_update = true; need_update_geometry = true; - need_sync_object = false; } Shader::~Shader() diff --git a/intern/cycles/render/shader.h b/intern/cycles/render/shader.h index 7801fd29276..993b467b396 100644 --- a/intern/cycles/render/shader.h +++ b/intern/cycles/render/shader.h @@ -98,7 +98,6 @@ class Shader : public Node { /* synchronization */ bool need_update; bool need_update_geometry; - bool need_sync_object; /* If the shader has only volume components, the surface is assumed to * be transparent. @@ -121,7 +120,6 @@ class Shader : public Node { bool has_surface_spatial_varying; bool has_volume_spatial_varying; bool has_volume_attribute_dependency; - bool has_object_dependency; bool has_integrator_dependency; /* displacement */ diff --git a/intern/cycles/render/svm.cpp b/intern/cycles/render/svm.cpp index b4858f488c3..ea3dbaf8e03 100644 --- a/intern/cycles/render/svm.cpp +++ b/intern/cycles/render/svm.cpp @@ -448,10 +448,6 @@ void SVMCompiler::generate_node(ShaderNode *node, ShaderNodeSet &done) current_shader->has_volume_attribute_dependency = true; } - if (node->has_object_dependency()) { - current_shader->has_object_dependency = true; - } - if (node->has_integrator_dependency()) { current_shader->has_integrator_dependency = true; } @@ -863,7 +859,6 @@ void SVMCompiler::compile(Shader *shader, array<int4> &svm_nodes, int index, Sum shader->has_surface_spatial_varying = false; shader->has_volume_spatial_varying = false; shader->has_volume_attribute_dependency = false; - shader->has_object_dependency = false; shader->has_integrator_dependency = false; /* generate bump shader */ |