Blender  V2.93
Classes | Functions | Variables
bsdf_ashikhmin_velvet.h File Reference

Go to the source code of this file.

Classes

struct  VelvetBsdf
 

Functions

ccl_device int bsdf_ashikhmin_velvet_setup (VelvetBsdf *bsdf)
 
ccl_device bool bsdf_ashikhmin_velvet_merge (const ShaderClosure *a, const ShaderClosure *b)
 
ccl_device float3 bsdf_ashikhmin_velvet_eval_reflect (const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf)
 
ccl_device float3 bsdf_ashikhmin_velvet_eval_transmit (const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf)
 
ccl_device int bsdf_ashikhmin_velvet_sample (const ShaderClosure *sc, float3 Ng, float3 I, float3 dIdx, float3 dIdy, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf)
 

Variables

CCL_NAMESPACE_BEGIN typedef ccl_addr_space struct VelvetBsdf VelvetBsdf
 

Function Documentation

◆ bsdf_ashikhmin_velvet_eval_reflect()

ccl_device float3 bsdf_ashikhmin_velvet_eval_reflect ( const ShaderClosure sc,
const float3  I,
const float3  omega_in,
float pdf 
)

Definition at line 65 of file bsdf_ashikhmin_velvet.h.

References D(), dot(), expf, fabsf, fmaxf, G, H, I, VelvetBsdf::invsigma2, M_1_PI_F, make_float3, min, N, and normalize().

Referenced by bsdf_eval().

◆ bsdf_ashikhmin_velvet_eval_transmit()

ccl_device float3 bsdf_ashikhmin_velvet_eval_transmit ( const ShaderClosure sc,
const float3  I,
const float3  omega_in,
float pdf 
)

Definition at line 107 of file bsdf_ashikhmin_velvet.h.

References make_float3.

Referenced by bsdf_eval().

◆ bsdf_ashikhmin_velvet_merge()

ccl_device bool bsdf_ashikhmin_velvet_merge ( const ShaderClosure a,
const ShaderClosure b 
)

Definition at line 57 of file bsdf_ashikhmin_velvet.h.

References Freestyle::a, isequal_float3(), and VelvetBsdf::sigma.

Referenced by bsdf_merge().

◆ bsdf_ashikhmin_velvet_sample()

ccl_device int bsdf_ashikhmin_velvet_sample ( const ShaderClosure sc,
float3  Ng,
float3  I,
float3  dIdx,
float3  dIdy,
float  randu,
float  randv,
float3 eval,
float3 omega_in,
float3 domega_in_dx,
float3 domega_in_dy,
float pdf 
)

◆ bsdf_ashikhmin_velvet_setup()

ccl_device int bsdf_ashikhmin_velvet_setup ( VelvetBsdf bsdf)

Variable Documentation

◆ VelvetBsdf