[Bf-blender-cvs] [a3815f87773] blender2.8: Workbench: Matcaps T55291

Jeroen Bakker noreply at git.blender.org
Tue Jun 5 11:46:03 CEST 2018


Commit: a3815f87773c7d45740c98c888718424d736870b
Author: Jeroen Bakker
Date:   Tue Jun 5 08:15:30 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBa3815f87773c7d45740c98c888718424d736870b

Workbench: Matcaps T55291

- users can use their own matcaps
.config/blender/2.80/datafiles/studiolights/matcap/ folder
- upto 100 matcaps can be loaded
- color of the matcap is influenced by the color of the material/single
color etc. To show the plain matcap use single color at 1.0
- chosing a matcap is at lighting level (flat/studio/matcap)
- matcap only possible in solid mode
- also works for X-Ray mode

As the old matcaps are still in used by the clay engine I didn't remove
it yet.

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

A	release/datafiles/studiolights/matcap/license.txt
A	release/datafiles/studiolights/matcap/mc01.jpg
A	release/datafiles/studiolights/matcap/mc02.jpg
A	release/datafiles/studiolights/matcap/mc03.jpg
A	release/datafiles/studiolights/matcap/mc04.jpg
A	release/datafiles/studiolights/matcap/mc05.jpg
A	release/datafiles/studiolights/matcap/mc06.jpg
A	release/datafiles/studiolights/matcap/mc07.jpg
A	release/datafiles/studiolights/matcap/mc08.jpg
A	release/datafiles/studiolights/matcap/mc09.jpg
A	release/datafiles/studiolights/matcap/mc10.jpg
A	release/datafiles/studiolights/matcap/mc11.jpg
A	release/datafiles/studiolights/matcap/mc12.jpg
A	release/datafiles/studiolights/matcap/mc13.jpg
A	release/datafiles/studiolights/matcap/mc14.jpg
A	release/datafiles/studiolights/matcap/mc15.jpg
A	release/datafiles/studiolights/matcap/mc16.jpg
A	release/datafiles/studiolights/matcap/mc17.jpg
A	release/datafiles/studiolights/matcap/mc18.jpg
A	release/datafiles/studiolights/matcap/mc19.jpg
A	release/datafiles/studiolights/matcap/mc20.jpg
A	release/datafiles/studiolights/matcap/mc21.jpg
A	release/datafiles/studiolights/matcap/mc22.jpg
A	release/datafiles/studiolights/matcap/mc23.jpg
A	release/datafiles/studiolights/matcap/mc24.jpg
M	release/scripts/startup/bl_ui/space_view3d.py
M	source/blender/blenkernel/BKE_studiolight.h
M	source/blender/blenkernel/intern/studiolight.c
M	source/blender/blenloader/intern/versioning_280.c
M	source/blender/draw/engines/workbench/shaders/workbench_data_lib.glsl
M	source/blender/draw/engines/workbench/shaders/workbench_deferred_composite_frag.glsl
M	source/blender/draw/engines/workbench/shaders/workbench_forward_transparent_accum_frag.glsl
M	source/blender/draw/engines/workbench/shaders/workbench_prepass_frag.glsl
M	source/blender/draw/engines/workbench/shaders/workbench_world_light_lib.glsl
M	source/blender/draw/engines/workbench/workbench_data.c
M	source/blender/draw/engines/workbench/workbench_deferred.c
M	source/blender/draw/engines/workbench/workbench_forward.c
M	source/blender/draw/engines/workbench/workbench_materials.c
M	source/blender/draw/engines/workbench/workbench_private.h
M	source/blender/makesdna/DNA_view3d_types.h
M	source/blender/makesrna/intern/rna_space.c

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

