[Bf-blender-cvs] [382ade4c29] clay-engine: Added saturation and value slider + fix versioning

Clément Foucault noreply at git.blender.org
Thu Jan 12 12:30:41 CET 2017


Commit: 382ade4c29bcbb6bf845699b5015cedb38f7f039
Author: Clément Foucault
Date:   Wed Jan 11 19:48:51 2017 +0100
Branches: clay-engine
https://developer.blender.org/rB382ade4c29bcbb6bf845699b5015cedb38f7f039

Added saturation and value slider + fix versioning

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

M	release/scripts/startup/bl_ui/properties_material.py
M	release/scripts/startup/bl_ui/properties_render.py
M	source/blender/blenloader/intern/versioning_280.c
M	source/blender/draw/engines/clay/clay.c
M	source/blender/makesdna/DNA_material_types.h
M	source/blender/makesdna/DNA_scene_types.h
M	source/blender/makesrna/intern/rna_material.c
M	source/blender/makesrna/intern/rna_scene.c

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

diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py
index 808ae0166f..04662095a0 100644
--- a/release/scripts/startup/bl_ui/properties_material.py
+++ b/release/scripts/startup/bl_ui/properties_material.py
@@ -1064,6 +1064,8 @@ class MATERIAL_PT_clay_settings(MaterialButtonsPanel, Panel):
         layout.prop(settings, "type")
         layout.prop(settings, "matcap_rotation")
         layout.prop(settings, "matcap_hue")
+        layout.prop(settings, "matcap_saturation")
+        layout.prop(settings, "matcap_value")
         layout.prop(settings, "ssao_factor_cavity")
         layout.prop(settings, "ssao_factor_edge")
         layout.prop(settings, "ssao_distance")
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index 9403895896..8ddc99af70 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -594,6 +594,8 @@ class RENDER_PT_clay(RenderButtonsPanel, Panel):
         layout.template_icon_view(settings, "matcap_icon")
         layout.prop(settings, "matcap_rotation")
         layout.prop(settings, "matcap_hue")
+        layout.prop(settings, "matcap_saturation")
+        layout.prop(settings, "matcap_value")
         layout.prop(settings, "ssao_factor_cavity")
         layout.prop(settings, "ssao_factor_edge")
         layout.prop(settings, "ssao_distance")
diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index b9edc3b5fd..8ae921ab69 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -165,12 +165,14 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *main)
 			for (Scene *scene = main->scene.first; scene; scene = scene->id.next) {
 				EngineDataClay *settings = &scene->claydata;
 
-				settings->matcap_rot = 0.0;
-				settings->matcap_hue = 0.0;
+				settings->matcap_rot = 0.0f;
+				settings->matcap_hue = 0.5f;
+				settings->matcap_sat = 0.5f;
+				settings->matcap_val = 0.5f;
 				settings->ssao_distance = 0.2;
 				settings->ssao_attenuation = 1.0f;
-				settings->ssao_factor_cavity = 2.0f;
-				settings->ssao_factor_edge = 2.0f;
+				settings->ssao_factor_cavity = 1.0f;
+				settings->ssao_factor_edge = 1.0f;
 				settings->ssao_samples = 32;
 			}
 		}
diff --git a/source/blender/draw/engines/clay/clay.c b/source/blender/draw/engines/clay/clay.c
index dfae250621..7180c6b30e 100644
--- a/source/blender/draw/engines/clay/clay.c
+++ b/source/blender/draw/engines/clay/clay.c
@@ -301,7 +301,7 @@ static DRWBatch *clay_batch_create(DRWPass *pass, CLAY_BatchStorage *storage)
 	const int depthloc = 0, matcaploc = 1, jitterloc = 2, sampleloc = 3;
 	const bool use_rot = (storage->matcap_rot[1] != 0.0f);
 	const bool use_ao = (storage->ssao_params_var[1] != 0.0f || storage->ssao_params_var[2] != 0.0f);
