[Bf-blender-cvs] [7f29a89ffd9] cycles_procedural_api: add convenience function to tag sockets as modified
Kévin Dietrich
noreply at git.blender.org
Fri Oct 9 17:56:04 CEST 2020
Commit: 7f29a89ffd91db82190ca0eb3232b89b88f8c136
Author: Kévin Dietrich
Date: Fri Oct 9 00:25:57 2020 +0200
Branches: cycles_procedural_api
https://developer.blender.org/rB7f29a89ffd91db82190ca0eb3232b89b88f8c136
add convenience function to tag sockets as modified
===================================================================
M intern/cycles/graph/node.h
M intern/cycles/render/mesh.cpp
===================================================================
diff --git a/intern/cycles/graph/node.h b/intern/cycles/graph/node.h
index b5543d4bb07..e36a9da8ce0 100644
--- a/intern/cycles/graph/node.h
+++ b/intern/cycles/graph/node.h
@@ -42,6 +42,11 @@ struct Transform;
const SocketType *socket = get_##name##_socket(); \
return socket_is_modified(*socket); \
} \
+ void tag_##name##_modified() \
+ { \
+ const SocketType *socket = get_##name##_socket(); \
+ socket_modified |= socket->modified_flag_bit; \
+ } \
type_ const &get_##name() const \
{ \
const SocketType *socket = get_##name##_socket(); \
diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp
index da026b5baf4..066a9398b47 100644
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@ -317,21 +317,22 @@ void Mesh::clear()
void Mesh::add_vertex(float3 P)
{
verts.push_back_reserved(P);
+ tag_verts_modified();
if (get_num_subd_faces()) {
vert_patch_uv.push_back_reserved(make_float2(0.0f, 0.0f));
+ tag_vert_patch_uv_modified();
}
}
void Mesh::add_vertex_slow(float3 P)
{
verts.push_back_slow(P);
-
- socket_modified |= get_triangles_socket()->modified_flag_bit;
+ tag_verts_modified();
if (get_num_subd_faces()) {
vert_patch_uv.push_back_slow(make_float2(0.0f, 0.0f));
- socket_modified |= get_vert_patch_uv_socket()->modified_flag_bit;
+ tag_vert_patch_uv_modified();
}
}
@@ -343,13 +344,13 @@ void Mesh::add_triangle(int v0, int v1, int v2, int shader_, bool smooth_)
shader.push_back_reserved(shader_);
smooth.push_back_reserved(smooth_);
- socket_modified |= get_triangles_socket()->modified_flag_bit;
- socket_modified |= get_shader_socket()->modified_flag_bit;
- socket_modified |= get_smooth_socket()->modified_flag_bit;
+ tag_triangles_modified();
+ tag_shader_modified();
+ tag_smooth_modified();
if (get_num_subd_faces()) {
triangle_patch.push_back_reserved(-1);
- socket_modified |= get_triangle_patch_socket()->modified_flag_bit;
+ tag_triangle_patch_modified();
}
}
@@ -374,6 +375,13 @@ void Mesh::add_subd_face(int *corners, int num_corners, int shader_, bool smooth
subd_shader.push_back_reserved(shader_);
subd_smooth.push_back_reserved(smooth_);
subd_ptex_offset.push_back_reserved(ptex_offset);
+
+ tag_subd_face_corners_modified();
+ tag_subd_start_corner_modified();
+ tag_subd_num_corners_modified();
+ tag_subd_shader_modified();
+ tag_subd_smooth_modified();
+ tag_subd_ptex_offset_modified();
}
Mesh::SubdFace Mesh::get_subd_face(size_t index) const
@@ -392,6 +400,10 @@ void ccl::Mesh::add_crease(int v0, int v1, float weight)
subd_creases_edge.push_back_slow(v0);
subd_creases_edge.push_back_slow(v1);
subd_creases_weight.push_back_slow(weight);
+
+ tag_subd_creases_edge_modified();
+ tag_subd_creases_edge_modified();
+ tag_subd_creases_weight_modified();
}
void Mesh::copy_center_to_motion_step(const int motion_step)
More information about the Bf-blender-cvs
mailing list