Blender
V3.3
|
Go to the source code of this file.
Classes | |
struct | PrincipledDiffuseBsdf |
Typedefs | |
typedef struct PrincipledDiffuseBsdf | PrincipledDiffuseBsdf |
Enumerations | |
enum | PrincipledDiffuseBsdfComponents { PRINCIPLED_DIFFUSE_FULL = 1 , PRINCIPLED_DIFFUSE_LAMBERT = 2 , PRINCIPLED_DIFFUSE_LAMBERT_EXIT = 4 , PRINCIPLED_DIFFUSE_RETRO_REFLECTION = 8 } |
typedef struct PrincipledDiffuseBsdf PrincipledDiffuseBsdf |
Enumerator | |
---|---|
PRINCIPLED_DIFFUSE_FULL | |
PRINCIPLED_DIFFUSE_LAMBERT | |
PRINCIPLED_DIFFUSE_LAMBERT_EXIT | |
PRINCIPLED_DIFFUSE_RETRO_REFLECTION |
Definition at line 21 of file bsdf_principled_diffuse.h.
ccl_device float3 bsdf_principled_diffuse_compute_brdf | ( | ccl_private const PrincipledDiffuseBsdf * | bsdf, |
float3 | N, | ||
float3 | V, | ||
float3 | L, | ||
ccl_private float * | |||
) |
Definition at line 46 of file bsdf_principled_diffuse.h.
References blender::math::dot(), L, M_1_PI_F, make_float3, N, PRINCIPLED_DIFFUSE_FULL, PRINCIPLED_DIFFUSE_LAMBERT, PRINCIPLED_DIFFUSE_LAMBERT_EXIT, PRINCIPLED_DIFFUSE_RETRO_REFLECTION, schlick_fresnel(), and V.
Referenced by bsdf_principled_diffuse_eval_reflect(), and bsdf_principled_diffuse_sample().
ccl_device_inline float bsdf_principled_diffuse_compute_entry_fresnel | ( | const float | NdotV | ) |
Definition at line 90 of file bsdf_principled_diffuse.h.
References schlick_fresnel().
ccl_device float3 bsdf_principled_diffuse_eval_reflect | ( | ccl_private const ShaderClosure * | sc, |
const float3 | I, | ||
const float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 112 of file bsdf_principled_diffuse.h.
References bsdf_principled_diffuse_compute_brdf(), ccl_private, blender::math::dot(), fmaxf, I, L, M_1_PI_F, make_float3, N, and V.
Referenced by bsdf_eval().
ccl_device float3 bsdf_principled_diffuse_eval_transmit | ( | ccl_private const ShaderClosure * | sc, |
const float3 | I, | ||
const float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 133 of file bsdf_principled_diffuse.h.
References make_float3.
Referenced by bsdf_eval().
ccl_device_inline float bsdf_principled_diffuse_retro_reflection_sample_weight | ( | ccl_private PrincipledDiffuseBsdf * | bsdf, |
const float3 | I | ||
) |
Definition at line 98 of file bsdf_principled_diffuse.h.
References blender::math::dot(), I, and schlick_fresnel().
Referenced by bssrdf_setup().
ccl_device int bsdf_principled_diffuse_sample | ( | ccl_private const ShaderClosure * | sc, |
float3 | Ng, | ||
float3 | I, | ||
float3 | dIdx, | ||
float3 | dIdy, | ||
float | randu, | ||
float | randv, | ||
ccl_private float3 * | eval, | ||
ccl_private float3 * | omega_in, | ||
ccl_private float3 * | domega_in_dx, | ||
ccl_private float3 * | domega_in_dy, | ||
ccl_private float * | |||
) |
Definition at line 142 of file bsdf_principled_diffuse.h.
References bsdf_principled_diffuse_compute_brdf(), ccl_private, blender::math::dot(), I, LABEL_DIFFUSE, LABEL_REFLECT, make_float3, N, and sample_cos_hemisphere().
Referenced by bsdf_sample().
ccl_device int bsdf_principled_diffuse_setup | ( | ccl_private PrincipledDiffuseBsdf * | bsdf | ) |
Definition at line 38 of file bsdf_principled_diffuse.h.
References CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID, PRINCIPLED_DIFFUSE_FULL, SD_BSDF, and SD_BSDF_HAS_EVAL.
Referenced by bssrdf_setup(), and svm_node_closure_bsdf().
ccl_device int bsdf_principled_diffuse_setup | ( | ccl_private PrincipledDiffuseBsdf * | bsdf, |
int | components | ||
) |
Definition at line 104 of file bsdf_principled_diffuse.h.
References CLOSURE_BSDF_PRINCIPLED_DIFFUSE_ID, SD_BSDF, and SD_BSDF_HAS_EVAL.