Blender V4.3
guiding.h File Reference

Go to the source code of this file.

Classes

struct  GuidingRISSample
 

Functions

ccl_device_forceinline bool calculate_ris_target (ccl_private GuidingRISSample *ris_sample, ccl_private const float guiding_sampling_prob)
 
ccl_device_forceinline void guiding_record_surface_segment (KernelGlobals kg, IntegratorState state, ccl_private const ShaderData *sd)
 
ccl_device_forceinline void guiding_record_surface_bounce (KernelGlobals kg, IntegratorState state, ccl_private const ShaderData *sd, const Spectrum weight, const float pdf, const float3 N, const float3 wo, const float2 roughness, const float eta)
 
ccl_device_forceinline void guiding_record_surface_emission (KernelGlobals kg, IntegratorState state, const Spectrum Le, const float mis_weight)
 
ccl_device_forceinline void guiding_record_bssrdf_segment (KernelGlobals kg, IntegratorState state, const float3 P, const float3 wi)
 
ccl_device_forceinline void guiding_record_bssrdf_weight (KernelGlobals kg, IntegratorState state, const Spectrum weight, const Spectrum albedo)
 
ccl_device_forceinline void guiding_record_bssrdf_bounce (KernelGlobals kg, IntegratorState state, const float pdf, const float3 N, const float3 wo, const Spectrum weight, const Spectrum albedo)
 
ccl_device_forceinline void guiding_record_volume_segment (KernelGlobals kg, IntegratorState state, const float3 P, const float3 I)
 
ccl_device_forceinline void guiding_record_volume_bounce (KernelGlobals kg, IntegratorState state, ccl_private const ShaderData *sd, const Spectrum weight, const float pdf, const float3 wo, const float roughness)
 
ccl_device_forceinline void guiding_record_volume_transmission (KernelGlobals kg, IntegratorState state, const float3 transmittance_weight)
 
ccl_device_forceinline void guiding_record_volume_emission (KernelGlobals kg, IntegratorState state, const Spectrum Le)
 
ccl_device_forceinline void guiding_record_light_surface_segment (KernelGlobals kg, IntegratorState state, ccl_private const Intersection *ccl_restrict isect)
 
ccl_device_forceinline void guiding_record_background (KernelGlobals kg, IntegratorState state, const Spectrum L, const float mis_weight)
 
ccl_device_forceinline void guiding_record_direct_light (KernelGlobals kg, IntegratorShadowState state)
 
ccl_device_forceinline void guiding_record_continuation_probability (KernelGlobals kg, IntegratorState state, const float continuation_probability)
 
ccl_device_forceinline void guiding_write_debug_passes (KernelGlobals kg, IntegratorState state, ccl_private const ShaderData *sd, ccl_global float *ccl_restrict render_buffer)
 
ccl_device_forceinline bool guiding_bsdf_init (KernelGlobals kg, IntegratorState state, const float3 P, const float3 N, ccl_private float &rand)
 
ccl_device_forceinline float guiding_bsdf_sample (KernelGlobals kg, IntegratorState state, const float2 rand_bsdf, ccl_private float3 *wo)
 
ccl_device_forceinline float guiding_bsdf_pdf (KernelGlobals kg, IntegratorState state, const float3 wo)
 
ccl_device_forceinline float guiding_surface_incoming_radiance_pdf (KernelGlobals kg, IntegratorState state, const float3 wo)
 
ccl_device_forceinline bool guiding_phase_init (KernelGlobals kg, IntegratorState state, const float3 P, const float3 D, const float g, ccl_private float &rand)
 
ccl_device_forceinline float guiding_phase_sample (KernelGlobals kg, IntegratorState state, const float2 rand_phase, ccl_private float3 *wo)
 
ccl_device_forceinline float guiding_phase_pdf (KernelGlobals kg, IntegratorState state, const float3 wo)
 

Function Documentation

◆ calculate_ris_target()

ccl_device_forceinline bool calculate_ris_target ( ccl_private GuidingRISSample * ris_sample,
ccl_private const float guiding_sampling_prob )

Definition at line 34 of file kernel/integrator/guiding.h.

References M_PI_F.

◆ guiding_bsdf_init()

ccl_device_forceinline bool guiding_bsdf_init ( KernelGlobals kg,
IntegratorState state,
const float3 P,
const float3 N,
ccl_private float & rand )

Definition at line 505 of file kernel/integrator/guiding.h.

References N, and P.

◆ guiding_bsdf_pdf()

ccl_device_forceinline float guiding_bsdf_pdf ( KernelGlobals kg,
IntegratorState state,
const float3 wo )

Definition at line 539 of file kernel/integrator/guiding.h.

Referenced by surface_shader_bsdf_eval().

◆ guiding_bsdf_sample()

ccl_device_forceinline float guiding_bsdf_sample ( KernelGlobals kg,
IntegratorState state,
const float2 rand_bsdf,
ccl_private float3 * wo )

Definition at line 523 of file kernel/integrator/guiding.h.

References make_float3(), float2::x, and float2::y.

◆ guiding_phase_init()

