[Bf-blender-cvs] [68dd7617d70] master: Cycles: add utility functions for zero float2/float3/float4/transform

Brecht Van Lommel noreply at git.blender.org
Wed Feb 17 16:26:39 CET 2021


Commit: 68dd7617d705dd255b29b99074afa107ce38031e
Author: Brecht Van Lommel
Date:   Wed Feb 17 01:47:18 2021 +0100
Branches: master
https://developer.blender.org/rB68dd7617d705dd255b29b99074afa107ce38031e

Cycles: add utility functions for zero float2/float3/float4/transform

Ref D8237, T78710

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

M	intern/cycles/app/cycles_xml.cpp
M	intern/cycles/blender/blender_camera.cpp
M	intern/cycles/blender/blender_curves.cpp
M	intern/cycles/blender/blender_mesh.cpp
M	intern/cycles/blender/blender_object.cpp
M	intern/cycles/blender/blender_shader.cpp
M	intern/cycles/blender/blender_texture.cpp
M	intern/cycles/bvh/bvh_build.cpp
M	intern/cycles/kernel/kernel_accumulate.h
M	intern/cycles/kernel/kernel_bake.h
M	intern/cycles/kernel/kernel_camera.h
M	intern/cycles/kernel/kernel_differential.h
M	intern/cycles/kernel/kernel_emission.h
M	intern/cycles/kernel/kernel_light_background.h
M	intern/cycles/kernel/kernel_montecarlo.h
M	intern/cycles/kernel/kernel_passes.h
M	intern/cycles/kernel/kernel_path.h
M	intern/cycles/kernel/kernel_path_branched.h
M	intern/cycles/kernel/kernel_path_state.h
M	intern/cycles/kernel/kernel_projection.h
M	intern/cycles/kernel/kernel_shader.h
M	intern/cycles/kernel/kernel_shadow.h
M	intern/cycles/kernel/kernel_subsurface.h
M	intern/cycles/kernel/kernel_volume.h
M	intern/cycles/render/camera.cpp
M	intern/cycles/render/constant_fold.cpp
M	intern/cycles/render/graph.cpp
M	intern/cycles/render/hair.cpp
M	intern/cycles/render/light.cpp
M	intern/cycles/render/mesh.cpp
M	intern/cycles/render/mesh_displace.cpp
M	intern/cycles/render/mesh_subdivision.cpp
M	intern/cycles/render/nodes.cpp
M	intern/cycles/render/object.cpp
M	intern/cycles/render/shader.cpp
M	intern/cycles/subd/subd_subpatch.h
M	intern/cycles/test/render_graph_finalize_test.cpp
M	intern/cycles/test/util_transform_test.cpp
M	intern/cycles/util/util_color.h
M	intern/cycles/util/util_math_float2.h
M	intern/cycles/util/util_math_float3.h
M	intern/cycles/util/util_math_float4.h
M	intern/cycles/util/util_projection.h
M	intern/cycles/util/util_transform.h

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

diff --git a/intern/cycles/app/cycles_xml.cpp b/intern/cycles/app/cycles_xml.cpp
index 272d509585e..d2aecf75121 100644
--- a/intern/cycles/app/cycles_xml.cpp
+++ b/intern/cycles/app/cycles_xml.cpp
@@ -564,19 +564,19 @@ static void xml_read_transform(xml_node node, Transform &tfm)
   }
 
   if (node.attribute("translate")) {
-    float3 translate = make_float3(0.0f, 0.0f, 0.0f);
+    float3 translate = zero_float3();
     xml_read_float3(&translate, node, "translate");
     tfm = tfm * transform_translate(translate);
   }
 
   if (node.attribute("rotate")) {
-    float4 rotate = make_float4(0.0f, 0.0f, 0.0f, 0.0f);
+    float4 rotate = zero_float4();
     xml_read_float4(&rotate, node, "rotate");
     tfm = tfm * transform_rotate(DEG2RADF(rotate.x), make_float3(rotate.y, rotate.z, rotate.w));
   }
 
   if (node.attribute("scale")) {
-    float3 scale = make_float3(0.0f, 0.0f, 0.0f);
+    float3 scale = zero_float3();
     xml_read_float3(&scale, node, "scale");
     tfm = tfm * transform_scale(scale);
   }
