Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2017-07-30 18:11:05 +0300
committerClément Foucault <foucault.clem@gmail.com>2017-07-31 16:18:38 +0300
commit683e31fd80d36cffe4c65cfc0e973bb191889eee (patch)
tree2caa4f53f1ee8d203114e9636498cd8fabd2ea43 /source/blender/makesrna
parent39e1518d413a1af35b39a695b6a2e2d69fd2d35b (diff)
Eevee: SSR: Rewrote the raytracing algorithm.
It now uses a quality slider instead of stride. Lower quality takes larger strides between samples and use lower mips when tracing rough rays. Now raytracing is done entierly in homogeneous coordinate space. This run much faster. Should be fairly optimized. We are still Bandwidth bound. Add a line-line intersection refine. Add a ray jitter between the multiple ray per pixel to fill some undersampling in mirror reflections. The tracing now stops if it goes behind an object. This needs some work to allow it to continue even if behind objects.
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r--source/blender/makesrna/intern/rna_scene.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 2c0ffd6af05..953bc134360 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -2628,7 +2628,7 @@ RNA_LAYER_ENGINE_EEVEE_GET_SET_BOOL(volumetric_colored_transmittance)
RNA_LAYER_ENGINE_EEVEE_GET_SET_BOOL(ssr_enable)
RNA_LAYER_ENGINE_EEVEE_GET_SET_BOOL(ssr_halfres)
RNA_LAYER_ENGINE_EEVEE_GET_SET_INT(ssr_ray_count)
-RNA_LAYER_ENGINE_EEVEE_GET_SET_INT(ssr_stride)
+RNA_LAYER_ENGINE_EEVEE_GET_SET_FLOAT(ssr_quality)
RNA_LAYER_ENGINE_EEVEE_GET_SET_FLOAT(ssr_thickness)
RNA_LAYER_ENGINE_EEVEE_GET_SET_FLOAT(ssr_border_fade)
RNA_LAYER_ENGINE_EEVEE_GET_SET_FLOAT(ssr_firefly_fac)
@@ -6201,11 +6201,11 @@ static void rna_def_scene_layer_engine_settings_eevee(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, NC_SCENE | ND_LAYER_CONTENT, "rna_SceneLayerEngineSettings_update");
- prop = RNA_def_property(srna, "ssr_stride", PROP_INT, PROP_PIXEL);
- RNA_def_property_int_funcs(prop, "rna_LayerEngineSettings_Eevee_ssr_stride_get",
- "rna_LayerEngineSettings_Eevee_ssr_stride_set", NULL);
- RNA_def_property_ui_text(prop, "Stride", "Step size between two raymarching samples");
- RNA_def_property_range(prop, 1, 32);
+ prop = RNA_def_property(srna, "ssr_quality", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_funcs(prop, "rna_LayerEngineSettings_Eevee_ssr_quality_get",
+ "rna_LayerEngineSettings_Eevee_ssr_quality_set", NULL);
+ RNA_def_property_ui_text(prop, "Quality", "Quality of the screen space raytracing");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, NC_SCENE | ND_LAYER_CONTENT, "rna_SceneLayerEngineSettings_update");