INNER CODE UNIT · Python

G_Vis

SedulousWorks/SedulousEngine · Scripts/generate_brdf_lut.py:116

        G_Vis = (G * VdotH) / (NdotH * ndot_v[:, None] + 0.0001)

        # Schlick Fresnel split: Fc = (1 - VdotH)^5.
        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)

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…