ccl_device_forceinline bool guiding_phase_init ( KernelGlobals kg,
IntegratorState state,
const float3 P,
const float3 D,
const float g,
ccl_private float & rand )

Definition at line 563 of file kernel/integrator/guiding.h.

References fabsf, and P.

◆ guiding_phase_pdf()

ccl_device_forceinline float guiding_phase_pdf ( KernelGlobals kg,
IntegratorState state,
const float3 wo )

Definition at line 604 of file kernel/integrator/guiding.h.

◆ guiding_phase_sample()

ccl_device_forceinline float guiding_phase_sample ( KernelGlobals kg,
IntegratorState state,
const float2 rand_phase,
ccl_private float3 * wo )

Definition at line 588 of file kernel/integrator/guiding.h.

References make_float3(), float2::x, and float2::y.

◆ guiding_record_background()

ccl_device_forceinline void guiding_record_background ( KernelGlobals kg,
IntegratorState state,
const Spectrum L,
const float mis_weight )

◆ guiding_record_bssrdf_bounce()

ccl_device_forceinline void guiding_record_bssrdf_bounce ( KernelGlobals kg,
IntegratorState state,
const float pdf,
const float3 N,
const float3 wo,
const Spectrum weight,
const Spectrum albedo )

◆ guiding_record_bssrdf_segment()

ccl_device_forceinline void guiding_record_bssrdf_segment ( KernelGlobals kg,
IntegratorState state,
const float3 P,
const float3 wi )

Definition at line 156 of file kernel/integrator/guiding.h.

References kernel_data, one_float3(), P, state, and zero_float3().

◆ guiding_record_bssrdf_weight()

ccl_device_forceinline void guiding_record_bssrdf_weight ( KernelGlobals kg,
IntegratorState state,
const Spectrum weight,
const Spectrum albedo )

◆ guiding_record_continuation_probability()

ccl_device_forceinline void guiding_record_continuation_probability ( KernelGlobals kg,
IntegratorState state,
const float continuation_probability )

Definition at line 440 of file kernel/integrator/guiding.h.

References kernel_data, and state.

Referenced by integrator_intersect_terminate().

◆ guiding_record_direct_light()

ccl_device_forceinline void guiding_record_direct_light ( KernelGlobals kg,
IntegratorShadowState state )

◆ guiding_record_light_surface_segment()

ccl_device_forceinline void guiding_record_light_surface_segment ( KernelGlobals kg,
IntegratorState state,
ccl_private const Intersection *ccl_restrict isect )

Definition at line 346 of file kernel/integrator/guiding.h.

References INTEGRATOR_STATE, kernel_data, one_float3(), P, state, and zero_float3().

Referenced by integrate_light().

◆ guiding_record_surface_bounce()

ccl_device_forceinline void guiding_record_surface_bounce ( KernelGlobals kg,
IntegratorState state,
ccl_private const ShaderData * sd,
const Spectrum weight,
const float pdf,
const float3 N,
const float3 wo,
const float2 roughness,
const float eta )

◆ guiding_record_surface_emission()

ccl_device_forceinline void guiding_record_surface_emission ( KernelGlobals kg,
IntegratorState state,
const Spectrum Le,
const float mis_weight )

Definition at line 134 of file kernel/integrator/guiding.h.

References kernel_data, spectrum_to_rgb(), and state.

Referenced by integrate_light(), and integrate_surface_emission().

◆ guiding_record_surface_segment()

ccl_device_forceinline void guiding_record_surface_segment ( KernelGlobals kg,
IntegratorState state,
ccl_private const ShaderData * sd )

Definition at line 76 of file kernel/integrator/guiding.h.

References kernel_data, one_float3(), state, and zero_float3().

Referenced by integrate_surface().

◆ guiding_record_volume_bounce()

ccl_device_forceinline void guiding_record_volume_bounce ( KernelGlobals kg,
IntegratorState state,
ccl_private const ShaderData * sd,
const Spectrum weight,
const float pdf,
const float3 wo,
const float roughness )

◆ guiding_record_volume_emission()

ccl_device_forceinline void guiding_record_volume_emission ( KernelGlobals kg,
IntegratorState state,
const Spectrum Le )

Definition at line 322 of file kernel/integrator/guiding.h.

References kernel_data, spectrum_to_rgb(), and state.

◆ guiding_record_volume_segment()

ccl_device_forceinline void guiding_record_volume_segment ( KernelGlobals kg,
IntegratorState state,
const float3 P,
const float3 I )

Definition at line 238 of file kernel/integrator/guiding.h.

References I, kernel_data, one_float3(), P, state, and zero_float3().

◆ guiding_record_volume_transmission()

ccl_device_forceinline void guiding_record_volume_transmission ( KernelGlobals kg,
IntegratorState state,
const float3 transmittance_weight )

Definition at line 294 of file kernel/integrator/guiding.h.

References kernel_data, and state.

◆ guiding_surface_incoming_radiance_pdf()

ccl_device_forceinline float guiding_surface_incoming_radiance_pdf ( KernelGlobals kg,
IntegratorState state,
const float3 wo )

Definition at line 550 of file kernel/integrator/guiding.h.

◆ guiding_write_debug_passes()