[Bf-blender-cvs] [cfc730e612a] tmp-workbench-rewrite2: rename enum types

Miguel Pozo noreply at git.blender.org
Wed Nov 2 23:43:27 CET 2022


Commit: cfc730e612a3d98a08226fec1c724012837dca5b
Author: Miguel Pozo
Date:   Wed Nov 2 21:08:30 2022 +0100
Branches: tmp-workbench-rewrite2
https://developer.blender.org/rBcfc730e612a3d98a08226fec1c724012837dca5b

rename enum types

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

M	source/blender/draw/engines/workbench/workbench_engine.cc
M	source/blender/draw/engines/workbench/workbench_enums.hh
M	source/blender/draw/engines/workbench/workbench_mesh_passes.cc
M	source/blender/draw/engines/workbench/workbench_private.hh
M	source/blender/draw/engines/workbench/workbench_shader_cache.cc
M	source/blender/draw/engines/workbench/workbench_state.cc

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

diff --git a/source/blender/draw/engines/workbench/workbench_engine.cc b/source/blender/draw/engines/workbench/workbench_engine.cc
index 3be0f8f4360..c722ca08e09 100644
--- a/source/blender/draw/engines/workbench/workbench_engine.cc
+++ b/source/blender/draw/engines/workbench/workbench_engine.cc
@@ -160,7 +160,7 @@ class Instance {
         const int material_count = DRW_cache_object_material_count_get(ob_ref.object);
 
         struct GPUBatch **batches;
-        if (object_state.material_type == eColorType::TEXTURE) {
+        if (object_state.color_type == V3D_SHADING_TEXTURE_COLOR) {
           batches = DRW_cache_mesh_surface_texpaint_get(ob_ref.object);
         }
         else {
@@ -190,7 +190,7 @@ class Instance {
             ::Image *image = nullptr;
             ImageUser *iuser = nullptr;
             eGPUSamplerState sampler_state = eGPUSamplerState::GPU_SAMPLER_DEFAULT;
-            if (object_state.material_type == eColorType::TEXTURE) {
+            if (object_state.color_type == V3D_SHADING_TEXTURE_COLOR) {
               get_material_image(ob_ref.object, i + 1, image, iuser, sampler_state);
             }
 
@@ -200,10 +200,10 @@ class Instance {
       }
       else {
         struct GPUBatch *batch;
-        if (object_state.material_type == eColorType::TEXTURE) {
+        if (object_state.color_type == V3D_SHADING_TEXTURE_COLOR) {
           batch = DRW_cache_mesh_surface_texpaint_single_get(ob_ref.object);
         }
-        else if (object_state.material_subtype == eMaterialSubType::ATTRIBUTE) {
+        else if (object_state.color_type == V3D_SHADING_VERTEX_COLOR) {
           if (ob_ref.object->mode & OB_MODE_VERTEX_PAINT) {
             batch = DRW_cache_mesh_surface_vertpaint_get(ob_ref.object);
           }
@@ -219,16 +219,16 @@ class Instance {
           ResourceHandle handle = manager.resource_handle(ob_ref);
           Material &mat = resources.material_buf.get_or_resize(handle.resource_index());
 
-          if (object_state.material_subtype == eMaterialSubType::OBJECT) {
+          if (object_state.color_type == V3D_SHADING_OBJECT_COLOR) {
             mat = Material(*ob_ref.object);
           }
-          else if (object_state.material_subtype == eMaterialSubType::RANDOM) {
+          else if (object_state.color_type == V3D_SHADING_RANDOM_COLOR) {
             mat = Material(*ob_ref.object, true);
           }
-          else if (object_state.material_subtype == eMaterialSubType::SINGLE) {
+          else if (object_state.color_type == V3D_SHADING_SINGLE_COLOR) {
             mat = scene_state.material_override;
           }
-          else if (object_state.material_subtype == eMaterialSubType::ATTRIBUTE) {
+          else if (object_state.color_type == V3D_SHADING_VERTEX_COLOR) {
             mat = scene_state.material_attribute_color;
           }
           else {
diff --git a/source/blender/draw/engines/workbench/workbench_enums.hh b/source/blender/draw/engines/workbench/workbench_enums.hh
index 32785b996b2..56f0c3accee 100644
--- a/source/blender/draw/engines/workbench/workbench_enums.hh
+++ b/source/blender/draw/engines/workbench/workbench_enums.hh
@@ -47,45 +47,45 @@ enum class ePipelineType {
 };
 static constexpr int pipeline_type_len = static_cast<int>(ePipelineType::SHADOW) + 1;
 
-enum class eShadingType {
+enum class eLightingType {
   FLAT = 0,
   STUDIO,
   MATCAP,
 };
-static constexpr int shading_type_len = static_cast<int>(eShadingType::MATCAP) + 1;
+static constexpr int lighting_type_len = static_cast<int>(eLightingType::MATCAP) + 1;
 
-static inline eShadingType shading_type_from_v3d_lighting(char lighting)
+static inline eLightingType lighting_type_from_v3d_lighting(char lighting)
 {
   switch (lighting) {
     case V3D_LIGHTING_FLAT:
-      return eShadingType::FLAT;
+      return eLightingType::FLAT;
     case V3D_LIGHTING_MATCAP:
-      return eShadingType::MATCAP;
+      return eLightingType::MATCAP;
     case V3D_LIGHTING_STUDIO:
-      return eShadingType::STUDIO;
+      return eLightingType::STUDIO;
     default:
       BLI_assert_unreachable();
-      return static_cast<eShadingType>(-1);
+      return static_cast<eLightingType>(-1);
   }
 }
 
-enum class eColorType {
+enum class eShaderType {
   MATERIAL = 0,
   TEXTURE,
 };
-static constexpr int color_type_len = static_cast<int>(eColorType::TEXTURE) + 1;
+static constexpr int shader_type_len = static_cast<int>(eShaderType::TEXTURE) + 1;
 
-static inline eColorType color_type_from_v3d_shading(char shading)
+static inline eShaderType shader_type_from_v3d_shading(char shading)
 {
-  return shading == V3D_SHADING_TEXTURE_COLOR ? eColorType::TEXTURE : eColorType::MATERIAL;
+  return shading == V3D_SHADING_TEXTURE_COLOR ? eShaderType::TEXTURE : eShaderType::MATERIAL;
 }
 
-static inline const char *get_name(eColorType type)
+static inline const char *get_name(eShaderType type)
 {
   switch (type) {
-    case eColorType::MATERIAL:
+    case eShaderType::MATERIAL:
       return "Material";
-    case eColorType::TEXTURE:
+    case eShaderType::TEXTURE:
       return "Texture";
     default:
       BLI_assert_unreachable();
@@ -93,35 +93,4 @@ static inline const char *get_name(eColorType type)
   }
 }
 
-enum class eMaterialSubType {
-  NONE = 0,
-  MATERIAL,
-  RANDOM,
-  SINGLE,
-  OBJECT,
-  ATTRIBUTE,
-};
-static constexpr int material_subtype_len = static_cast<int>(eMaterialSubType::ATTRIBUTE) + 1;
-
-static inline eMaterialSubType material_subtype_from_v3d_shading(char shading)
-{
-  switch (shading) {
-    case V3D_SHADING_MATERIAL_COLOR:
-      return eMaterialSubType::MATERIAL;
-    case V3D_SHADING_RANDOM_COLOR:
-      return eMaterialSubType::RANDOM;
-    case V3D_SHADING_SINGLE_COLOR:
-      return eMaterialSubType::SINGLE;
-    case V3D_SHADING_TEXTURE_COLOR:
-      return eMaterialSubType::NONE;
-    case V3D_SHADING_OBJECT_COLOR:
-      return eMaterialSubType::OBJECT;
-    case V3D_SHADING_VERTEX_COLOR:
-      return eMaterialSubType::ATTRIBUTE;
-    default:
-      BLI_assert_unreachable();
-      return static_cast<eMaterialSubType>(-1);
-  }
-}
-
 }  // namespace blender::workbench
diff --git a/source/blender/draw/engines/workbench/workbench_mesh_passes.cc b/source/blender/draw/engines/workbench/workbench_mesh_passes.cc
index 0d07232781d..51a403403ae 100644
--- a/source/blender/draw/engines/workbench/workbench_mesh_passes.cc
+++ b/source/blender/draw/engines/workbench/workbench_mesh_passes.cc
@@ -22,19 +22,19 @@ void MeshPass::init_pass(SceneResources &resources, DRWState state)
   bind_ubo(WB_WORLD_SLOT, resources.world_buf);
 }
 
-void MeshPass::init_subpasses(ePipelineType pipeline, eShadingType shading, ShaderCache &shaders)
+void MeshPass::init_subpasses(ePipelineType pipeline, eLightingType shading, ShaderCache &shaders)
 {
   texture_subpass_map_.clear();
 
   for (auto geom : IndexRange(geometry_type_len)) {
-    for (auto color : IndexRange(color_type_len)) {
+    for (auto shader : IndexRange(shader_type_len)) {
       eGeometryType geom_type = static_cast<eGeometryType>(geom);
-      eColorType color_type = static_cast<eColorType>(color);
-      std::string name = std::string(get_name(geom_type)) + std::string(get_name(color_type));
-      GPUShader *sh = shaders.prepass_shader_get(pipeline, geom_type, color_type, shading);
+      eShaderType shader_type = static_cast<eShaderType>(shader);
+      std::string name = std::string(get_name(geom_type)) + std::string(get_name(shader_type));
+      GPUShader *sh = shaders.prepass_shader_get(pipeline, geom_type, shader_type, shading);
       PassMain::Sub *pass = &sub(name.c_str());
       pass->shader_set(sh);
-      passes_[geom][color] = pass;
+      passes_[geom][shader] = pass;
     }
   }
 }
@@ -61,7 +61,7 @@ PassMain::Sub &MeshPass::sub_pass_get(ObjectRef &ref,
     if (texture) {
       auto add_cb = [&] {
         PassMain::Sub *sub_pass =
-            passes_[static_cast<int>(geometry_type)][static_cast<int>(eColorType::TEXTURE)];
+            passes_[static_cast<int>(geometry_type)][static_cast<int>(eShaderType::TEXTURE)];
         sub_pass = &sub_pass->sub(image->id.name);
         if (tilemap) {
           sub_pass->bind_texture(WB_TILE_ARRAY_SLOT, texture, sampler_state);
@@ -83,7 +83,7 @@ PassMain::Sub &MeshPass::sub_pass_get(ObjectRef &ref,
                                                     add_cb);
     }
   }
-  return *passes_[static_cast<int>(geometry_type)][static_cast<int>(eColorType::MATERIAL)];
+  return *passes_[static_cast<int>(geometry_type)][static_cast<int>(eShaderType::MATERIAL)];
 }
 
 void OpaquePass::sync(const SceneState &scene_state, SceneResources &resources)
@@ -95,17 +95,17 @@ void OpaquePass::sync(const SceneState &scene_state, SceneResources &resources)
   gbuffer_in_front_ps_.init_pass(resources, in_front_state);
   gbuffer_in_front_ps_.state_stencil(0xFF, 0xFF, 0x00);
   gbuffer_in_front_ps_.init_subpasses(
-      ePipelineType::OPAQUE, scene_state.shading_type, resources.shader_cache);
+      ePipelineType::OPAQUE, scene_state.lighting_type, resources.shader_cache);
 
   state |= DRW_STATE_STENCIL_NEQUAL;
   gbuffer_ps_.init_pass(resources, state);
   gbuffer_ps_.state_stencil(0x00, 0xFF, 0xFF);
   gbuffer_ps_.init_subpasses(
-      ePipelineType::OPAQUE, scene_state.shading_type, resources.shader_cache);
+      ePipelineType::OPAQUE, scene_state.lighting_type, resources.shader_cache);
 
   deferred_ps_.init();
   deferred_ps_.shader_set(resources.shader_cache.resolve_shader_get(ePipelineType::OPAQUE,
-                                                                    scene_state.shading_type,
+                                                                    scene_state.lighting_type,
                                                                     scene_state.draw_cavity,
                                                                     scene_state.draw_curvature));
   deferred_ps_.bind_ubo(WB_WORLD_SLOT, resources.world_buf);
@@ -176,12 +176,12 @@ void TransparentPass::sync(const SceneState &scene_state, SceneResources &resour
   accumulation_ps_.state_stencil(0x00, 0xFF, 0xFF);
   accumulation_ps_.clear_color(float4(0.0f, 0.0f, 0.0f, 1.0f));
   accumulation_ps_.init_subpasses(
-      ePipelineType::TRANSPAREN

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list