[Bf-blender-cvs] [63bb2007d88] master: CodeCleanup: Added View3DShading enums

Jeroen Bakker noreply at git.blender.org
Fri Mar 6 13:00:08 CET 2020


Commit: 63bb2007d88b88824094447a745fa21d5fb2f61b
Author: Jeroen Bakker
Date:   Fri Mar 6 12:59:09 2020 +0100
Branches: master
https://developer.blender.org/rB63bb2007d88b88824094447a745fa21d5fb2f61b

CodeCleanup: Added View3DShading enums

Added the core enums that workbench draw engine uses.

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

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
A	source/blender/makesdna/DNA_view3d_enums.h
M	source/blender/makesdna/DNA_view3d_types.h

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

diff --git a/source/blender/draw/engines/workbench/workbench_deferred.c b/source/blender/draw/engines/workbench/workbench_deferred.c
index 762eeced176..df9a597faf9 100644
--- a/source/blender/draw/engines/workbench/workbench_deferred.c
+++ b/source/blender/draw/engines/workbench/workbench_deferred.c
@@ -844,7 +844,7 @@ static WORKBENCH_MaterialData *get_or_create_material_data(WORKBENCH_Data *vedat
                                                            Material *mat,
                                                            Image *ima,
                                                            ImageUser *iuser,
-                                                           int color_type,
+                                                           eV3DShadingColorType color_type,
                                                            int interp)
 {
   WORKBENCH_StorageList *stl = vedata->stl;
@@ -908,7 +908,8 @@ static void workbench_cache_populate_particles(WORKBENCH_Data *vedata, Object *o
       ImageUser *iuser;
       int interp;
       workbench_material_get_image_and_mat(ob, part->omat, &image, &iuser, &interp, &mat);
-      int color_type = workbench_material_determine_color_type(wpd, image, ob, false);
+      eV3DShadingColorType color_type = workbench_material_determine_color_type(
+          wpd, image, ob, false);
       WORKBENCH_MaterialData *material = get_or_create_material_data(
           vedata, ob, mat, image, iuser, color_type, interp);
 
@@ -946,7 +947,8 @@ static void workbench_cache_populate_texture_paint_mode(WORKBENCH_Data *vedata,
     Image *image = imapaint->canvas;
     int interp = (imapaint->interp == IMAGEPAINT_INTERP_LINEAR) ? SHD_INTERP_LINEAR :
                                                                   SHD_INTERP_CLOSEST;
-    int color_type = workbench_material_determine_color_type(wpd, image, ob, use_sculpt_pbvh);
+    eV3DShadingColorType color_type = workbench_material_determine_color_type(
+        wpd, image, ob, use_sculpt_pbvh);
     struct GPUBatch *geom = DRW_cache_mesh_surface_texpaint_single_get(ob);
     material = get_or_create_material_data(vedata, ob, NULL, image, NULL, color_type, interp);
 
@@ -963,7 +965,8 @@ static void workbench_cache_populate_texture_paint_mode(WORKBENCH_Data *vedata,
         ImageUser *iuser;
         int interp;
         workbench_material_get_image_and_mat(ob, i + 1, &image, &iuser, &interp, &mat);
-        int color_type = workbench_material_determine_color_type(wpd, image, ob, use_sculpt_pbvh);
+        eV3DShadingColorType color_type = workbench_material_determine_color_type(
+            wpd, image, ob, use_sculpt_pbvh);
         material = get_or_create_material_data(vedata, ob, mat, image, iuser, color_type, interp);
         DRW_shgroup_call(material->shgrp, geom_array[i], ob);
       }
@@ -981,7 +984,8 @@ static void workbench_cache_populate_vertex_paint_mode(WORKBENCH_Data *vedata, O
                                !DRW_state_is_image_render();
   WORKBENCH_MaterialData *material;
 
-  int color_type = workbench_material_determine_color_type(wpd, NULL, ob, use_sculpt_pbvh);
+  eV3DShadingColorType color_type = workbench_material_determine_color_type(
+      wpd, NULL, ob, use_sculpt_pbvh);
   struct GPUBatch *geom = DRW_cache_mesh_surface_vertpaint_get(ob);
   material = get_or_create_material_data(vedata, ob, NULL, NULL, NULL, color_type, false);
   DRW_shgroup_call(material->shgrp, geom, ob);
@@ -1055,7 +1059,7 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
           ImageUser *iuser;
           int interp;
           workbench_material_get_image_and_mat(ob, i + 1, &image, &iuser, &interp, &mat);
-          int color_type = workbench_material_determine_color_type(
+          eV3DShadingColorType color_type = workbench_material_determine_color_type(
               wpd, image, ob, use_sculpt_pbvh);
           if (color_type == V3D_SHADING_MATERIAL_COLOR && mat && mat->a < 1.0) {
             material = workbench_forward_get_or_create_material_data(
@@ -1075,7 +1079,8 @@ void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob)
                   V3D_SHADING_OBJECT_COLOR,
                   V3D_SHADING_RANDOM_COLOR,
                   V3D_SHADING_VERTEX_COLOR)) {
-      int color_type = workbench_material_determine_color_type(wpd, NULL, ob, use_sculpt_pbvh);
+      eV3DShadingColorType color_type = workbench_material_determine_color_type(
+          wpd, NULL, ob, use_sculpt_pbvh);
 
       if ((ob->color[3] < 1.0f) && (color_type == V3D_SHADING_OBJECT_COLOR)) {
         material = workbench_forward_get_or_create_material_data(
diff --git a/source/blender/draw/engines/workbench/workbench_forward.c b/source/blender/draw/engines/workbench/workbench_forward.c
index f2cc7cdf573..7e09016cf61 100644
--- a/source/blender/draw/engines/workbench/workbench_forward.c
+++ b/source/blender/draw/engines/workbench/workbench_forward.c
@@ -134,13 +134,14 @@ static char *workbench_build_forward_composite_frag(void)
   return str;
 }
 
-WORKBENCH_MaterialData *workbench_forward_get_or_create_material_data(WORKBENCH_Data *vedata,
-                                                                      Object *ob,
-                                                                      Material *mat,
-                                                                      Image *ima,
-                                                                      ImageUser *iuser,
-                                                                      int color_type,
-                                                                      int interp)
+WORKBENCH_MaterialData *workbench_forward_get_or_create_material_data(
+    WORKBENCH_Data *vedata,
+    Object *ob,
+    Material *mat,
+    Image *ima,
+    ImageUser *iuser,
+    eV3DShadingColorType color_type,
+    int interp)
 {
   const DRWContextState *draw_ctx = DRW_context_state_get();
   WORKBENCH_FORWARD_Shaders *sh_data = &e_data.sh_data[draw_ctx->sh_cfg];
@@ -487,7 +488,8 @@ static void workbench_forward_cache_populate_particles(WORKBENCH_Data *vedata, O
       ImageUser *iuser;
       int interp;
       workbench_material_get_image_and_mat(ob, part->omat, &image, &iuser, &interp, &mat);
-      int color_type = workbench_material_determine_color_type(wpd, image, ob, false);
+      eV3DShadingColorType color_type = workbench_material_determine_color_type(
+          wpd, image, ob, false);
       WORKBENCH_MaterialData *material = workbench_forward_get_or_create_material_data(
           vedata, ob, mat, image, iuser, color_type, interp);
 
@@ -543,7 +545,8 @@ static void workbench_forward_cache_populate_texture_paint_mode(WORKBENCH_Data *
     Image *image = imapaint->canvas;
     int interp = (imapaint->interp == IMAGEPAINT_INTERP_LINEAR) ? SHD_INTERP_LINEAR :
                                                                   SHD_INTERP_CLOSEST;
-    int color_type = workbench_material_determine_color_type(wpd, image, ob, use_sculpt_pbvh);
+    eV3DShadingColorType color_type = workbench_material_determine_color_type(
+        wpd, image, ob, use_sculpt_pbvh);
     struct GPUBatch *geom = DRW_cache_mesh_surface_texpaint_single_get(ob);
     material = workbench_forward_get_or_create_material_data(
         vedata, ob, NULL, image, NULL, color_type, interp);
@@ -562,7 +565,8 @@ static void workbench_forward_cache_populate_texture_paint_mode(WORKBENCH_Data *
         ImageUser *iuser;
         int interp;
         workbench_material_get_image_and_mat(ob, i + 1, &image, &iuser, &interp, &mat);
-        int color_type = workbench_material_determine_color_type(wpd, image, ob, use_sculpt_pbvh);
+        eV3DShadingColorType color_type = workbench_material_determine_color_type(
+            wpd, image, ob, use_sculpt_pbvh);
         material = workbench_forward_get_or_create_material_data(
             vedata, ob, mat, image, iuser, color_type, interp);
 
@@ -582,7 +586,8 @@ static void workbench_forward_cache_populate_vertex_paint_mode(WORKBENCH_Data *v
                                !DRW_state_is_image_render();
   WORKBENCH_MaterialData *material;
 
-  int color_type = workbench_material_determine_color_type(wpd, NULL, ob, use_sculpt_pbvh);
+  eV3DShadingColorType color_type = workbench_material_determine_color_type(
+      wpd, NULL, ob, use_sculpt_pbvh);
   struct GPUBatch *geom = DRW_cache_mesh_surface_vertpaint_get(ob);
   material = workbench_forward_get_or_create_material_data(
       vedata, ob, NULL, NULL, NULL, color_type, false);
@@ -653,7 +658,8 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob)
         ImageUser *iuser;
         int interp;
         workbench_material_get_image_and_mat(ob, i + 1, &image, &iuser, &interp, &mat);
-        int color_type = workbench_material_determine_color_type(wpd, image, ob, use_sculpt_pbvh);
+        eV3DShadingColorType color_type = workbench_material_determine_color_type(
+            wpd, image, ob, use_sculpt_pbvh);
         material = workbench_forward_get_or_create_material_data(
             vedata, ob, mat, image, iuser, color_type, interp);
         DRW_shgroup_call(material->shgrp_object_outline, geom_array[i], ob);
@@ -666,7 +672,8 @@ void workbench_forward_cache_populate(WORKBENCH_Data *vedata, Object *ob)
                   V3D_SHADING_RANDOM_COLOR,
                   V3D_SHADING_VERTEX_COLOR)) {
       /* No material split needed */
-      int color_type = workbench_material_determine_color_type(wpd, NULL, ob, use_sculpt_pbvh);
+      eV3DShadingColorType color_type = workbench_material_determine_color_type(
+          wpd, NULL, ob, use_sculpt_pbvh);
 
       if (use_sculpt_pbvh) {
         material = workbench_forward_get_or_create_material_data(
diff --git a/source/blender/draw/engines/workbench/workbench_materials.c b/source/blender/draw/engines/workbench/workbench_materials.c
index 7adc74aab2d..5f1e3461d9f 100644
--- a/source/blender/draw/engines/workbench/workbench_materials.c
+++ b/source/blender/draw/engines/workbench/workbench_materials.c
@@ -292,12 +292,12 @@ int workbench_material_get_accum_shader_index(WORKBENCH_PrivateData *wpd,
   return index;
 }
 
-int workben

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list