Cleanup: remove redundant lerp function, mix already does the same
This commit is contained in:
parent
a05a7988dc
commit
36e5157693
|
@ -389,7 +389,7 @@ static float4 LerpCurveSegmentMotionCV(ParticleCurveData *CData, int sys, int cu
|
|||
}
|
||||
const float4 mP = CurveSegmentMotionCV(CData, sys, curve, first_curve_key + curvekey);
|
||||
const float4 mP2 = CurveSegmentMotionCV(CData, sys, curve, first_curve_key + curvekey2);
|
||||
return lerp(mP, mP2, remainder);
|
||||
return mix(mP, mP2, remainder);
|
||||
}
|
||||
|
||||
static void export_hair_motion_validate_attribute(Hair *hair,
|
||||
|
@ -899,9 +899,9 @@ static float4 interpolate_curve_points(const float (*b_attr_position)[3],
|
|||
const int point_a = clamp((int)curve_t, 0, num_points - 1);
|
||||
const int point_b = min(point_a + 1, num_points - 1);
|
||||
const float t = curve_t - (float)point_a;
|
||||
return lerp(curve_point_as_float4(b_attr_position, b_attr_radius, first_point_index + point_a),
|
||||
curve_point_as_float4(b_attr_position, b_attr_radius, first_point_index + point_b),
|
||||
t);
|
||||
return mix(curve_point_as_float4(b_attr_position, b_attr_radius, first_point_index + point_a),
|
||||
curve_point_as_float4(b_attr_position, b_attr_radius, first_point_index + point_b),
|
||||
t);
|
||||
}
|
||||
|
||||
static void export_hair_curves(Scene *scene,
|
||||
|
|
|
@ -360,7 +360,7 @@ void BVHSpatialSplit::split_triangle_primitive(const Mesh *mesh,
|
|||
|
||||
/* edge intersects the plane => insert intersection to both boxes. */
|
||||
if ((v0p < pos && v1p > pos) || (v0p > pos && v1p < pos)) {
|
||||
float3 t = lerp(v0, v1, clamp((pos - v0p) / (v1p - v0p), 0.0f, 1.0f));
|
||||
float3 t = mix(v0, v1, clamp((pos - v0p) / (v1p - v0p), 0.0f, 1.0f));
|
||||
left_bounds.grow(t);
|
||||
right_bounds.grow(t);
|
||||
}
|
||||
|
@ -408,7 +408,7 @@ void BVHSpatialSplit::split_curve_primitive(const Hair *hair,
|
|||
|
||||
/* edge intersects the plane => insert intersection to both boxes. */
|
||||
if ((v0p < pos && v1p > pos) || (v0p > pos && v1p < pos)) {
|
||||
float3 t = lerp(v0, v1, clamp((pos - v0p) / (v1p - v0p), 0.0f, 1.0f));
|
||||
float3 t = mix(v0, v1, clamp((pos - v0p) / (v1p - v0p), 0.0f, 1.0f));
|
||||
left_bounds.grow(t);
|
||||
right_bounds.grow(t);
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ bool work_balance_do_rebalance(vector<WorkBalanceInfo> &work_balance_infos)
|
|||
bool has_big_difference = false;
|
||||
|
||||
for (const WorkBalanceInfo &info : work_balance_infos) {
|
||||
const double time_target = lerp(info.time_spent, time_average, lerp_weight);
|
||||
const double time_target = mix(info.time_spent, time_average, lerp_weight);
|
||||
const double new_weight = info.weight * time_target / info.time_spent;
|
||||
new_weights.push_back(new_weight);
|
||||
total_weight += new_weight;
|
||||
|
|
|
@ -96,7 +96,7 @@ ccl_device_forceinline Spectrum interpolate_fresnel_color(float3 L,
|
|||
{
|
||||
/* Compute the real Fresnel term and remap it from real_F0..1 to F0..1.
|
||||
* The reason why we use this remapping instead of directly doing the
|
||||
* Schlick approximation lerp(F0, 1.0, (1.0-cosLH)^5) is that for cases
|
||||
* Schlick approximation mix(F0, 1.0, (1.0-cosLH)^5) is that for cases
|
||||
* with similar IORs (e.g. ice in water), the relative IOR can be close
|
||||
* enough to 1.0 that the Schlick approximation becomes inaccurate. */
|
||||
float real_F = fresnel_dielectric_cos(dot(L, H), ior);
|
||||
|
|
|
@ -36,7 +36,7 @@ static float shutter_curve_eval(float x, array<float> &shutter_curve)
|
|||
int index = (int)x;
|
||||
float frac = x - index;
|
||||
if (index < shutter_curve.size() - 1) {
|
||||
return lerp(shutter_curve[index], shutter_curve[index + 1], frac);
|
||||
return mix(shutter_curve[index], shutter_curve[index + 1], frac);
|
||||
}
|
||||
else {
|
||||
return shutter_curve[shutter_curve.size() - 1];
|
||||
|
|
|
@ -1291,7 +1291,7 @@ template<class T> void init_test_curve(array<T> &buffer, T start, T end, int ste
|
|||
buffer.resize(steps);
|
||||
|
||||
for (int i = 0; i < steps; i++) {
|
||||
buffer[i] = lerp(start, end, float(i) / (steps - 1));
|
||||
buffer[i] = mix(start, end, float(i) / (steps - 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -555,16 +555,6 @@ CCL_NAMESPACE_END
|
|||
|
||||
CCL_NAMESPACE_BEGIN
|
||||
|
||||
#if !defined(__KERNEL_METAL__)
|
||||
/* Interpolation */
|
||||
|
||||
template<class A, class B> A lerp(const A &a, const A &b, const B &t)
|
||||
{
|
||||
return (A)(a * ((B)1 - t) + b * t);
|
||||
}
|
||||
|
||||
#endif /* __KERNEL_METAL__ */
|
||||
|
||||
/* Triangle */
|
||||
|
||||
ccl_device_inline float triangle_area(ccl_private const float3 &v1,
|
||||
|
|
|
@ -379,7 +379,7 @@ ccl_device_inline Transform transform_empty()
|
|||
|
||||
ccl_device_inline float4 quat_interpolate(float4 q1, float4 q2, float t)
|
||||
{
|
||||
/* Optix and MetalRT are using lerp to interpolate motion transformations. */
|
||||
/* Optix and MetalRT are using linear interpolation to interpolate motion transformations. */
|
||||
#if defined(__KERNEL_GPU_RAYTRACING__)
|
||||
return normalize((1.0f - t) * q1 + t * q2);
|
||||
#else /* defined(__KERNEL_GPU_RAYTRACING__) */
|
||||
|
|
Loading…
Reference in New Issue