[Bf-blender-cvs] [1b8b50ec302] cycles_procedural_api: further cleanup, remove unnecessary friends from Mesh

Kévin Dietrich noreply at git.blender.org
Sat Sep 26 19:24:35 CEST 2020


Commit: 1b8b50ec3022e8395c1b072fa61eb6e9625cac66
Author: Kévin Dietrich
Date:   Sat Sep 26 19:18:27 2020 +0200
Branches: cycles_procedural_api
https://developer.blender.org/rB1b8b50ec3022e8395c1b072fa61eb6e9625cac66

further cleanup, remove unnecessary friends from Mesh

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

M	intern/cycles/blender/blender_sync.cpp
M	intern/cycles/device/device_optix.cpp
M	intern/cycles/graph/node.h
M	intern/cycles/render/attribute.cpp
M	intern/cycles/render/camera.cpp
M	intern/cycles/render/camera.h
M	intern/cycles/render/geometry.cpp
M	intern/cycles/render/light.cpp
M	intern/cycles/render/mesh.cpp
M	intern/cycles/render/mesh.h
M	intern/cycles/render/mesh_subdivision.cpp
M	intern/cycles/render/object.cpp
M	intern/cycles/render/scene.cpp
M	intern/cycles/subd/subd_dice.cpp
M	intern/cycles/test/render_graph_finalize_test.cpp

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

