Blender
V3.3
|
#include "kernel/film/accumulate.h"
#include "kernel/film/passes.h"
#include "kernel/integrator/mnee.h"
#include "kernel/integrator/path_state.h"
#include "kernel/integrator/shader_eval.h"
#include "kernel/integrator/subsurface.h"
#include "kernel/integrator/volume_stack.h"
#include "kernel/light/light.h"
#include "kernel/light/sample.h"
Go to the source code of this file.
ccl_device bool integrate_surface | ( | KernelGlobals | kg, |
IntegratorState | state, | ||
ccl_global float *ccl_restrict | render_buffer | ||
) |
Definition at line 529 of file shade_surface.h.
References integrate_surface_bsdf_bssrdf_bounce(), integrate_surface_shader_setup(), integrate_surface_terminate(), INTEGRATOR_STATE, INTEGRATOR_STATE_WRITE, kernel_data, KERNEL_FEATURE_AO, kernel_write_data_passes(), LABEL_TRANSMIT, lcg_state_init(), PATH_RAY_SUBSURFACE, path_state_rng_load(), PROFILING_EVENT, PROFILING_INIT_FOR_SHADER, PROFILING_SHADE_SURFACE_AO, PROFILING_SHADE_SURFACE_DIRECT_LIGHT, PROFILING_SHADE_SURFACE_EVAL, PROFILING_SHADE_SURFACE_INDIRECT_LIGHT, PROFILING_SHADE_SURFACE_PASSES, PROFILING_SHADE_SURFACE_SETUP, PROFILING_SHADER, render_buffer, sample, SD_BSDF_NEEDS_LCG, SD_EMISSION, SD_HAS_BSSRDF_BUMP, SD_HAS_ONLY_VOLUME, shader_prepare_surface_closures(), ShaderData, state, and volume_stack_enter_exit().
ccl_device_forceinline int integrate_surface_bsdf_bssrdf_bounce | ( | KernelGlobals | kg, |
IntegratorState | state, | ||
ccl_private ShaderData * | sd, | ||
ccl_private const RNGState * | rng_state | ||
) |
Definition at line 338 of file shade_surface.h.
References bsdf_eval(), bsdf_eval_is_zero(), bsdf_eval_pass_diffuse_weight(), bsdf_eval_pass_glossy_weight(), bsdf_eval_sum(), ccl_optional_struct_init, ccl_private, CLOSURE_IS_BSSRDF, D(), differential_make_compact(), fminf, integrate_surface_ray_offset(), INTEGRATOR_STATE, INTEGRATOR_STATE_WRITE, intersection_t_offset(), kernel_data, KERNEL_FEATURE_LIGHT_PASSES, label, LABEL_NONE, LABEL_TRANSPARENT, blender::math::normalize(), P(), path_state_next(), path_state_rng_2D(), PRNG_BSDF_U, SD_BSDF, SD_BSSRDF, shader_bsdf_bssrdf_pick(), shader_bsdf_sample_closure(), ShaderClosure, and state.
Referenced by integrate_surface().
ccl_device_forceinline float3 integrate_surface_ray_offset | ( | KernelGlobals | kg, |
const ccl_private ShaderData * | sd, | ||
const float3 | ray_P, | ||
const float3 | ray_D | ||
) |
Definition at line 34 of file shade_surface.h.
References kernel_data_fetch, object_get_inverse_transform(), PRIMITIVE_TRIANGLE, ray_offset(), ray_triangle_intersect_self(), SD_OBJECT_TRANSFORM_APPLIED, transform_direction(), and transform_point().
Referenced by integrate_surface_bsdf_bssrdf_bounce().
CCL_NAMESPACE_BEGIN ccl_device_forceinline void integrate_surface_shader_setup | ( | KernelGlobals | kg, |
ConstIntegratorState | state, | ||
ccl_private ShaderData * | sd | ||
) |
Definition at line 21 of file shade_surface.h.
References ccl_optional_struct_init, integrator_state_read_isect(), integrator_state_read_ray(), shader_setup_from_ray(), and state.
Referenced by integrate_surface().
ccl_device_forceinline bool integrate_surface_terminate | ( | IntegratorState | state, |
const uint32_t | path_flag | ||
) |
Definition at line 431 of file shade_surface.h.
References INTEGRATOR_STATE, INTEGRATOR_STATE_WRITE, PATH_RAY_TERMINATE_ON_NEXT_SURFACE, and state.
Referenced by integrate_surface().
ccl_device_forceinline void integrator_shade_surface | ( | KernelGlobals | kg, |
IntegratorState | state, | ||
ccl_global float *ccl_restrict | render_buffer | ||
) |
Definition at line 654 of file shade_surface.h.
References DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST, DEVICE_KERNEL_INTEGRATOR_INTERSECT_SUBSURFACE, integrator_path_next(), integrator_path_terminate(), INTEGRATOR_STATE, kernel_assert, PATH_RAY_SUBSURFACE, render_buffer, and state.
Referenced by integrator_megakernel(), integrator_shade_surface_mnee(), and integrator_shade_surface_raytrace().
ccl_device_forceinline void integrator_shade_surface_mnee | ( | KernelGlobals | kg, |
IntegratorState | state, | ||
ccl_global float *ccl_restrict | render_buffer | ||
) |
Definition at line 681 of file shade_surface.h.
References DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_MNEE, integrator_shade_surface(), KERNEL_FEATURE_MNEE, KERNEL_FEATURE_NODE_MASK_SURFACE, KERNEL_FEATURE_NODE_RAYTRACE, render_buffer, and state.
Referenced by integrator_megakernel().
ccl_device_forceinline void integrator_shade_surface_raytrace | ( | KernelGlobals | kg, |
IntegratorState | state, | ||
ccl_global float *ccl_restrict | render_buffer | ||
) |
Definition at line 673 of file shade_surface.h.
References DEVICE_KERNEL_INTEGRATOR_SHADE_SURFACE_RAYTRACE, integrator_shade_surface(), KERNEL_FEATURE_NODE_MASK_SURFACE, render_buffer, and state.
Referenced by integrator_megakernel().