Changeset View
Changeset View
Standalone View
Standalone View
intern/cycles/blender/blender_sync.cpp
| Show First 20 Lines • Show All 367 Lines • ▼ Show 20 Lines | void BlenderSync::sync_integrator(BL::ViewLayer &b_view_layer, bool background) | ||||
| * denoiser parameters before enabling it without render resetting on every change. The downside | * denoiser parameters before enabling it without render resetting on every change. The downside | ||||
| * is that the interface and the integrator are technically out of sync. */ | * is that the interface and the integrator are technically out of sync. */ | ||||
| if (denoise_params.use) { | if (denoise_params.use) { | ||||
| integrator->set_denoise_store_passes(denoise_params.store_passes); | integrator->set_denoise_store_passes(denoise_params.store_passes); | ||||
| integrator->set_denoiser_type(denoise_params.type); | integrator->set_denoiser_type(denoise_params.type); | ||||
| integrator->set_denoise_start_sample(denoise_params.start_sample); | integrator->set_denoise_start_sample(denoise_params.start_sample); | ||||
| integrator->set_use_denoise_pass_albedo(denoise_params.use_pass_albedo); | integrator->set_use_denoise_pass_albedo(denoise_params.use_pass_albedo); | ||||
| integrator->set_use_denoise_pass_normal(denoise_params.use_pass_normal); | integrator->set_use_denoise_pass_normal(denoise_params.use_pass_normal); | ||||
| integrator->set_use_denoise_prefilter(denoise_params.use_prefilter); | integrator->set_denoiser_prefilter(denoise_params.prefilter); | ||||
| } | } | ||||
| /* UPDATE_NONE as we don't want to tag the integrator as modified (this was done by the | /* UPDATE_NONE as we don't want to tag the integrator as modified (this was done by the | ||||
| * set calls above), but we need to make sure that the dependent things are tagged. */ | * set calls above), but we need to make sure that the dependent things are tagged. */ | ||||
| integrator->tag_update(scene, Integrator::UPDATE_NONE); | integrator->tag_update(scene, Integrator::UPDATE_NONE); | ||||
| } | } | ||||
| /* Film */ | /* Film */ | ||||
| ▲ Show 20 Lines • Show All 513 Lines • ▼ Show 20 Lines | if (b_view_layer) { | ||||
| (denoising.type == DENOISER_OPTIX) ? | (denoising.type == DENOISER_OPTIX) ? | ||||
| "denoising_optix_input_passes" : | "denoising_optix_input_passes" : | ||||
| "denoising_openimagedenoise_input_passes", | "denoising_openimagedenoise_input_passes", | ||||
| DENOISER_INPUT_NUM, | DENOISER_INPUT_NUM, | ||||
| DENOISER_INPUT_RGB_ALBEDO_NORMAL); | DENOISER_INPUT_RGB_ALBEDO_NORMAL); | ||||
| denoising.store_passes = get_boolean(clayer, "denoising_store_passes"); | denoising.store_passes = get_boolean(clayer, "denoising_store_passes"); | ||||
| denoising.use_prefilter = get_boolean(clayer, "use_denoising_prefilter"); | denoising.prefilter = (DenoiserPrefilter)get_enum( | ||||
| clayer, "denoising_prefilter", DENOISER_PREFILTER_NUM, DENOISER_PREFILTER_NONE); | |||||
| } | } | ||||
| } | } | ||||
| else { | else { | ||||
| /* Viewport Denoising */ | /* Viewport Denoising */ | ||||
| denoising.use = get_boolean(cscene, "use_preview_denoising"); | denoising.use = get_boolean(cscene, "use_preview_denoising"); | ||||
| denoising.type = (DenoiserType)get_enum( | denoising.type = (DenoiserType)get_enum( | ||||
| cscene, "preview_denoiser", DENOISER_NUM, DENOISER_NONE); | cscene, "preview_denoiser", DENOISER_NUM, DENOISER_NONE); | ||||
| denoising.start_sample = get_int(cscene, "preview_denoising_start_sample"); | denoising.start_sample = get_int(cscene, "preview_denoising_start_sample"); | ||||
| denoising.use_prefilter = get_boolean(cscene, "use_preview_denoising_prefilter"); | |||||
| input_passes = (DenoiserInput)get_enum( | input_passes = (DenoiserInput)get_enum( | ||||
| cscene, "preview_denoising_input_passes", DENOISER_INPUT_NUM, DENOISER_INPUT_RGB_ALBEDO); | cscene, "preview_denoising_input_passes", DENOISER_INPUT_NUM, DENOISER_INPUT_RGB_ALBEDO); | ||||
| denoising.prefilter = (DenoiserPrefilter)get_enum( | |||||
| cscene, "preview_denoising_prefilter", DENOISER_PREFILTER_NUM, DENOISER_PREFILTER_FAST); | |||||
| /* Auto select fastest denoiser. */ | /* Auto select fastest denoiser. */ | ||||
| if (denoising.type == DENOISER_NONE) { | if (denoising.type == DENOISER_NONE) { | ||||
| if (!Device::available_devices(DEVICE_MASK_OPTIX).empty()) { | if (!Device::available_devices(DEVICE_MASK_OPTIX).empty()) { | ||||
| denoising.type = DENOISER_OPTIX; | denoising.type = DENOISER_OPTIX; | ||||
| } | } | ||||
| else if (openimagedenoise_supported()) { | else if (openimagedenoise_supported()) { | ||||
| denoising.type = DENOISER_OPENIMAGEDENOISE; | denoising.type = DENOISER_OPENIMAGEDENOISE; | ||||
| } | } | ||||
| Show All 31 Lines | |||||