Blender
V3.3
|
#include "kernel/closure/bsdf_util.h"
Go to the source code of this file.
Classes | |
struct | PrincipledSheenBsdf |
Typedefs | |
typedef CCL_NAMESPACE_BEGIN struct PrincipledSheenBsdf | PrincipledSheenBsdf |
Functions | |
ccl_device_inline float | calculate_avg_principled_sheen_brdf (float3 N, float3 I) |
ccl_device float3 | calculate_principled_sheen_brdf (float3 N, float3 V, float3 L, float3 H, ccl_private float *pdf) |
ccl_device int | bsdf_principled_sheen_setup (ccl_private const ShaderData *sd, ccl_private PrincipledSheenBsdf *bsdf) |
ccl_device float3 | bsdf_principled_sheen_eval_reflect (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf) |
ccl_device float3 | bsdf_principled_sheen_eval_transmit (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf) |
ccl_device int | bsdf_principled_sheen_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 *pdf) |
typedef CCL_NAMESPACE_BEGIN struct PrincipledSheenBsdf PrincipledSheenBsdf |
ccl_device float3 bsdf_principled_sheen_eval_reflect | ( | ccl_private const ShaderClosure * | sc, |
const float3 | I, | ||
const float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 62 of file bsdf_principled_sheen.h.
References calculate_principled_sheen_brdf(), ccl_private, blender::math::dot(), fmaxf, H, I, L, M_1_PI_F, make_float3, N, blender::math::normalize(), and V.
Referenced by bsdf_eval().
ccl_device float3 bsdf_principled_sheen_eval_transmit | ( | ccl_private const ShaderClosure * | sc, |
const float3 | I, | ||
const float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 84 of file bsdf_principled_sheen.h.
References make_float3.
Referenced by bsdf_eval().
ccl_device int bsdf_principled_sheen_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 93 of file bsdf_principled_sheen.h.
References calculate_principled_sheen_brdf(), ccl_private, blender::math::dot(), H, I, LABEL_DIFFUSE, LABEL_REFLECT, make_float3, N, blender::math::normalize(), and sample_cos_hemisphere().
Referenced by bsdf_sample().
ccl_device int bsdf_principled_sheen_setup | ( | ccl_private const ShaderData * | sd, |
ccl_private PrincipledSheenBsdf * | bsdf | ||
) |
Definition at line 53 of file bsdf_principled_sheen.h.
References calculate_avg_principled_sheen_brdf(), CLOSURE_BSDF_PRINCIPLED_SHEEN_ID, SD_BSDF, and SD_BSDF_HAS_EVAL.
Referenced by PrincipledSheenClosure::setup(), and svm_node_closure_bsdf().
ccl_device_inline float calculate_avg_principled_sheen_brdf | ( | float3 | N, |
float3 | I | ||
) |
Definition at line 23 of file bsdf_principled_sheen.h.
References blender::math::dot(), I, N, and schlick_fresnel().
Referenced by bsdf_principled_sheen_setup().
ccl_device float3 calculate_principled_sheen_brdf | ( | float3 | N, |
float3 | V, | ||
float3 | L, | ||
float3 | H, | ||
ccl_private float * | |||
) |
Definition at line 36 of file bsdf_principled_sheen.h.
References blender::math::dot(), H, L, make_float3, N, schlick_fresnel(), and V.
Referenced by bsdf_principled_sheen_eval_reflect(), and bsdf_principled_sheen_sample().