Blender V2.61 - r43446
|
#include "kernel_differential.h"
#include "kernel_montecarlo.h"
#include "kernel_triangle.h"
#include "kernel_object.h"
#include "kernel_bvh.h"
#include "kernel_camera.h"
#include "kernel_shader.h"
#include "kernel_light.h"
#include "kernel_emission.h"
#include "kernel_random.h"
Go to the source code of this file.
Classes | |
struct | PathState |
Typedefs | |
typedef CCL_NAMESPACE_BEGIN struct PathState | PathState |
Functions | |
__device_inline void | path_state_init (PathState *state) |
__device_inline void | path_state_next (KernelGlobals *kg, PathState *state, int label) |
__device_inline uint | path_state_ray_visibility (KernelGlobals *kg, PathState *state) |
__device_inline float | path_state_terminate_probability (KernelGlobals *kg, PathState *state, const float3 throughput) |
__device_inline bool | shadow_blocked (KernelGlobals *kg, PathState *state, Ray *ray, Intersection *isect, float3 *light_L) |
__device float4 | kernel_path_integrate (KernelGlobals *kg, RNG *rng, int sample, Ray ray, float3 throughput) |
__device void | kernel_path_trace (KernelGlobals *kg, __global float4 *buffer, __global uint *rng_state, int sample, int x, int y, int offset, int stride) |
__device float4 kernel_path_integrate | ( | KernelGlobals * | kg, |
RNG * | rng, | ||
int | sample, | ||
Ray | ray, | ||
float3 | throughput | ||
) |
Definition at line 237 of file kernel_path.h.
References average(), Ray::D, Ray::dD, direct_emission(), ShaderData::dP, Ray::dP, PathState::flag, ShaderData::flag, FLT_MAX, i, indirect_emission(), is_zero(), kernel_data, L, label(), LABEL_TRANSMIT, make_float3(), make_float4(), ShaderData::Ng, Ray::P, ShaderData::P, PATH_RAY_CAMERA, path_rng(), path_state_init(), path_state_next(), path_state_ray_visibility(), path_state_terminate_probability(), PRNG_BASE_NUM, PRNG_BOUNCE_NUM, PRNG_BSDF, PRNG_BSDF_U, PRNG_BSDF_V, PRNG_LIGHT, PRNG_LIGHT_F, PRNG_LIGHT_U, PRNG_LIGHT_V, PRNG_TERMINATE, ray_offset(), scene_intersect(), SD_BSDF, SD_BSDF_HAS_EVAL, SD_EMISSION, SD_HOLDOUT, shader_bsdf_sample(), shader_eval_background(), shader_eval_surface(), shader_holdout_eval(), shader_release(), shader_setup_from_background(), shader_setup_from_ray(), shadow_blocked(), state, Intersection::t, Ray::t, float3::x, float3::y, and float3::z.
Referenced by kernel_path_trace().
__device void kernel_path_trace | ( | KernelGlobals * | kg, |
__global float4 * | buffer, | ||
__global uint * | rng_state, | ||
int | sample, | ||
int | x, | ||
int | y, | ||
int | offset, | ||
int | stride | ||
) |
Definition at line 385 of file kernel_path.h.
References camera_sample(), kernel_path_integrate(), L, make_float3(), path_rng(), path_rng_end(), path_rng_init(), PRNG_LENS_U, and PRNG_LENS_V.
Referenced by kernel_cpu_path_trace().
__device_inline void path_state_init | ( | PathState * | state | ) |
Definition at line 71 of file kernel_path.h.
References PathState::bounce, PathState::diffuse_bounce, PathState::flag, PathState::glossy_bounce, PATH_RAY_CAMERA, PATH_RAY_MIS_SKIP, PATH_RAY_SINGULAR, PathState::transmission_bounce, and PathState::transparent_bounce.
Referenced by kernel_path_integrate().
__device_inline void path_state_next | ( | KernelGlobals * | kg, |
PathState * | state, | ||
int | label | ||
) |
Definition at line 81 of file kernel_path.h.
References PathState::bounce, PathState::diffuse_bounce, PathState::flag, PathState::glossy_bounce, kernel_assert, kernel_data, LABEL_DIFFUSE, LABEL_GLOSSY, LABEL_REFLECT, LABEL_SINGULAR, LABEL_TRANSMIT, LABEL_TRANSPARENT, PATH_RAY_CAMERA, PATH_RAY_DIFFUSE, PATH_RAY_GLOSSY, PATH_RAY_MIS_SKIP, PATH_RAY_REFLECT, PATH_RAY_SINGULAR, PATH_RAY_TRANSMIT, PATH_RAY_TRANSPARENT, PathState::transmission_bounce, and PathState::transparent_bounce.
Referenced by kernel_path_integrate().
Definition at line 133 of file kernel_path.h.
References PathState::flag, kernel_data, PATH_RAY_CAMERA, PATH_RAY_DIFFUSE, PATH_RAY_GLOSSY, and PATH_RAY_TRANSMIT.
Referenced by kernel_path_integrate().
__device_inline float path_state_terminate_probability | ( | KernelGlobals * | kg, |
PathState * | state, | ||
const float3 | throughput | ||
) |
Definition at line 147 of file kernel_path.h.
References average(), PathState::bounce, PathState::diffuse_bounce, PathState::flag, PathState::glossy_bounce, kernel_data, PATH_RAY_TRANSPARENT, PathState::transmission_bounce, and PathState::transparent_bounce.
Referenced by kernel_path_integrate().
__device_inline bool shadow_blocked | ( | KernelGlobals * | kg, |
PathState * | state, | ||
Ray * | ray, | ||
Intersection * | isect, | ||
float3 * | light_L | ||
) |
Definition at line 171 of file kernel_path.h.
References average(), Ray::D, FLT_MAX, kernel_data, make_float3(), ShaderData::Ng, normalize_len(), Ray::P, ShaderData::P, PATH_RAY_SHADOW, PATH_RAY_SHADOW_OPAQUE, PATH_RAY_SHADOW_TRANSPARENT, ray_offset(), scene_intersect(), shader_bsdf_transparency(), shader_eval_surface(), shader_setup_from_ray(), Ray::t, and PathState::transparent_bounce.
Referenced by kernel_path_integrate().