Blender V2.61 - r43446
|
Go to the source code of this file.
Classes | |
struct | BsdfDiffuseClosure |
struct | BsdfTranslucentClosure |
Typedefs | |
typedef CCL_NAMESPACE_BEGIN struct BsdfDiffuseClosure | BsdfDiffuseClosure |
typedef struct BsdfTranslucentClosure | BsdfTranslucentClosure |
Functions | |
__device void | bsdf_diffuse_setup (ShaderData *sd, ShaderClosure *sc) |
__device void | bsdf_diffuse_blur (ShaderClosure *sc, float roughness) |
__device float3 | bsdf_diffuse_eval_reflect (const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) |
__device float3 | bsdf_diffuse_eval_transmit (const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) |
__device float | bsdf_diffuse_albedo (const ShaderData *sd, const ShaderClosure *sc, const float3 I) |
__device int | bsdf_diffuse_sample (const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) |
__device void | bsdf_translucent_setup (ShaderData *sd, ShaderClosure *sc) |
__device void | bsdf_translucent_blur (ShaderClosure *sc, float roughness) |
__device float3 | bsdf_translucent_eval_reflect (const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) |
__device float3 | bsdf_translucent_eval_transmit (const ShaderData *sd, const ShaderClosure *sc, const float3 I, const float3 omega_in, float *pdf) |
__device float | bsdf_translucent_albedo (const ShaderData *sd, const ShaderClosure *sc, const float3 I) |
__device int | bsdf_translucent_sample (const ShaderData *sd, const ShaderClosure *sc, float randu, float randv, float3 *eval, float3 *omega_in, float3 *domega_in_dx, float3 *domega_in_dy, float *pdf) |
typedef CCL_NAMESPACE_BEGIN struct BsdfDiffuseClosure BsdfDiffuseClosure |
typedef struct BsdfTranslucentClosure BsdfTranslucentClosure |
__device float bsdf_diffuse_albedo | ( | const ShaderData * | sd, |
const ShaderClosure * | sc, | ||
const float3 | I | ||
) |
Definition at line 68 of file bsdf_diffuse.h.
__device void bsdf_diffuse_blur | ( | ShaderClosure * | sc, |
float | roughness | ||
) |
Definition at line 50 of file bsdf_diffuse.h.
Referenced by svm_bsdf_blur().
__device float3 bsdf_diffuse_eval_reflect | ( | const ShaderData * | sd, |
const ShaderClosure * | sc, | ||
const float3 | I, | ||
const float3 | omega_in, | ||
float * | |||
) |
Definition at line 54 of file bsdf_diffuse.h.
References dot(), fmaxf, M_1_PI_F, make_float3(), and ShaderData::N.
Referenced by svm_bsdf_eval().
__device float3 bsdf_diffuse_eval_transmit | ( | const ShaderData * | sd, |
const ShaderClosure * | sc, | ||
const float3 | I, | ||
const float3 | omega_in, | ||
float * | |||
) |
Definition at line 63 of file bsdf_diffuse.h.
References make_float3().
Referenced by svm_bsdf_eval().
__device int bsdf_diffuse_sample | ( | const ShaderData * | sd, |
const ShaderClosure * | sc, | ||
float | randu, | ||
float | randv, | ||
float3 * | eval, | ||
float3 * | omega_in, | ||
float3 * | domega_in_dx, | ||
float3 * | domega_in_dy, | ||
float * | |||
) |
Definition at line 73 of file bsdf_diffuse.h.
References ShaderData::dI, dot(), differential3::dx, differential3::dy, LABEL_DIFFUSE, LABEL_REFLECT, make_float3(), ShaderData::N, ShaderData::Ng, and sample_cos_hemisphere().
Referenced by svm_bsdf_sample().
__device void bsdf_diffuse_setup | ( | ShaderData * | sd, |
ShaderClosure * | sc | ||
) |
Definition at line 44 of file bsdf_diffuse.h.
References CLOSURE_BSDF_DIFFUSE_ID, ShaderData::flag, SD_BSDF, SD_BSDF_HAS_EVAL, and ShaderClosure::type.
Referenced by shader_eval_surface(), and svm_node_closure_bsdf().
__device float bsdf_translucent_albedo | ( | const ShaderData * | sd, |
const ShaderClosure * | sc, | ||
const float3 | I | ||
) |
Definition at line 126 of file bsdf_diffuse.h.
__device void bsdf_translucent_blur | ( | ShaderClosure * | sc, |
float | roughness | ||
) |
Definition at line 108 of file bsdf_diffuse.h.
Referenced by svm_bsdf_blur().
__device float3 bsdf_translucent_eval_reflect | ( | const ShaderData * | sd, |
const ShaderClosure * | sc, | ||
const float3 | I, | ||
const float3 | omega_in, | ||
float * | |||
) |
Definition at line 112 of file bsdf_diffuse.h.
References make_float3().
Referenced by svm_bsdf_eval().
__device float3 bsdf_translucent_eval_transmit | ( | const ShaderData * | sd, |
const ShaderClosure * | sc, | ||
const float3 | I, | ||
const float3 | omega_in, | ||
float * | |||
) |
Definition at line 117 of file bsdf_diffuse.h.
References dot(), fmaxf, M_1_PI_F, make_float3(), and ShaderData::N.
Referenced by svm_bsdf_eval().
__device int bsdf_translucent_sample | ( | const ShaderData * | sd, |
const ShaderClosure * | sc, | ||
float | randu, | ||
float | randv, | ||
float3 * | eval, | ||
float3 * | omega_in, | ||
float3 * | domega_in_dx, | ||
float3 * | domega_in_dy, | ||
float * | |||
) |
Definition at line 131 of file bsdf_diffuse.h.
References ShaderData::dI, dot(), differential3::dx, differential3::dy, LABEL_DIFFUSE, LABEL_TRANSMIT, make_float3(), ShaderData::N, ShaderData::Ng, and sample_cos_hemisphere().
Referenced by svm_bsdf_sample().
__device void bsdf_translucent_setup | ( | ShaderData * | sd, |
ShaderClosure * | sc | ||
) |
Definition at line 102 of file bsdf_diffuse.h.
References CLOSURE_BSDF_TRANSLUCENT_ID, ShaderData::flag, SD_BSDF, SD_BSDF_HAS_EVAL, and ShaderClosure::type.
Referenced by svm_node_closure_bsdf().