Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/integrator/init_from_camera.h
| Show First 20 Lines • Show All 81 Lines • ▼ Show 20 Lines | const uint rng_hash = path_rng_hash_init(kg, sample, x, y); | ||||
| /* Write camera ray to state. */ | /* Write camera ray to state. */ | ||||
| integrator_state_write_ray(kg, state, &ray); | integrator_state_write_ray(kg, state, &ray); | ||||
| } | } | ||||
| /* Initialize path state for path integration. */ | /* Initialize path state for path integration. */ | ||||
| path_state_init_integrator(kg, state, sample, rng_hash); | path_state_init_integrator(kg, state, sample, rng_hash); | ||||
| /* Emit a camera event for the LPE state machine. */ | |||||
| path_automata_emit_camera_event(kg, state); | |||||
| /* Continue with intersect_closest kernel, optionally initializing volume | /* Continue with intersect_closest kernel, optionally initializing volume | ||||
| * stack before that if the camera may be inside a volume. */ | * stack before that if the camera may be inside a volume. */ | ||||
| if (kernel_data.cam.is_inside_volume) { | if (kernel_data.cam.is_inside_volume) { | ||||
| integrator_path_init(kg, state, DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK); | integrator_path_init(kg, state, DEVICE_KERNEL_INTEGRATOR_INTERSECT_VOLUME_STACK); | ||||
| } | } | ||||
| else { | else { | ||||
| integrator_path_init(kg, state, DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST); | integrator_path_init(kg, state, DEVICE_KERNEL_INTEGRATOR_INTERSECT_CLOSEST); | ||||
| } | } | ||||
| return true; | return true; | ||||
| } | } | ||||
| CCL_NAMESPACE_END | CCL_NAMESPACE_END | ||||