[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