diff --git a/intern/cycles/blender/blender_sync.cpp b/intern/cycles/blender/blender_sync.cpp
index b09f8538411..d33a7f709ed 100644
--- a/intern/cycles/blender/blender_sync.cpp
+++ b/intern/cycles/blender/blender_sync.cpp
@@ -301,7 +301,7 @@ void BlenderSync::sync_integrator()
   if (!preview) {
     if (integrator->get_motion_blur() != r.use_motion_blur()) {
       scene->object_manager->tag_update(scene);
-      scene->camera->tag_update();
+      scene->camera->tag_modified();
     }
 
     integrator->set_motion_blur(r.use_motion_blur());
diff --git a/intern/cycles/device/device_optix.cpp b/intern/cycles/device/device_optix.cpp
index ad899950f53..a868b46144c 100644
--- a/intern/cycles/device/device_optix.cpp
+++ b/intern/cycles/device/device_optix.cpp
@@ -1273,10 +1273,8 @@ class OptiXDevice : public CUDADevice {
                 const float4 px = make_float4(keys[ka].x, keys[k0].x, keys[k1].x, keys[kb].x);
                 const float4 py = make_float4(keys[ka].y, keys[k0].y, keys[k1].y, keys[kb].y);
                 const float4 pz = make_float4(keys[ka].z, keys[k0].z, keys[k1].z, keys[kb].z);
-                const float4 pw = make_float4(curve_radius[ka],
-                                              curve_radius[k0],
-                                              curve_radius[k1],
-                                              curve_radius[kb]);
+                const float4 pw = make_float4(
+                    curve_radius[ka], curve_radius[k0], curve_radius[k1], curve_radius[kb]);
 
                 // Convert Catmull-Rom data to Bezier spline
                 static const float4 cr2bsp0 = make_float4(+7, -4, +5, -2) / 6.f;
@@ -1407,7 +1405,9 @@ class OptiXDevice : public CUDADevice {
 
         device_vector<int> index_data(this, "temp_index_data", MEM_READ_ONLY);
         index_data.alloc(mesh->get_triangles().size());
-        memcpy(index_data.data(), mesh->get_triangles().data(), mesh->get_triangles().size() * sizeof(int));
+        memcpy(index_data.data(),
+               mesh->get_triangles().data(),
+               mesh->get_triangles().size() * sizeof(int));
         device_vector<float3> vertex_data(this, "temp_vertex_data", MEM_READ_ONLY);
         vertex_data.alloc(num_verts * num_motion_steps);
 
@@ -1514,7 +1514,8 @@ class OptiXDevice : public CUDADevice {
         instance.visibilityMask |= 4;
 
 #  if OPTIX_ABI_VERSION >= 36
-        if (motion_blur && ob->get_geometry()->has_motion_blur() && DebugFlags().optix.curves_api &&
+        if (motion_blur && ob->get_geometry()->has_motion_blur() &&
+            DebugFlags().optix.curves_api &&
             static_cast<const Hair *>(ob->get_geometry())->curve_shape == CURVE_THICK) {
           // Select between motion blur and non-motion blur built-in intersection module
           instance.sbtOffset = PG_HITD_MOTION - PG_HITD;
@@ -1545,7 +1546,8 @@ class OptiXDevice : public CUDADevice {
 
         OptixSRTData *const srt_data = motion_transform.srtData;
         array<DecomposedTransform> decomp(ob->get_motion().size());
-        transform_motion_decompose(decomp.data(), ob->get_motion().data(), ob->get_motion().size());
+        transform_motion_decompose(
+            decomp.data(), ob->get_motion().data(), ob->get_motion().size());
 
         for (size_t i = 0; i < ob->get_motion().size(); ++i) {
           // Scale
diff --git a/intern/cycles/graph/node.h b/intern/cycles/graph/node.h
index a46baf1588e..1ed82b410b0 100644
--- a/intern/cycles/graph/node.h
+++ b/intern/cycles/graph/node.h
@@ -27,7 +27,7 @@ CCL_NAMESPACE_BEGIN
 class MD5Hash;
 struct Node;
 struct NodeType;
-struct Shader;
+class Shader;
 struct Transform;
 
 /* Note: in the following macros we use "type const &" instead of "const type &"
diff --git a/intern/cycles/render/attribute.cpp b/intern/cycles/render/attribute.cpp
index 4f888d40434..c723c29b3d6 100644
--- a/intern/cycles/render/attribute.cpp
+++ b/intern/cycles/render/attribute.cpp
@@ -169,18 +169,18 @@ size_t Attribute::element_size(Geometry *geom, AttributePrimitive prim) const
     case ATTR_ELEMENT_VERTEX:
       if (geom->geometry_type == Geometry::MESH || geom->geometry_type == Geometry::VOLUME) {
         Mesh *mesh = static_cast<Mesh *>(geom);
-        size = mesh->verts.size() + mesh->num_ngons;
+        size = mesh->get_verts().size() + mesh->get_num_ngons();
         if (prim == ATTR_PRIM_SUBD) {
-          size -= mesh->num_subd_verts;
+          size -= mesh->get_num_subd_verts();
         }
       }
       break;
     case ATTR_ELEMENT_VERTEX_MOTION:
       if (geom->geometry_type == Geometry::MESH) {
         Mesh *mesh = static_cast<Mesh *>(geom);
-        size = (mesh->verts.size() + mesh->num_ngons) * (mesh->motion_steps - 1);
+        size = (mesh->get_verts().size() + mesh->get_num_ngons()) * (mesh->get_motion_steps() - 1);
         if (prim == ATTR_PRIM_SUBD) {
-          size -= mesh->num_subd_verts * (mesh->motion_steps - 1);
+          size -= mesh->get_num_subd_verts() * (mesh->get_motion_steps() - 1);
         }
       }
       break;
@@ -191,7 +191,7 @@ size_t Attribute::element_size(Geometry *geom, AttributePrimitive prim) const
           size = mesh->num_triangles();
         }
         else {
-          size = mesh->num_subd_faces() + mesh->num_ngons;
+          size = mesh->num_subd_faces() + mesh->get_num_ngons();
         }
       }
       break;
@@ -203,7 +203,7 @@ size_t Attribute::element_size(Geometry *geom, AttributePrimitive prim) const
           size = mesh->num_triangles() * 3;
         }
         else {
-          size = mesh->subd_face_corners.size() + mesh->num_ngons;
+          size = mesh->get_subd_face_corners().size() + mesh->get_num_ngons();
         }
       }
       break;
diff --git a/intern/cycles/render/camera.cpp b/intern/cycles/render/camera.cpp
index 2f1915bdeb2..ebfa6ff02ca 100644
--- a/intern/cycles/render/camera.cpp
+++ b/intern/cycles/render/camera.cpp
@@ -545,11 +545,6 @@ void Camera::device_free(Device * /*device*/, DeviceScene *dscene, Scene *scene)
   dscene->camera_motion.free();
 }
 
-void Camera::tag_update()
-{
-  socket_modified = ~0;
-}
-
 float3 Camera::transform_raster_to_world(float raster_x, float raster_y)
 {
   float3 D, P;
@@ -779,7 +774,7 @@ void Camera::set_screen_size_and_resolution(int width_, int height_, int resolut
     width = width_;
     height = height_;
     resolution = resolution_;
-    tag_update();
+    tag_modified();
   }
 }
 
diff --git a/intern/cycles/render/camera.h b/intern/cycles/render/camera.h
index 14ea808ac52..a9d9da7fe30 100644
--- a/intern/cycles/render/camera.h
+++ b/intern/cycles/render/camera.h
@@ -212,8 +212,6 @@ class Camera : public Node {
   void device_update_volume(Device *device, DeviceScene *dscene, Scene *scene);
   void device_free(Device *device, DeviceScene *dscene, Scene *scene);
 
-  void tag_update();
-
   /* Public utility functions. */
   BoundBox viewplane_bounds_get();
 
diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp
index c59d35e95f3..5c43178ad73 100644
--- a/intern/cycles/render/geometry.cpp
+++ b/intern/cycles/render/geometry.cpp
@@ -247,7 +247,7 @@ bool Geometry::has_voxel_attributes() const
 
 void Geometry::tag_update(Scene *scene, bool rebuild)
 {
-  socket_modified = ~0u;
+  tag_modified();
 
   if (rebuild) {
     need_update_rebuild = true;
diff --git a/intern/cycles/render/light.cpp b/intern/cycles/render/light.cpp
index bfe9e9d4cca..1ffff2ac4ff 100644
--- a/intern/cycles/render/light.cpp
+++ b/intern/cycles/render/light.cpp
@@ -311,7 +311,7 @@ void LightManager::device_update_distribution(Device *,
     Mesh *mesh = static_cast<Mesh *>(object->get_geometry());
     size_t mesh_num_triangles = mesh->num_triangles();
     for (size_t i = 0; i < mesh_num_triangles; i++) {
-      int shader_index = mesh->shader[i];
+      int shader_index = mesh->get_shader()[i];
       Shader *shader = (shader_index < mesh->get_used_shaders().size()) ?
                            static_cast<Shader *>(mesh->get_used_shaders()[shader_index]) :
                            scene->default_surface;
@@ -367,7 +367,7 @@ void LightManager::device_update_distribution(Device *,
 
     size_t mesh_num_triangles = mesh->num_triangles();
     for (size_t i = 0; i < mesh_num_triangles; i++) {
-      int shader_index = mesh->shader[i];
+      int shader_index = mesh->get_shader()[i];
       Shader *shader = (shader_index < mesh->get_used_shaders().size()) ?
                            static_cast<Shader *>(mesh->get_used_shaders()[shader_index]) :
                            scene->default_surface;
@@ -380,12 +380,12 @@ void LightManager::device_update_distribution(Device *,
         offset++;
 
         Mesh::Triangle t = mesh->get_triangle(i);
-        if (!t.valid(&mesh->verts[0])) {
+        if (!t.valid(&mesh->get_verts()[0])) {
           continue;
         }
-        float3 p1 = mesh->verts[t.v[0]];
-        float3 p2 = mesh->verts[t.v[1]];
-        float3 p3 = mesh->verts[t.v[2]];
+        float3 p1 = mesh->get_verts()[t.v[0]];
+        float3 p2 = mesh->get_verts()[t.v[1]];
+        float3 p3 = mesh->get_verts()[t.v[2]];
 
         if (!transform_applied) {
           p1 = transform_point(&tfm, p1);
diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp
index ba471a654db..e13ff32c9a2 100644
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@ -270,8 +270,6 @@ void Mesh::reserve_subd_creases(size_t num_creases)
 
 void Mesh::clear(bool preserve_voxel_data)
 {
-  // Node::reset(); // will also reset single properties that we might want to preserve like
-  // subdivision dicing rate
   Geometry::clear();
 
   /* clear all verts and triangles */
diff --git a/intern/cycles/render/mesh.h b/intern/cycles/render/mesh.h
index 38f521b224a..0a5cb6522e0 100644
--- a/intern/cycles/render/mesh.h
+++ b/intern/cycles/render/mesh.h
@@ -181,7 +181,6 @@ class Mesh : public Geometry {
   unordered_multimap<int, int>
       vert_stitching_map; /* stitching index -> multiple real vert indices */
 
-  friend class Attribute;
   friend class BVH;
   friend class BVHBuild;
   friend class BVHEmbree;
@@ -189,15 +188,11 @@ class Mesh : public Geometry {
   friend class DiagSplit;
 

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list