diff --git a/intern/cycles/blender/blender_camera.cpp b/intern/cycles/blender/blender_camera.cpp
index c1da9f1983f..b31841801d8 100644
--- a/intern/cycles/blender/blender_camera.cpp
+++ b/intern/cycles/blender/blender_camera.cpp
@@ -112,7 +112,7 @@ static void blender_camera_init(BlenderCamera *bcam, BL::RenderSettings &b_rende
   bcam->focaldistance = 10.0f;
 
   bcam->zoom = 1.0f;
-  bcam->pixelaspect = make_float2(1.0f, 1.0f);
+  bcam->pixelaspect = one_float2();
   bcam->aperture_ratio = 1.0f;
 
   bcam->sensor_width = 36.0f;
diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp
index 4fb5c7f57d1..7fe49a6c63b 100644
--- a/intern/cycles/blender/blender_curves.cpp
+++ b/intern/cycles/blender/blender_curves.cpp
@@ -121,8 +121,8 @@ static bool ObtainCacheParticleData(
           CData->curve_firstkey.push_back_slow(keyno);
 
           float curve_length = 0.0f;
-          float3 prev_co_world = make_float3(0.0f, 0.0f, 0.0f);
-          float3 prev_co_object = make_float3(0.0f, 0.0f, 0.0f);
+          float3 prev_co_world = zero_float3();
+          float3 prev_co_object = zero_float3();
           for (int step_no = 0; step_no < ren_step; step_no++) {
             float3 co_world = prev_co_world;
             b_psys.co_hair(*b_ob, pa_no, step_no, &co_world.x);
@@ -197,7 +197,7 @@ static bool ObtainCacheParticleUV(Hair *hair,
           BL::Mesh::uv_layers_iterator l;
           b_mesh->uv_layers.begin(l);
 
-          float2 uv = make_float2(0.0f, 0.0f);
+          float2 uv = zero_float2();
           if (b_mesh->uv_layers.length())
             b_psys.uv_on_emitter(psmd, *b_pa, pa_no, uv_num, &uv.x);
           CData->curve_uv.push_back_slow(uv);
@@ -678,7 +678,7 @@ static void export_hair_curves(Scene *scene, Hair *hair, BL::Hair b_hair)
     const int first_point_index = b_curve.first_point_index();
     const int num_points = b_curve.num_points();
 
-    float3 prev_co = make_float3(0.0f, 0.0f, 0.0f);
+    float3 prev_co = zero_float3();
     float length = 0.0f;
     if (attr_intercept) {
       points_length.clear();
diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp
index e2b18c22d95..14bdcd843e9 100644
--- a/intern/cycles/blender/blender_mesh.cpp
+++ b/intern/cycles/blender/blender_mesh.cpp
@@ -716,7 +716,7 @@ static void attr_create_pointiness(Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, b
   /* STEP 2: Calculate vertex normals taking into account their possible
    *         duplicates which gets "welded" together.
    */
-  vector<float3> vert_normal(num_verts, make_float3(0.0f, 0.0f, 0.0f));
+  vector<float3> vert_normal(num_verts, zero_float3());
   /* First we accumulate all vertex normals in the original index. */
   for (int vert_index = 0; vert_index < num_verts; ++vert_index) {
     const float3 normal = get_float3(b_mesh.vertices[vert_index].normal());
@@ -733,7 +733,7 @@ static void attr_create_pointiness(Scene *scene, Mesh *mesh, BL::Mesh &b_mesh, b
   /* STEP 3: Calculate pointiness using single ring neighborhood. */
   vector<int> counter(num_verts, 0);
   vector<float> raw_data(num_verts, 0.0f);
-  vector<float3> edge_accum(num_verts, make_float3(0.0f, 0.0f, 0.0f));
+  vector<float3> edge_accum(num_verts, zero_float3());
   BL::Mesh::edges_iterator e;
   EdgeMap visited_edges;
   int edge_index = 0;
diff --git a/intern/cycles/blender/blender_object.cpp b/intern/cycles/blender/blender_object.cpp
index f0460b129c2..54128cf82fc 100644
--- a/intern/cycles/blender/blender_object.cpp
+++ b/intern/cycles/blender/blender_object.cpp
@@ -323,8 +323,8 @@ Object *BlenderSync::sync_object(BL::Depsgraph &b_depsgraph,
       object->set_random_id(b_instance.random_id());
     }
     else {
-      object->set_dupli_generated(make_float3(0.0f, 0.0f, 0.0f));
-      object->set_dupli_uv(make_float2(0.0f, 0.0f));
+      object->set_dupli_generated(zero_float3());
+      object->set_dupli_uv(zero_float2());
       object->set_random_id(hash_uint2(hash_string(object->name.c_str()), 0));
     }
 
diff --git a/intern/cycles/blender/blender_shader.cpp b/intern/cycles/blender/blender_shader.cpp
index 02a6638b083..a1ab5277744 100644
--- a/intern/cycles/blender/blender_shader.cpp
+++ b/intern/cycles/blender/blender_shader.cpp
@@ -1404,7 +1404,7 @@ void BlenderSync::sync_world(BL::Depsgraph &b_depsgraph, BL::SpaceView3D &b_v3d,
         world_color = get_float3(b_world.color());
       }
       else {
-        world_color = make_float3(0.0f, 0.0f, 0.0f);
+        world_color = zero_float3();
       }
 
       BackgroundNode *background = graph->create_node<BackgroundNode>();
@@ -1535,7 +1535,7 @@ void BlenderSync::sync_lights(BL::Depsgraph &b_depsgraph, bool update_all)
       }
       else {
         EmissionNode *emission = graph->create_node<EmissionNode>();
-        emission->set_color(make_float3(1.0f, 1.0f, 1.0f));
+        emission->set_color(one_float3());
         emission->set_strength(1.0f);
         graph->add(emission);
 
diff --git a/intern/cycles/blender/blender_texture.cpp b/intern/cycles/blender/blender_texture.cpp
index 7b05f361a29..0d593f2b385 100644
--- a/intern/cycles/blender/blender_texture.cpp
+++ b/intern/cycles/blender/blender_texture.cpp
@@ -43,8 +43,8 @@ void point_density_texture_space(BL::Depsgraph &b_depsgraph,
 {
   BL::Object b_ob(b_point_density_node.object());
   if (!b_ob) {
-    loc = make_float3(0.0f, 0.0f, 0.0f);
-    size = make_float3(0.0f, 0.0f, 0.0f);
+    loc = zero_float3();
+    size = zero_float3();
     return;
   }
   float3 min, max;
diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp
index ec85cef0851..048c2b95e40 100644
--- a/intern/cycles/bvh/bvh_build.cpp
+++ b/intern/cycles/bvh/bvh_build.cpp
@@ -360,7 +360,7 @@ void BVHBuild::add_references(BVHRange &root)
 
   /* happens mostly on empty meshes */
   if (!bounds.valid())
-    bounds.grow(make_float3(0.0f, 0.0f, 0.0f));
+    bounds.grow(zero_float3());
 
   root = BVHRange(bounds, center, 0, references.size());
 }
diff --git a/intern/cycles/kernel/kernel_accumulate.h b/intern/cycles/kernel/kernel_accumulate.h
index 7a57a2f33ff..76e0f2be02c 100644
--- a/intern/cycles/kernel/kernel_accumulate.h
+++ b/intern/cycles/kernel/kernel_accumulate.h
@@ -32,11 +32,11 @@ ccl_device_inline void bsdf_eval_init(BsdfEval *eval,
   eval->use_light_pass = use_light_pass;
 
   if (eval->use_light_pass) {
-    eval->diffuse = make_float3(0.0f, 0.0f, 0.0f);
-    eval->glossy = make_float3(0.0f, 0.0f, 0.0f);
-    eval->transmission = make_float3(0.0f, 0.0f, 0.0f);
-    eval->transparent = make_float3(0.0f, 0.0f, 0.0f);
-    eval->volume = make_float3(0.0f, 0.0f, 0.0f);
+    eval->diffuse = zero_float3();
+    eval->glossy = zero_float3();
+    eval->transmission = zero_float3();
+    eval->transparent = zero_float3();
+    eval->volume = zero_float3();
 
     if (type == CLOSURE_BSDF_TRANSPARENT_ID)
       eval->transparent = value;
@@ -55,7 +55,7 @@ ccl_device_inline void bsdf_eval_init(BsdfEval *eval,
     eval->diffuse = value;
   }
 #ifdef __SHADOW_TRICKS__
-  eval->sum_no_mis = make_float3(0.0f, 0.0f, 0.0f);
+  eval->sum_no_mis = zero_float3();
 #endif
 }
 
@@ -174,55 +174,55 @@ ccl_device_inline void path_radiance_init(KernelGlobals *kg, PathRadiance *L)
   L->use_light_pass = kernel_data.film.use_light_pass;
 
   if (kernel_data.film.use_light_pass) {
-    L->indirect = make_float3(0.0f, 0.0f, 0.0f);
-    L->direct_emission = make_float3(0.0f, 0.0f, 0.0f);
+    L->indirect = zero_float3();
+    L->direct_emission = zero_float3();
 
-    L->color_diffuse = make_float3(0.0f, 0.0f, 0.0f);
-    L->color_glossy = make_float3(0.0f, 0.0f, 0.0f);
-    L->color_transmission = make_float3(0.0f, 0.0f, 0.0f);
+    L->color_diffuse = zero_float3();
+    L->color_glossy = zero_float3();
+    L->color_transmission = zero_float3();
 
-    L->direct_diffuse = make_float3(0.0f, 0.0f, 0.0f);
-    L->direct_glossy = make_float3(0.0f, 0.0f, 0.0f);
-    L->direct_transmission = make_float3(0.0f, 0.0f, 0.0f);
-    L->direct_volume = make_float3(0.0f, 0.0f, 0.0f);
+    L->direct_diffuse = zero_float3();
+    L->direct_glossy = zero_float3();
+    L->direct_transmission = zero_float3();
+    L->direct_volume = zero_float3();
 
-    L->indirect_diffuse = make_float3(0.0f, 0.0f, 0.0f);
-    L->indirect_glossy = make_float3(0.0f, 0.0f, 0.0f);
-    L->indirect_transmission = make_float3(0.0f, 0.0f, 0.0f);
-    L->indirect_volume = make_float3(0.0f, 0.0f, 0.0f);
+    L->indirect_diffuse = zero_float3();
+    L->indirect_glossy = zero_float3();
+    L->indirect_transmission = zero_float3();
+    L->indirect_volume = zero_float3();
 
     L->transparent = 0.0f;
-    L->emission = make_float3(0.0f, 0.0f, 0.0f);
-    L->background = make_float3(0.0f, 0.0f, 0.0f);
-    L->ao = make_float3(0.0f, 0.0f, 0.0f);
-    L->shadow = make_float3(0.0f, 0.0f, 0.0f);
+    L->emission = zero_float3();
+    L->background = zero_float3();
+    L->ao = zero_float3();
+    L->shadow = zero_float3();
     L->mist = 0.0f;
 
-    L->state.diffuse = make_float3(0.0f, 0.0f, 0.0f);
-    L->state.glossy = make_float3(0.0f, 0.0f, 0.0f);
-    L->state.transmission = make_float3(0.0f, 0.0f, 0.0f);
-    L->state.v

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list