Blender V5.0
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, const ccl_private float guiding_sampling_prob)
ccl_device_forceinline void guiding_record_surface_segment (KernelGlobals kg, IntegratorState state, const ccl_private ShaderData *sd)
ccl_device_forceinline void guiding_record_surface_bounce (KernelGlobals kg, IntegratorState state, 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, 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, const ccl_private 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, const ccl_private ShaderData *sd, ccl_global float *ccl_restrict render_buffer)
ccl_device_forceinline bool guiding_bsdf_init (KernelGlobals kg, const float3 P, const float3 N, ccl_private float &rand)
ccl_device_forceinline float guiding_bsdf_sample (KernelGlobals kg, const float2 rand_bsdf, ccl_private float3 *wo)
ccl_device_forceinline float guiding_bsdf_pdf (KernelGlobals kg, const float3 wo)
ccl_device_forceinline float guiding_surface_incoming_radiance_pdf (KernelGlobals kg, const float3 wo)
ccl_device_forceinline bool guiding_phase_init (KernelGlobals kg, const float3 P, const float3 D, const float g, ccl_private float &rand)
ccl_device_forceinline float guiding_phase_sample (KernelGlobals kg, const float2 rand_phase, ccl_private float3 *wo)
ccl_device_forceinline float guiding_phase_pdf (KernelGlobals kg, const float3 wo)

Function Documentation

◆ calculate_ris_target()

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

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

References ccl_device_forceinline, ccl_private, and M_PI_F.

◆ guiding_bsdf_init()

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

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

References ccl_device_forceinline, ccl_private, N, and P.

◆ guiding_bsdf_pdf()

ccl_device_forceinline float guiding_bsdf_pdf ( KernelGlobals kg,
const float3 wo )

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

References ccl_device_forceinline.

Referenced by surface_shader_bsdf_eval().

◆ guiding_bsdf_sample()

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

◆ guiding_phase_init()

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

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

References ccl_device_forceinline, ccl_private, D, fabsf, and P.

◆ guiding_phase_pdf()

ccl_device_forceinline float guiding_phase_pdf ( KernelGlobals kg,
const float3 wo )

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

References ccl_device_forceinline.

◆ guiding_phase_sample()

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

◆ guiding_record_background()

◆ 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 )

◆ guiding_record_bssrdf_weight()

◆ guiding_record_continuation_probability()

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

◆ guiding_record_direct_light()

◆ guiding_record_light_surface_segment()

◆ guiding_record_surface_bounce()

ccl_device_forceinline void guiding_record_surface_bounce ( KernelGlobals kg,
IntegratorState state,
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 )

◆ guiding_record_surface_segment()

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

◆ guiding_record_volume_bounce()

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

◆ guiding_record_volume_emission()

◆ guiding_record_volume_segment()

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

◆ guiding_record_volume_transmission()

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

◆ guiding_surface_incoming_radiance_pdf()

ccl_device_forceinline float guiding_surface_incoming_radiance_pdf ( KernelGlobals kg,
const float3 wo )

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

References ccl_device_forceinline.

◆ guiding_write_debug_passes()