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:
authorBrecht Van Lommel <brecht@blender.org>2020-05-14 18:26:04 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-05-14 18:39:37 +0300
commit16d8a683be4348b5c6eff48cbb16c7454863d9ea (patch)
tree2235560363d235da709aba43f09a82ab033c7ba1 /intern/cycles/render
parent72492eb2a27e4f0bc9f6274ce0404d485cc44a57 (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.h4
-rw-r--r--intern/cycles/render/nodes.h8
-rw-r--r--intern/cycles/render/osl.cpp5
-rw-r--r--intern/cycles/render/shader.cpp2
-rw-r--r--intern/cycles/render/shader.h2
-rw-r--r--intern/cycles/render/svm.cpp5
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 */