diff --git a/release/datafiles/studiolights/matcap/license.txt b/release/datafiles/studiolights/matcap/license.txt
new file mode 100644
index 00000000000..358c8dcd832
--- /dev/null
+++ b/release/datafiles/studiolights/matcap/license.txt
@@ -0,0 +1,3 @@
+These matcap images are licensed as GNU GPL 2 or later, like the rest of Blender's code.
+
+Thanks to Kent Trammell, Aidy Burrows, John Herreno , Terry Wallwork and David Silverman for making the pictures.
diff --git a/release/datafiles/studiolights/matcap/mc01.jpg b/release/datafiles/studiolights/matcap/mc01.jpg
new file mode 100644
index 00000000000..8c7aef287ee
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc01.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc02.jpg b/release/datafiles/studiolights/matcap/mc02.jpg
new file mode 100644
index 00000000000..11deddfeaed
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc02.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc03.jpg b/release/datafiles/studiolights/matcap/mc03.jpg
new file mode 100644
index 00000000000..64d992fb61a
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc03.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc04.jpg b/release/datafiles/studiolights/matcap/mc04.jpg
new file mode 100644
index 00000000000..42be580ee93
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc04.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc05.jpg b/release/datafiles/studiolights/matcap/mc05.jpg
new file mode 100644
index 00000000000..586d233ef31
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc05.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc06.jpg b/release/datafiles/studiolights/matcap/mc06.jpg
new file mode 100644
index 00000000000..657883d0866
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc06.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc07.jpg b/release/datafiles/studiolights/matcap/mc07.jpg
new file mode 100644
index 00000000000..372caf7e87c
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc07.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc08.jpg b/release/datafiles/studiolights/matcap/mc08.jpg
new file mode 100644
index 00000000000..50eec402812
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc08.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc09.jpg b/release/datafiles/studiolights/matcap/mc09.jpg
new file mode 100644
index 00000000000..e05d441aaf9
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc09.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc10.jpg b/release/datafiles/studiolights/matcap/mc10.jpg
new file mode 100644
index 00000000000..ab82f17bb93
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc10.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc11.jpg b/release/datafiles/studiolights/matcap/mc11.jpg
new file mode 100644
index 00000000000..053550f082c
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc11.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc12.jpg b/release/datafiles/studiolights/matcap/mc12.jpg
new file mode 100644
index 00000000000..beb16f3742e
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc12.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc13.jpg b/release/datafiles/studiolights/matcap/mc13.jpg
new file mode 100644
index 00000000000..7fb8fa58e8f
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc13.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc14.jpg b/release/datafiles/studiolights/matcap/mc14.jpg
new file mode 100644
index 00000000000..ba868d2f95a
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc14.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc15.jpg b/release/datafiles/studiolights/matcap/mc15.jpg
new file mode 100644
index 00000000000..b10ea326a42
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc15.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc16.jpg b/release/datafiles/studiolights/matcap/mc16.jpg
new file mode 100644
index 00000000000..c6ce02d59df
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc16.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc17.jpg b/release/datafiles/studiolights/matcap/mc17.jpg
new file mode 100644
index 00000000000..14f15f70460
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc17.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc18.jpg b/release/datafiles/studiolights/matcap/mc18.jpg
new file mode 100644
index 00000000000..db572856b07
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc18.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc19.jpg b/release/datafiles/studiolights/matcap/mc19.jpg
new file mode 100644
index 00000000000..56d2efb1734
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc19.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc20.jpg b/release/datafiles/studiolights/matcap/mc20.jpg
new file mode 100644
index 00000000000..002a0910dd9
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc20.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc21.jpg b/release/datafiles/studiolights/matcap/mc21.jpg
new file mode 100644
index 00000000000..cb2fea573b8
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc21.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc22.jpg b/release/datafiles/studiolights/matcap/mc22.jpg
new file mode 100644
index 00000000000..2fc71b98c5a
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc22.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc23.jpg b/release/datafiles/studiolights/matcap/mc23.jpg
new file mode 100644
index 00000000000..3793c0fcaa5
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc23.jpg differ
diff --git a/release/datafiles/studiolights/matcap/mc24.jpg b/release/datafiles/studiolights/matcap/mc24.jpg
new file mode 100644
index 00000000000..2a9618d8fe1
Binary files /dev/null and b/release/datafiles/studiolights/matcap/mc24.jpg differ
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py
index ea3a804e7c3..68719170a70 100644
--- a/release/scripts/startup/bl_ui/space_view3d.py
+++ b/release/scripts/startup/bl_ui/space_view3d.py
@@ -3518,12 +3518,6 @@ class VIEW3D_PT_shading(Panel):
 
         col = layout.column()
 
-        if shading.type == 'SOLID':
-            col.row().prop(shading, "color_type", expand=True)
-
-            if shading.color_type == 'SINGLE':
-                col.row().prop(shading, "single_color", text="")
-
         if shading.type in ('SOLID', 'TEXTURED'):
             col.row().prop(shading, "light", expand=True)
             if shading.light == 'STUDIO':
@@ -3531,11 +3525,20 @@ class VIEW3D_PT_shading(Panel):
                 if shading.studio_light_orientation == 'WORLD':
                     col.row().prop(shading, "studiolight_rot_z")
 
