[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