Blender  V3.3
Classes | Typedefs | Functions
bsdf_diffuse.h File Reference
#include "kernel/sample/mapping.h"

Go to the source code of this file.

Classes

struct  DiffuseBsdf
 

Typedefs

typedef CCL_NAMESPACE_BEGIN struct DiffuseBsdf DiffuseBsdf
 

Functions

ccl_device int bsdf_diffuse_setup (ccl_private DiffuseBsdf *bsdf)
 
ccl_device float3 bsdf_diffuse_eval_reflect (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf)
 
ccl_device float3 bsdf_diffuse_eval_transmit (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf)
 
ccl_device int bsdf_diffuse_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)
 
ccl_device int bsdf_translucent_setup (ccl_private DiffuseBsdf *bsdf)
 
ccl_device float3 bsdf_translucent_eval_reflect (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf)
 
ccl_device float3 bsdf_translucent_eval_transmit (ccl_private const ShaderClosure *sc, const float3 I, const float3 omega_in, ccl_private float *pdf)
 
ccl_device int bsdf_translucent_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 Documentation

◆ DiffuseBsdf

Function Documentation

◆ bsdf_diffuse_eval_reflect()

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

Definition at line 29 of file bsdf_diffuse.h.

References ccl_private, blender::math::dot(), fmaxf, M_1_PI_F, make_float3, and N.

Referenced by bsdf_eval().

◆ bsdf_diffuse_eval_transmit()

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

Definition at line 42 of file bsdf_diffuse.h.

References make_float3.

Referenced by bsdf_eval().

◆ bsdf_diffuse_sample()

ccl_device int bsdf_diffuse_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_diffuse_setup()

ccl_device int bsdf_diffuse_setup ( ccl_private DiffuseBsdf bsdf)

◆ bsdf_translucent_eval_reflect()

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

Definition at line 93 of file bsdf_diffuse.h.

References make_float3.

Referenced by bsdf_eval().

◆ bsdf_translucent_eval_transmit()

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

Definition at line 102 of file bsdf_diffuse.h.

References ccl_private, blender::math::dot(), fmaxf, M_1_PI_F, make_float3, and N.

Referenced by bsdf_eval().

◆ bsdf_translucent_sample()

ccl_device int bsdf_translucent_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_translucent_setup()

ccl_device int bsdf_translucent_setup ( ccl_private DiffuseBsdf bsdf)

Definition at line 87 of file bsdf_diffuse.h.

References CLOSURE_BSDF_TRANSLUCENT_ID, SD_BSDF, and SD_BSDF_HAS_EVAL.

Referenced by svm_node_closure_bsdf().