Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/kernel/integrator/init_from_bake.h
| Show First 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | ccl_device bool integrator_init_from_bake(KernelGlobals kg, | ||||
| /* Always count the sample, even if the camera sample will reject the ray. */ | /* Always count the sample, even if the camera sample will reject the ray. */ | ||||
| const int sample = kernel_accum_sample( | const int sample = kernel_accum_sample( | ||||
| kg, state, render_buffer, scheduled_sample, tile->sample_offset); | kg, state, render_buffer, scheduled_sample, tile->sample_offset); | ||||
| /* Setup render buffers. */ | /* Setup render buffers. */ | ||||
| const int index = INTEGRATOR_STATE(state, path, render_pixel_index); | const int index = INTEGRATOR_STATE(state, path, render_pixel_index); | ||||
| const int pass_stride = kernel_data.film.pass_stride; | const int pass_stride = kernel_data.film.pass_stride; | ||||
| render_buffer += index * pass_stride; | ccl_global float *buffer = render_buffer + index * pass_stride; | ||||
| ccl_global float *primitive = render_buffer + kernel_data.film.pass_bake_primitive; | ccl_global float *primitive = buffer + kernel_data.film.pass_bake_primitive; | ||||
| ccl_global float *differential = render_buffer + kernel_data.film.pass_bake_differential; | ccl_global float *differential = buffer + kernel_data.film.pass_bake_differential; | ||||
| const int seed = __float_as_uint(primitive[0]); | const int seed = __float_as_uint(primitive[0]); | ||||
| int prim = __float_as_uint(primitive[1]); | int prim = __float_as_uint(primitive[1]); | ||||
| if (prim == -1) { | if (prim == -1) { | ||||
| /* Accumulate transparency for empty pixels. */ | |||||
| kernel_accum_transparent(kg, state, 0, 1.0f, buffer); | |||||
| return false; | return false; | ||||
| } | } | ||||
| prim += kernel_data.bake.tri_offset; | prim += kernel_data.bake.tri_offset; | ||||
| /* Random number generator. */ | /* Random number generator. */ | ||||
| const uint rng_hash = hash_uint(seed) ^ kernel_data.integrator.seed; | const uint rng_hash = hash_uint(seed) ^ kernel_data.integrator.seed; | ||||
| ▲ Show 20 Lines • Show All 114 Lines • Show Last 20 Lines | |||||