[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