Commit: 93b388779cde3bf7a54dcae7b124640d4c6c5ab8 Author: Kévin Dietrich Date: Wed Nov 11 14:32:24 2020 +0100 Branches: cycles_procedural_api https://developer.blender.org/rB93b388779cde3bf7a54dcae7b124640d4c6c5ab8
format =================================================================== M intern/cycles/blender/blender_object.cpp M intern/cycles/bvh/bvh_optix.cpp M intern/cycles/bvh/bvh_optix.h M intern/cycles/device/device_optix.cpp M intern/cycles/render/geometry.cpp M intern/cycles/render/geometry.h M intern/cycles/render/integrator.cpp M intern/cycles/render/object.h M intern/cycles/render/particles.h M intern/cycles/render/scene.cpp M intern/cycles/render/scene.h M intern/cycles/render/shader.cpp M intern/cycles/render/shader.h =================================================================== diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp index ca813119c08..5020cf241d1 100644 --- a/intern/cycles/blender/blender_object.cpp +++ b/intern/cycles/blender/blender_object.cpp @@ -213,7 +213,7 @@ Object *BlenderSync::sync_object(BL::Depsgraph &b_depsgraph, object, motion_time, use_particle_hair, - object_geom_task_pool); + object_geom_task_pool); } return object; diff --git a/intern/cycles/bvh/bvh_optix.cpp b/intern/cycles/bvh/bvh_optix.cpp index 254c3f55ffa..f456906bd31 100644 --- a/intern/cycles/bvh/bvh_optix.cpp +++ b/intern/cycles/bvh/bvh_optix.cpp @@ -178,7 +178,13 @@ void BVHOptiX::pack_tlas() } if (geom->is_modified()) { - pool.push(function_bind(&BVHOptiX::pack_instance, this, geom, pack_offset, pack_verts_offset, object_index, object_visibility)); + pool.push(function_bind(&BVHOptiX::pack_instance, + this, + geom, + pack_offset, + pack_verts_offset, + object_index, + object_visibility)); } if (!bvh_pack.prim_index.empty()) { @@ -193,7 +199,11 @@ void BVHOptiX::pack_tlas() pool.wait_work(); } -void BVHOptiX::pack_instance(Geometry *geom, size_t pack_offset, size_t pack_verts_offset_, int object_index, int object_visibility) +void BVHOptiX::pack_instance(Geometry *geom, + size_t pack_offset, + size_t pack_verts_offset_, + int object_index, + int object_visibility) { int *pack_prim_type = pack.prim_type.data(); int *pack_prim_index = pack.prim_index.data(); diff --git a/intern/cycles/bvh/bvh_optix.h b/intern/cycles/bvh/bvh_optix.h index a3ab92bbe53..c69a4aa9932 100644 --- a/intern/cycles/bvh/bvh_optix.h +++ b/intern/cycles/bvh/bvh_optix.h @@ -49,7 +49,11 @@ class BVHOptiX : public BVH { void pack_blas(); void pack_tlas(); - void pack_instance(Geometry *geom, size_t pack_offset, size_t pack_verts_offset, int object_index, int object_visibility); + void pack_instance(Geometry *geom, + size_t pack_offset, + size_t pack_verts_offset, + int object_index, + int object_visibility); virtual void pack_nodes(const BVHNode *) override; virtual void refit_nodes() override; diff --git a/intern/cycles/device/device_optix.cpp b/intern/cycles/device/device_optix.cpp index 6d5bb4e55f5..5ee2723893d 100644 --- a/intern/cycles/device/device_optix.cpp +++ b/intern/cycles/device/device_optix.cpp @@ -1432,7 +1432,7 @@ class OptiXDevice : public CUDADevice { num_motion_steps = mesh->get_motion_steps(); } -#if 0 +# if 0 const size_t num_verts = mesh->get_verts().size(); device_vector<int> index_data(this, "temp_index_data", MEM_READ_ONLY); @@ -1484,10 +1484,11 @@ class OptiXDevice : public CUDADevice { // one and rely on that having the same meaning in this case. build_input.triangleArray.numSbtRecords = 1; build_input.triangleArray.primitiveIndexOffset = mesh->optix_prim_offset; -#else +# else vector<device_ptr> vertex_ptrs; vertex_ptrs.reserve(num_motion_steps); - vertex_ptrs.push_back(bvh->prim_vert_pointer + geom->bvh->pack_verts_offset * sizeof(float3)); + vertex_ptrs.push_back(bvh->prim_vert_pointer + + geom->bvh->pack_verts_offset * sizeof(float3)); // Force a single any-hit call, so shadow record-all behavior works correctly unsigned int build_flags = OPTIX_GEOMETRY_FLAG_REQUIRE_SINGLE_ANYHIT_CALL; @@ -1499,7 +1500,7 @@ class OptiXDevice : public CUDADevice { build_input.triangleArray.vertexStrideInBytes = sizeof(float3); build_input.triangleArray.indexBuffer = 0; build_input.triangleArray.numIndexTriplets = 0; - //build_input.triangleArray.indexFormat = OPTIX_INDICES_FORMAT_UNSIGNED_INT3; + // build_input.triangleArray.indexFormat = OPTIX_INDICES_FORMAT_UNSIGNED_INT3; build_input.triangleArray.indexStrideInBytes = 0; build_input.triangleArray.flags = &build_flags; // The SBT does not store per primitive data since Cycles already allocates separate @@ -1507,7 +1508,7 @@ class OptiXDevice : public CUDADevice { // one and rely on that having the same meaning in this case. build_input.triangleArray.numSbtRecords = 1; build_input.triangleArray.primitiveIndexOffset = mesh->optix_prim_offset; -#endif +# endif // Allocate memory for new BLAS and build it if (build_optix_bvh(build_input, num_motion_steps, handle, out_data, operation)) { diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp index 1e3400f81ed..3ff952e81ab 100644 --- a/intern/cycles/render/geometry.cpp +++ b/intern/cycles/render/geometry.cpp @@ -1084,16 +1084,20 @@ void GeometryManager::device_update_mesh( if (geom->geometry_type == Geometry::MESH || geom->geometry_type == Geometry::VOLUME) { Mesh *mesh = static_cast<Mesh *>(geom); - if (mesh->shader_is_modified() || mesh->smooth_is_modified() || mesh->triangles_is_modified() || (device_update_flags & DEVICE_CURVE_DATA_NEEDS_REALLOC)) { + if (mesh->shader_is_modified() || mesh->smooth_is_modified() || + mesh->triangles_is_modified() || + (device_update_flags & DEVICE_CURVE_DATA_NEEDS_REALLOC)) { dscene->tri_shader.modified = true; mesh->pack_shaders(scene, &tri_shader[mesh->prim_offset]); } - if (mesh->triangles_is_modified() || mesh->verts_is_modified() || (device_update_flags & DEVICE_MESH_DATA_NEEDS_REALLOC)) { + if (mesh->triangles_is_modified() || mesh->verts_is_modified() || + (device_update_flags & DEVICE_MESH_DATA_NEEDS_REALLOC)) { dscene->tri_vindex.modified |= mesh->triangles_is_modified(); dscene->tri_patch.modified |= mesh->triangle_patch_is_modified(); dscene->tri_patch_uv.modified |= mesh->vert_patch_uv_is_modified(); - dscene->tri_vnormal.modified |= (mesh->triangles_is_modified() || mesh->verts_is_modified()); + dscene->tri_vnormal.modified |= (mesh->triangles_is_modified() || + mesh->verts_is_modified()); mesh->pack_normals(&vnormal[mesh->vert_offset]); mesh->pack_verts(tri_prim_index, @@ -1139,10 +1143,13 @@ void GeometryManager::device_update_mesh( if (geom->is_hair()) { Hair *hair = static_cast<Hair *>(geom); - bool curve_keys_co_modified = hair->curve_radius_is_modified() || hair->curve_keys_is_modified(); - bool curve_data_modified = hair->curve_shader_is_modified() || hair->curve_first_key_is_modified(); + bool curve_keys_co_modified = hair->curve_radius_is_modified() || + hair->curve_keys_is_modified(); + bool curve_data_modified = hair->curve_shader_is_modified() || + hair->curve_first_key_is_modified(); - if (!curve_keys_co_modified && !curve_data_modified && (device_update_flags & DEVICE_CURVE_DATA_NEEDS_REALLOC) == 0) { + if (!curve_keys_co_modified && !curve_data_modified && + (device_update_flags & DEVICE_CURVE_DATA_NEEDS_REALLOC) == 0) { continue; } @@ -1229,7 +1236,7 @@ void GeometryManager::device_update_bvh(Device *device, device->get_bvh_layout_mask()); bparams.use_spatial_split = scene->params.use_bvh_spatial_split; bparams.use_unaligned_nodes = dscene->data.bvh.have_curves && - scene->params.use_bvh_unaligned_nodes; + scene->params.use_bvh_unaligned_nodes; bparams.num_motion_triangle_steps = scene->params.num_bvh_time_steps; bparams.num_motion_curve_steps = scene->params.num_bvh_time_steps; bparams.bvh_type = scene->params.bvh_type; @@ -1240,7 +1247,8 @@ void GeometryManager::device_update_bvh(Device *device, if (bvh) { bvh->pack = {}; - if (!(device_update_flags & DEVICE_DATA_NEEDS_REALLOC) && bparams.bvh_layout == BVHLayout::BVH_LAYOUT_OPTIX) { + if (!(device_update_flags & DEVICE_DATA_NEEDS_REALLOC) && + bparams.bvh_layout == BVHLayout::BVH_LAYOUT_OPTIX) { bvh->refit(progress); } @@ -1249,10 +1257,10 @@ void GeometryManager::device_update_bvh(Device *device, dscene->prim_tri_verts.give_data(pack.prim_tri_verts); #else PackedBVH &pack = bvh->pack; - //dscene->bvh_nodes.give_data(pack.nodes); - //dscene->bvh_leaf_nodes.give_data(pack.leaf_nodes); - //dscene->object_node.give_data(pack.object_node); - dscene->prim_tri_index.give_data(pack.prim_tri_index); + // dscene->bvh_nodes.give_data(pack.nodes); + // dscene->bvh_leaf_nodes.give_data(pack.leaf_nodes); + // dscene->object_node.give_data(pack.object_node); + dscene->prim_tri_index.give_data(pack.prim_tri_index); dscene->prim_tri_verts.give_data(pack.prim_tri_verts); dscene->prim_type.give_data(pack.prim_type); dscene->prim_visibility.give_data(pack.prim_visibility); @@ -1338,7 +1346,8 @@ void GeometryManager::device_update_bvh(Device *device, { scoped_callback_timer timer([scene](double time) { if (scene->update_stats) { - scene->update_stats->geometry.times.add_entry({"device_update (copy BVH to device)", time}); + scene->update_stats->geometry.times.add_entry( + {"device_update (copy BVH to device)", time}); } }); bvh->copy_to_device(progress, dscene); diff --git a/intern/cycles/render/geometry.h b/intern/cycles/render/geometry.h index 4d2684606f8..377bab82df1 100644 --- a/intern/cycles/render/geometry.h +++ b/intern/cycles/render/geometry.h @@ -168,19 +168,22 @@ class @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs