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-10-27 13:40:42 +0300
committerBrecht Van Lommel <brecht@blender.org>2020-10-27 13:40:42 +0300
commit30f626fe4cd62f406468ef0ff2169694424b1a29 (patch)
treed428586cd3a6e689ab1e2f5a4222d1e0eb77ada7 /intern/cycles/blender/blender_geometry.cpp
parent17381c7b90eb3acde53eca013ae5a5a55699f17d (diff)
Revert "Cycles API: encapsulate Node socket members"
This reverts commit 527f8b32b32187f754e5b176db6377736f9cb8ff. It is causing motion blur test failures and crashes in some renders, reverting until this is fixed.
Diffstat (limited to 'intern/cycles/blender/blender_geometry.cpp')
-rw-r--r--intern/cycles/blender/blender_geometry.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/intern/cycles/blender/blender_geometry.cpp b/intern/cycles/blender/blender_geometry.cpp
index 0c05f93d995..c7637fe8608 100644
--- a/intern/cycles/blender/blender_geometry.cpp
+++ b/intern/cycles/blender/blender_geometry.cpp
@@ -59,7 +59,7 @@ Geometry *BlenderSync::sync_geometry(BL::Depsgraph &b_depsgraph,
GeometryKey key(b_key_id.ptr.data, geom_type);
/* Find shader indices. */
- array<Node *> used_shaders;
+ vector<Shader *> used_shaders;
BL::Object::material_slots_iterator slot;
for (b_ob.material_slots.begin(slot); slot != b_ob.material_slots.end(); ++slot) {
@@ -76,7 +76,7 @@ Geometry *BlenderSync::sync_geometry(BL::Depsgraph &b_depsgraph,
if (material_override)
find_shader(material_override, used_shaders, default_shader);
else
- used_shaders.push_back_slow(default_shader);
+ used_shaders.push_back(default_shader);
}
/* Ensure we only sync instanced geometry once. */
@@ -114,7 +114,7 @@ Geometry *BlenderSync::sync_geometry(BL::Depsgraph &b_depsgraph,
}
/* Test if shaders changed, these can be object level so geometry
* does not get tagged for recalc. */
- else if (geom->get_used_shaders() != used_shaders) {
+ else if (geom->used_shaders != used_shaders) {
;
}
else {
@@ -122,8 +122,7 @@ Geometry *BlenderSync::sync_geometry(BL::Depsgraph &b_depsgraph,
* because the shader needs different geometry attributes. */
bool attribute_recalc = false;
- foreach (Node *node, geom->get_used_shaders()) {
- Shader *shader = static_cast<Shader *>(node);
+ foreach (Shader *shader, geom->used_shaders) {
if (shader->need_update_geometry) {
attribute_recalc = true;
}
@@ -178,7 +177,7 @@ void BlenderSync::sync_geometry_motion(BL::Depsgraph &b_depsgraph,
TaskPool *task_pool)
{
/* Ensure we only sync instanced geometry once. */
- Geometry *geom = object->get_geometry();
+ Geometry *geom = object->geometry;
if (geometry_motion_synced.find(geom) != geometry_motion_synced.end())
return;