[Bf-blender-cvs] [c1aca25c3bd] blender2.8: Eevee: TAA: Remove 32 sample limit.

Clément Foucault noreply at git.blender.org
Tue Sep 26 21:39:48 CEST 2017


Commit: c1aca25c3bd1ecf66540b4728f0dad6169e09afe
Author: Clément Foucault
Date:   Tue Sep 26 21:39:25 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBc1aca25c3bd1ecf66540b4728f0dad6169e09afe

Eevee: TAA: Remove 32 sample limit.

===================================================================

M	source/blender/draw/engines/eevee/eevee_effects.c
M	source/blender/makesrna/intern/rna_scene.c

===================================================================

diff --git a/source/blender/draw/engines/eevee/eevee_effects.c b/source/blender/draw/engines/eevee/eevee_effects.c
index 8318161ef69..741065a7df3 100644
--- a/source/blender/draw/engines/eevee/eevee_effects.c
+++ b/source/blender/draw/engines/eevee/eevee_effects.c
@@ -758,13 +758,8 @@ void EEVEE_effects_init(EEVEE_SceneLayerData *sldata, EEVEE_Data *vedata)
 
 		view_is_valid = view_is_valid && (stl->g_data->view_updated == false);
 
-		int taa_pref_samples = BKE_collection_engine_property_value_get_int(props, "taa_samples");
-		CLAMP(taa_pref_samples, 1, 32);
-		view_is_valid = view_is_valid && (effects->taa_total_sample == taa_pref_samples);
-
-		if (effects->taa_total_sample != taa_pref_samples) {
-			effects->taa_total_sample = taa_pref_samples;
-		}
+		effects->taa_total_sample = BKE_collection_engine_property_value_get_int(props, "taa_samples");
+		MAX2(effects->taa_total_sample, 0);
 
 		DRW_viewport_matrix_get(persmat, DRW_MAT_PERS);
 		DRW_viewport_matrix_get(viewmat, DRW_MAT_VIEW);
@@ -772,8 +767,10 @@ void EEVEE_effects_init(EEVEE_SceneLayerData *sldata, EEVEE_Data *vedata)
 		view_is_valid = view_is_valid && compare_m4m4(persmat, effects->prev_drw_persmat, 0.0001f);
 		copy_m4_m4(effects->prev_drw_persmat, persmat);
 
-
-		if (view_is_valid && (effects->taa_current_sample < effects->taa_total_sample)) {
+		if (view_is_valid &&
+		    ((effects->taa_total_sample == 0) ||
+		     (effects->taa_current_sample < effects->taa_total_sample)))
+		{
 			effects->taa_current_sample += 1;
 
 			effects->taa_alpha = 1.0f - (1.0f / (float)(effects->taa_current_sample));
@@ -1484,7 +1481,9 @@ void EEVEE_draw_effects(EEVEE_Data *vedata)
 			DRW_framebuffer_blit(fbl->main, fbl->depth_double_buffer_fb, true);
 		}
 
-		if (effects->taa_current_sample < effects->taa_total_sample) {
+		if ((effects->taa_total_sample == 0) ||
+		    (effects->taa_current_sample < effects->taa_total_sample))
+		{
 			DRW_viewport_request_redraw();
 		}
 	}
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 7b5f37d2187..84ff0d5a7ea 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -6191,8 +6191,8 @@ static void rna_def_scene_layer_engine_settings_eevee(BlenderRNA *brna)
 	prop = RNA_def_property(srna, "taa_samples", PROP_INT, PROP_NONE);
 	RNA_def_property_int_funcs(prop, "rna_LayerEngineSettings_Eevee_taa_samples_get",
 	                               "rna_LayerEngineSettings_Eevee_taa_samples_set", NULL);
-	RNA_def_property_ui_text(prop, "Samples", "Minimum number of temporal samples");
-	RNA_def_property_range(prop, 1, 32);
+	RNA_def_property_ui_text(prop, "Samples", "Minimum number of temporal samples, unlimited if 0");
+	RNA_def_property_range(prop, 0, INT_MAX);
 	RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
 	RNA_def_property_update(prop, NC_SCENE | ND_LAYER_CONTENT, "rna_SceneLayerEngineSettings_update");



More information about the Bf-blender-cvs mailing list