+            elif shading.light == 'MATCAP':
+                col.row().template_icon_view(shading, "matcap")
+
+        if shading.type == 'SOLID':
+            col.row().prop(shading, "color_type", expand=True)
+
+            if shading.color_type == 'SINGLE':
+                col.row().prop(shading, "single_color", text="")
+
+        if not(shading.type == 'SOLID' and shading.light == 'MATCAP'):
             row = col.row()
             row.prop(shading, "show_specular_highlight")
 
-            col.separator()
-
+        if shading.type in ('SOLID', 'TEXTURED'):
             row = col.row()
             row.prop(shading, "show_xray")
             sub = row.row()
diff --git a/source/blender/blenkernel/BKE_studiolight.h b/source/blender/blenkernel/BKE_studiolight.h
index 2f2e948ab26..9bf9f0ea904 100644
--- a/source/blender/blenkernel/BKE_studiolight.h
+++ b/source/blender/blenkernel/BKE_studiolight.h
@@ -59,15 +59,21 @@ struct GPUTexture;
 enum StudioLightFlag {
 	STUDIOLIGHT_DIFFUSE_LIGHT_CALCULATED                    = (1 << 0),
 	STUDIOLIGHT_LIGHT_DIRECTION_CALCULATED                  = (1 << 1),
-	STUDIOLIGHT_EXTERNAL_FILE                               = (1 << 2),
-	STUDIOLIGHT_ORIENTATION_CAMERA                          = (1 << 3),
-	STUDIOLIGHT_ORIENTATION_WORLD                           = (1 << 4),
-	STUDIOLIGHT_EQUIRECTANGULAR_IMAGE_LOADED                = (1 << 5),
-	STUDIOLIGHT_EQUIRECTANGULAR_IRRADIANCE_IMAGE_CALCULATED = (1 << 6),
-	STUDIOLIGHT_EQUIRECTANGULAR_RADIANCE_GPUTEXTURE         = (1 << 7),
-	STUDIOLIGHT_EQUIRECTANGULAR_IRRADIANCE_GPUTEXTURE       = (1 << 8),
-	STUDIOLIGHT_RADIANCE_BUFFERS_CALCULATED                 = (1 << 9),
+	STUDIOLIGHT_INTERNAL                                    = (1 << 2),
+	STUDIOLIGHT_EXTERNAL_FILE                               = (1 << 3),
+	STUDIOLIGHT_ORIENTATION_CAMERA                          = (1 << 4),
+	STUDIOLIGHT_ORIENTATION_WORLD                           = (1 << 5),
+	STUDIOLIGHT_ORIENTATION_VIEWNORMAL                      = (1 << 6),
+	STUDIOLIGHT_EXTERNAL_IMAGE_LOADED                       = (1 << 7),
+	STUDIOLIGHT_EQUIRECTANGULAR_IRRADIANCE_IMAGE_CALCULATED = (1 << 8),
+	STUDIOLIGHT_EQUIRECTANGULAR_RADIANCE_GPUTEXTURE         = (1 << 9),
+	STUDIOLIGHT_EQUIRECTANGULAR_IRRADIANCE_GPUTEXTURE       = (1 << 10),
+	STUDIOLIGHT_RADIANCE_BUFFERS_CALCULATED                 = (1 << 11),
 } StudioLightFlag;
+#define STUDIOLIGHT_FLAG_ALL (STUDIOLIGHT_INTERNAL | STUDIOLIGHT_EXTERNAL_FILE)
+#define STUDIOLIGHT_FLAG_ORIENTATIONS (STUDIOLIGHT_ORIENTATION_CAMERA | STUDIOLIGHT_ORIENTATION_WORLD | STUDIOLIGHT_ORIENTATION_VIEWNORMAL)
+#define STUDIOLIGHT_ORIENTATIONS_MATERIAL_MODE (STUDIOLIGHT_INTERNAL | STUDIOLIGHT_ORIENTATION_WORLD)
+#define STUDIOLIGHT_ORIENTATIONS_SOLID (STUDIOLIGHT_ORIENTATION_CAMERA | STUDIOLIGHT_ORIENTATION_WORLD)
 
 typedef struct StudioLight {
 	struct StudioLight *next, *prev;
@@ -89,7 +95,8 @@ typedef struct StudioLight {
 void BKE_studiolight_init(void);
 void BKE_studiolight_free(void);
 struct St

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list