INNER CODE UNIT · Python
Fc
SedulousWorks/SedulousEngine · Scripts/generate_brdf_lut.py:119
Fc = np.power(np.maximum(1.0 - VdotH, 0.0), 5.0)
scale_contrib = np.where(mask, (1.0 - Fc) * G_Vis, 0.0)
bias_contrib = np.where(mask, Fc * G_Vis, 0.0)
result_scale[y, :] = np.sum(scale_contrib, axis=1) / NUM_SAMPLES
result_bias[y, :] = np.sum(bias_contrib, axis=1) / NUM_SAMPLES
elapsed = time.time() - start
print(f" Computation done in {elapsed:.1f}s", file=sys.stderr)
# Clamp to [0, 1].
result_scale = np.clip(result_scale, 0.0, 1.0)
result_bias = np.clip(result_bias, 0.0, 1.0)
# Convert to float16, then to raw bytes interleaved as RG.
scale_f16 = result_scale.astype(np.float16)
bias_f16 = result_bias.astype(np.float16)