Blender V4.3
bsdf_oren_nayar.h File Reference

Go to the source code of this file.

Classes

struct  OrenNayarBsdf
 

Typedefs

typedef CCL_NAMESPACE_BEGIN struct OrenNayarBsdf OrenNayarBsdf
 

Functions

ccl_device_inline float bsdf_oren_nayar_G (const float cosTheta)
 
ccl_device Spectrum bsdf_oren_nayar_get_intensity (ccl_private const ShaderClosure *sc, float3 n, float3 v, float3 l)
 
ccl_device int bsdf_oren_nayar_setup (ccl_private const ShaderData *sd, ccl_private OrenNayarBsdf *bsdf, const Spectrum color)
 
ccl_device Spectrum bsdf_oren_nayar_eval (ccl_private const ShaderClosure *sc, const float3 wi, const float3 wo, ccl_private float *pdf)
 
ccl_device int bsdf_oren_nayar_sample (ccl_private const ShaderClosure *sc, float3 Ng, float3 wi, float2 rand, ccl_private Spectrum *eval, ccl_private float3 *wo, ccl_private float *pdf)
 

Typedef Documentation

◆ OrenNayarBsdf

typedef CCL_NAMESPACE_BEGIN struct OrenNayarBsdf OrenNayarBsdf

Function Documentation

◆ bsdf_oren_nayar_eval()

ccl_device Spectrum bsdf_oren_nayar_eval ( ccl_private const ShaderClosure * sc,
const float3 wi,
const float3 wo,
ccl_private float * pdf )

Definition at line 80 of file bsdf_oren_nayar.h.

References bsdf_oren_nayar_get_intensity(), ccl_private, dot(), and zero_spectrum.

Referenced by bsdf_eval().

◆ bsdf_oren_nayar_G()

ccl_device_inline float bsdf_oren_nayar_G ( const float cosTheta)

Definition at line 25 of file bsdf_oren_nayar.h.

References M_PI_2_F, safe_acosf(), sin_from_cos(), and sqr().

Referenced by bsdf_oren_nayar_get_intensity(), and bsdf_oren_nayar_setup().

◆ bsdf_oren_nayar_get_intensity()

ccl_device Spectrum bsdf_oren_nayar_get_intensity ( ccl_private const ShaderClosure * sc,
float3 n,
float3 v,
float3 l )

Definition at line 37 of file bsdf_oren_nayar.h.

References bsdf_oren_nayar_G(), ccl_private, dot(), l, M_PI_F, make_spectrum, max, and v.

Referenced by bsdf_oren_nayar_eval(), and bsdf_oren_nayar_sample().

◆ bsdf_oren_nayar_sample()

◆ bsdf_oren_nayar_setup()