Blender
V3.3
|
#include "kernel/sample/mapping.h"
Go to the source code of this file.
Classes | |
struct | VelvetBsdf |
Typedefs | |
typedef CCL_NAMESPACE_BEGIN struct VelvetBsdf | VelvetBsdf |
Functions | |
ccl_device int | bsdf_ashikhmin_velvet_setup (ccl_private VelvetBsdf *bsdf) |
ccl_device float3 | bsdf_ashikhmin_velvet_eval_reflect (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf) |
ccl_device float3 | bsdf_ashikhmin_velvet_eval_transmit (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf) |
ccl_device int | bsdf_ashikhmin_velvet_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 VelvetBsdf VelvetBsdf |
ccl_device float3 bsdf_ashikhmin_velvet_eval_reflect | ( | ccl_private const ShaderClosure * | sc, |
const float3 | I, | ||
const float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 34 of file bsdf_ashikhmin_velvet.h.
References ccl_private, D(), blender::math::dot(), expf, fabsf, fmaxf, fminf, G, H, I, VelvetBsdf::invsigma2, M_1_PI_F, make_float3, N, blender::math::normalize(), and usdtokens::out().
Referenced by bsdf_eval().
ccl_device float3 bsdf_ashikhmin_velvet_eval_transmit | ( | ccl_private const ShaderClosure * | sc, |
const float3 | I, | ||
const float3 | omega_in, | ||
ccl_private float * | |||
) |
Definition at line 78 of file bsdf_ashikhmin_velvet.h.
References make_float3.
Referenced by bsdf_eval().
ccl_device int bsdf_ashikhmin_velvet_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 87 of file bsdf_ashikhmin_velvet.h.
References ccl_private, D(), blender::math::dot(), expf, fabsf, fmaxf, fminf, G, H, I, VelvetBsdf::invsigma2, LABEL_DIFFUSE, LABEL_REFLECT, M_1_PI_F, make_float3, N, blender::math::normalize(), and sample_uniform_hemisphere().
Referenced by bsdf_sample().
ccl_device int bsdf_ashikhmin_velvet_setup | ( | ccl_private VelvetBsdf * | bsdf | ) |
Definition at line 24 of file bsdf_ashikhmin_velvet.h.
References CLOSURE_BSDF_ASHIKHMIN_VELVET_ID, fmaxf, SD_BSDF, and SD_BSDF_HAS_EVAL.
Referenced by svm_node_closure_bsdf().