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

Go to the source code of this file.

Classes

struct  PrincipledDiffuseBsdf
 

Functions

ccl_device float3 calculate_principled_diffuse_brdf (const PrincipledDiffuseBsdf *bsdf, float3 N, float3 V, float3 L, float3 H, float *pdf)
 
ccl_device int bsdf_principled_diffuse_setup (PrincipledDiffuseBsdf *bsdf)
 
ccl_device bool bsdf_principled_diffuse_merge (const ShaderClosure *a, const ShaderClosure *b)
 
ccl_device float3 bsdf_principled_diffuse_eval_reflect (const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf)
 
ccl_device float3 bsdf_principled_diffuse_eval_transmit (const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf)
 
ccl_device int bsdf_principled_diffuse_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 PrincipledDiffuseBsdf PrincipledDiffuseBsdf
 

Function Documentation

◆ bsdf_principled_diffuse_eval_reflect()

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

Definition at line 72 of file bsdf_principled_diffuse.h.

References calculate_principled_diffuse_brdf(), dot(), fmaxf, H, I, L, M_1_PI_F, make_float3, N, normalize(), and V.

Referenced by bsdf_eval().

◆ bsdf_principled_diffuse_eval_transmit()

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

Definition at line 94 of file bsdf_principled_diffuse.h.

References make_float3.

Referenced by bsdf_eval().

◆ bsdf_principled_diffuse_merge()

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

Definition at line 64 of file bsdf_principled_diffuse.h.

References Freestyle::a, isequal_float3(), and PrincipledDiffuseBsdf::roughness.

Referenced by bsdf_merge().

◆ bsdf_principled_diffuse_sample()

ccl_device int bsdf_principled_diffuse_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_principled_diffuse_setup()

ccl_device int bsdf_principled_diffuse_setup ( PrincipledDiffuseBsdf bsdf)

◆ calculate_principled_diffuse_brdf()

ccl_device float3 calculate_principled_diffuse_brdf ( const PrincipledDiffuseBsdf bsdf,
float3  N,
float3  V,
float3  L,
float3  H,
float pdf 
)

Variable Documentation

◆ PrincipledDiffuseBsdf