Blender  V3.3
Functions
bsdf_ashikhmin_shirley.h File Reference

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN ccl_device int bsdf_ashikhmin_shirley_setup (ccl_private MicrofacetBsdf *bsdf)
 
ccl_device void bsdf_ashikhmin_shirley_blur (ccl_private ShaderClosure *sc, float roughness)
 
ccl_device_inline float bsdf_ashikhmin_shirley_roughness_to_exponent (float roughness)
 
ccl_device_forceinline float3 bsdf_ashikhmin_shirley_eval_reflect (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf)
 
ccl_device float3 bsdf_ashikhmin_shirley_eval_transmit (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf)
 
ccl_device_inline void bsdf_ashikhmin_shirley_sample_first_quadrant (float n_x, float n_y, float randu, float randv, ccl_private float *phi, ccl_private float *cos_theta)
 
ccl_device int bsdf_ashikhmin_shirley_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)
 

Function Documentation

◆ bsdf_ashikhmin_shirley_blur()

ccl_device void bsdf_ashikhmin_shirley_blur ( ccl_private ShaderClosure sc,
float  roughness 
)

Definition at line 29 of file bsdf_ashikhmin_shirley.h.

References MicrofacetBsdf::alpha_x, ccl_private, fmaxf, and usdtokens::roughness().

Referenced by bsdf_blur().

◆ bsdf_ashikhmin_shirley_eval_reflect()

ccl_device_forceinline float3 bsdf_ashikhmin_shirley_eval_reflect ( ccl_private const ShaderClosure sc,
const float3  I,
const float3  omega_in,
ccl_private float pdf 
)

◆ bsdf_ashikhmin_shirley_eval_transmit()

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

Definition at line 111 of file bsdf_ashikhmin_shirley.h.

References make_float3.

Referenced by bsdf_eval().

◆ bsdf_ashikhmin_shirley_roughness_to_exponent()

ccl_device_inline float bsdf_ashikhmin_shirley_roughness_to_exponent ( float  roughness)

◆ bsdf_ashikhmin_shirley_sample()

ccl_device int bsdf_ashikhmin_shirley_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 
)

◆ bsdf_ashikhmin_shirley_sample_first_quadrant()

ccl_device_inline void bsdf_ashikhmin_shirley_sample_first_quadrant ( float  n_x,
float  n_y,
float  randu,
float  randv,
ccl_private float phi,
ccl_private float cos_theta 
)

Definition at line 120 of file bsdf_ashikhmin_shirley.h.

References atanf, cosf, M_PI_2_F, powf, sinf, sqrtf, and tanf.

Referenced by bsdf_ashikhmin_shirley_sample().

◆ bsdf_ashikhmin_shirley_setup()

CCL_NAMESPACE_BEGIN ccl_device int bsdf_ashikhmin_shirley_setup ( ccl_private MicrofacetBsdf bsdf)