[Bf-blender-cvs] [8af16fd0877] microfacet_hair: Fix compiler error in the normal and tangent computation

Weizhen Huang noreply at git.blender.org
Mon Jan 2 16:15:17 CET 2023


Commit: 8af16fd08772ae25e33212c8a9774a5478e0d654
Author: Weizhen Huang
Date:   Mon Jan 2 16:14:42 2023 +0100
Branches: microfacet_hair
https://developer.blender.org/rB8af16fd08772ae25e33212c8a9774a5478e0d654

Fix compiler error in the normal and tangent computation

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

M	source/blender/blenkernel/intern/curve_catmull_rom.cc

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

diff --git a/source/blender/blenkernel/intern/curve_catmull_rom.cc b/source/blender/blenkernel/intern/curve_catmull_rom.cc
index 7bd5db488f4..d16b82ed1d4 100644
--- a/source/blender/blenkernel/intern/curve_catmull_rom.cc
+++ b/source/blender/blenkernel/intern/curve_catmull_rom.cc
@@ -86,14 +86,11 @@ static void interpolate_to_evaluated(const int order,
 
   if (src.size() == 1) {
     switch (order) {
-      case 1:
-        dst.first() = float3(0.0f, 0.0f, 1.0f);
-        break;
-      case 2:
-        dst.first() = float3(1.0f, 0.0f, 0.0f);
+      case 0:
+        dst.first() = src.first();
         break;
       default:
-        dst.first() = src.first();
+        dst.first() = T(0);
         break;
     }
     return;
@@ -204,6 +201,11 @@ void calculate_tangents(const Span<float3> positions,
                         const int resolution,
                         MutableSpan<float3> evaluated_tangents)
 {
+  if (evaluated_tangents.size() == 1) {
+    evaluated_tangents[0] = float3(0.0f, 0.0f, 1.0f);
+    return;
+  }
+
   interpolate_to_evaluated(
       1,
       positions,
@@ -225,6 +227,11 @@ void calculate_normals(const Span<float3> positions,
                        const Span<float3> evaluated_tangents,
                        MutableSpan<float3> evaluated_normals)
 {
+  if (evaluated_normals.size() == 1) {
+    evaluated_normals[0] = float3(1.0f, 0.0f, 0.0f);
+    return;
+  }
+
   /* Compute the second derivative (r'') of the control points, evaluated at t = 0. */
   interpolate_to_evaluated(
       2,



More information about the Bf-blender-cvs mailing list