-	const bool use_hsv = (storage->matcap_hsv[0] != 0.0f);
+	const bool use_hsv = (storage->matcap_hsv[0] != 0.5f || storage->matcap_hsv[1] != 0.0f || storage->matcap_hsv[2] != 0.0f);
 	struct GPUShader *sh;
 
 	if (use_rot && use_ao && use_hsv) {
@@ -382,9 +382,9 @@ static void clay_populate_passes(CLAY_PassList *passes, const struct bContext *C
 		storage->matcap_rot[0] = cosf(settings->matcap_rot * 3.14159f * 2.0f);
 		storage->matcap_rot[1] = sinf(settings->matcap_rot * 3.14159f * 2.0f);
 
-		storage->matcap_hsv[0] = settings->matcap_hue;
-		storage->matcap_hsv[1] = 1.0f;
-		storage->matcap_hsv[2] = 1.0f;
+		storage->matcap_hsv[0] = settings->matcap_hue + 0.5f;
+		storage->matcap_hsv[1] = settings->matcap_sat * 2.0f;
+		storage->matcap_hsv[2] = settings->matcap_val * 2.0f;
 
 		storage->ssao_params_var[0] = settings->ssao_distance;
 		storage->ssao_params_var[1] = settings->ssao_factor_cavity;
diff --git a/source/blender/makesdna/DNA_material_types.h b/source/blender/makesdna/DNA_material_types.h
index be33487ed8..0be83668e7 100644
--- a/source/blender/makesdna/DNA_material_types.h
+++ b/source/blender/makesdna/DNA_material_types.h
@@ -95,6 +95,8 @@ typedef struct EngineSettingsClay {
 	short matcap_icon; /* Icon ID */
 	float matcap_rot;
 	float matcap_hue;
+	float matcap_sat;
+	float matcap_val;
 	float ssao_distance;
 	float ssao_attenuation;
 	float ssao_factor_cavity;
diff --git a/source/blender/makesdna/DNA_scene_types.h b/source/blender/makesdna/DNA_scene_types.h
index 830a11520d..151bb0a26d 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -801,6 +801,8 @@ typedef struct EngineDataClay {
 	short matcap_icon; /* Icon ID */
 	float matcap_rot;
 	float matcap_hue;
+	float matcap_sat;
+	float matcap_val;
 	float ssao_distance;
 	float ssao_attenuation;
 	float ssao_factor_cavity;
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c
index f9ca7bfd81..91efc07846 100644
--- a/source/blender/makesrna/intern/rna_material.c
+++ b/source/blender/makesrna/intern/rna_material.c
@@ -886,9 +886,20 @@ static void rna_def_material_settings_clay(BlenderRNA *brna)
 	RNA_def_property_update(prop, 0, "rna_Material_draw_update");
 
 	prop = RNA_def_property(srna, "matcap_hue", PROP_FLOAT, PROP_FACTOR);
-	RNA_def_property_float_sdna(prop, NULL, "matcap_hue");
 	RNA_def_property_range(prop, 0.0f, 1.0f);
-	RNA_def_property_ui_text(prop, "Matcap Hue shift", "Hue correction to the matcap");
+	RNA_def_property_ui_text(prop, "Matcap Hue shift", "Hue correction of the matcap");
+	RNA_def_property_update(prop, 0, "rna_Material_draw_update");
+
+	prop = RNA_def_property(srna, "matcap_saturation", PROP_FLOAT, PROP_FACTOR);
+	RNA_def_property_float_sdna(prop, NULL, "matcap_sat");
+	RNA_def_property_range(prop, 0.0f, 1.0f);
+	RNA_def_property_ui_text(prop, "Matcap Saturation", "Saturation correction of the matcap");
+	RNA_def_property_update(prop, 0, "rna_Material_draw_update");
+
+	prop = RNA_def_property(srna, "matcap_value", PROP_FLOAT, PROP_FACTOR);
+	RNA_def_property_float_sdna(prop, NULL, "matcap_val");
+	RNA_def_property_range(prop, 0.0f, 1.0f);
+	RNA_def_property_ui_text(prop, "Matcap Value", "Value correction of the matcap");
 	RNA_def_property_update(prop, 0, "rna_Material_draw_update");
 
 	prop = RNA_def_property(srna, "ssao_factor_cavity", PROP_FLOAT, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_scene.c b/source/blender/makesrna/intern/rna_scene.c
index 0cbc816f72..73234a572c 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -6376,6 +6376,18 @@ static void rna_def_clay_data(BlenderRNA *brna)
 	RNA_def_property_ui_text(prop, "Matcap Hue shift", "Hue correction to the matcap");
 	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
+	prop = RNA_def_property(srna, "matcap_saturation", PROP_FLOAT, PROP_FACTOR);
+	RNA_def_property_float_sdna(prop, NULL, "matcap_sat");
+	RNA_def_property_range(prop, 0.0f, 1.0f);
+	RNA_def_property_ui_text(prop, "Matcap Saturation", "Saturation correction of the matcap");
+	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+	prop = RNA_def_property(srna, "matcap_value", PROP_FLOAT, PROP_FACTOR);
+	RNA_def_property_float_sdna(prop, NULL, "matcap_val");
+	RNA_def_property_range(prop, 0.0f, 1.0f);
+	RNA_def_property_ui_text(prop, "Matcap Value", "Value correction of the matcap");
+	RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
 	prop = RNA_def_property(srna, "ssao_factor_cavity", PROP_FLOAT, PROP_NONE);
 	RNA_def_property_ui_text(prop, "Cavity Strength", "Strength of the Cavity effect");
 	RNA_def_property_range(prop, 0.0f, 250.0f);




More information about the Bf-blender-cvs mailing list