Blender V2.61 - r43446
Functions

kernel_shader.h File Reference

#include "svm/bsdf.h"
#include "svm/emissive.h"
#include "svm/volume.h"
#include "svm/svm_bsdf.h"
#include "svm/svm.h"

Go to the source code of this file.

Functions

CCL_NAMESPACE_BEGIN
__device_inline void 
shader_setup_from_ray (KernelGlobals *kg, ShaderData *sd, const Intersection *isect, const Ray *ray)
__device void shader_setup_from_sample (KernelGlobals *kg, ShaderData *sd, const float3 P, const float3 Ng, const float3 I, int shader, int object, int prim, float u, float v)
__device void shader_setup_from_displace (KernelGlobals *kg, ShaderData *sd, int object, int prim, float u, float v)
__device_inline void shader_setup_from_background (KernelGlobals *kg, ShaderData *sd, const Ray *ray)
__device float3 shader_bsdf_eval (KernelGlobals *kg, const ShaderData *sd, const float3 omega_in, float *pdf)
__device int shader_bsdf_sample (KernelGlobals *kg, const ShaderData *sd, float randu, float randv, float3 *eval, float3 *omega_in, differential3 *domega_in, float *pdf)
__device void shader_bsdf_blur (KernelGlobals *kg, ShaderData *sd, float roughness)
__device float3 shader_bsdf_transparency (KernelGlobals *kg, ShaderData *sd)
__device float3 shader_emissive_eval (KernelGlobals *kg, ShaderData *sd)
__device float3 shader_holdout_eval (KernelGlobals *kg, ShaderData *sd)
__device void shader_eval_surface (KernelGlobals *kg, ShaderData *sd, float randb, int path_flag)
__device float3 shader_eval_background (KernelGlobals *kg, ShaderData *sd, int path_flag)
__device float3 shader_volume_eval_phase (KernelGlobals *kg, ShaderData *sd, float3 omega_in, float3 omega_out)
__device void shader_eval_volume (KernelGlobals *kg, ShaderData *sd, float randb, int path_flag)
__device void shader_eval_displacement (KernelGlobals *kg, ShaderData *sd)
__device void shader_release (KernelGlobals *kg, ShaderData *sd)

Function Documentation

__device void shader_bsdf_blur ( KernelGlobals *  kg,
ShaderData sd,
float  roughness 
)
__device float3 shader_bsdf_eval ( KernelGlobals *  kg,
const ShaderData sd,
const float3  omega_in,
float *  pdf 
)

Definition at line 310 of file kernel_shader.h.

References ShaderData::closure, make_float3(), svm_bsdf_eval(), and ShaderClosure::weight.

Referenced by direct_emission().

__device int shader_bsdf_sample ( KernelGlobals *  kg,
const ShaderData sd,
float  randu,
float  randv,
float3 eval,
float3 omega_in,
differential3 domega_in,
float *  pdf 
)
__device float3 shader_bsdf_transparency ( KernelGlobals *  kg,
ShaderData sd 
)
__device float3 shader_emissive_eval ( KernelGlobals *  kg,
ShaderData sd 
)
__device float3 shader_eval_background ( KernelGlobals *  kg,
ShaderData sd,
int  path_flag 
)
__device void shader_eval_displacement ( KernelGlobals *  kg,
ShaderData sd 
)

Definition at line 571 of file kernel_shader.h.

References SHADER_TYPE_DISPLACEMENT, and svm_eval_nodes().

Referenced by kernel_shader_evaluate().

__device void shader_eval_surface ( KernelGlobals *  kg,
ShaderData sd,
float  randb,
int  path_flag 
)
__device void shader_eval_volume ( KernelGlobals *  kg,
ShaderData sd,
float  randb,
int  path_flag 
)

Definition at line 557 of file kernel_shader.h.

References SHADER_TYPE_VOLUME, and svm_eval_nodes().

__device float3 shader_holdout_eval ( KernelGlobals *  kg,
ShaderData sd 
)
__device void shader_release ( KernelGlobals *  kg,
ShaderData sd 
)

Definition at line 599 of file kernel_shader.h.

Referenced by direct_emissive_eval(), and kernel_path_integrate().

__device_inline void shader_setup_from_background ( KernelGlobals *  kg,
ShaderData sd,
const Ray ray 
)
__device void shader_setup_from_displace ( KernelGlobals *  kg,
ShaderData sd,
int  object,
int  prim,
float  u,
float  v 
)
CCL_NAMESPACE_BEGIN __device_inline void shader_setup_from_ray ( KernelGlobals *  kg,
ShaderData sd,
const Intersection isect,
const Ray ray 
)
__device void shader_setup_from_sample ( KernelGlobals *  kg,
ShaderData sd,
const float3  P,
const float3  Ng,
const float3  I,
int  shader,
int  object,
int  prim,
float  u,
float  v 
)
__device float3 shader_volume_eval_phase ( KernelGlobals *  kg,
ShaderData sd,
float3  omega_in,
float3  omega_out 
)