[Bf-blender-cvs] [aa3a485e9d1] tmp-workbench-rewrite2: tidier draw_mesh
Miguel Pozo
noreply at git.blender.org
Fri Oct 28 15:11:16 CEST 2022
Commit: aa3a485e9d13a497e53f805ca417ea376fdb0d88
Author: Miguel Pozo
Date: Mon Oct 24 12:54:28 2022 +0200
Branches: tmp-workbench-rewrite2
https://developer.blender.org/rBaa3a485e9d13a497e53f805ca417ea376fdb0d88
tidier draw_mesh
===================================================================
M source/blender/draw/engines/workbench/workbench_engine.cc
===================================================================
diff --git a/source/blender/draw/engines/workbench/workbench_engine.cc b/source/blender/draw/engines/workbench/workbench_engine.cc
index 9b0501bdcf1..0d36b70b87f 100644
--- a/source/blender/draw/engines/workbench/workbench_engine.cc
+++ b/source/blender/draw/engines/workbench/workbench_engine.cc
@@ -465,32 +465,31 @@ class Instance {
ImageUser *iuser = nullptr)
{
const bool in_front = (ob_ref.object->dtx & OB_DRAW_IN_FRONT) != 0;
+
+ auto draw = [&](MeshPass &pass) {
+ pass.sub_pass_get(ob_ref, image, sampler_state, iuser).draw(batch, handle);
+ };
+
if (xray_mode || material.is_transparent()) {
if (in_front) {
- transparent_ps.accumulation_in_front_ps_.sub_pass_get(ob_ref, image, sampler_state, iuser)
- .draw(batch, handle);
+ draw(transparent_ps.accumulation_in_front_ps_);
if (draw_transparent_depth) {
- transparent_depth_ps.in_front_ps_.sub_pass_get(ob_ref, image, sampler_state, iuser)
- .draw(batch, handle);
+ draw(transparent_depth_ps.in_front_ps_);
}
}
else {
- transparent_ps.accumulation_ps_.sub_pass_get(ob_ref, image, sampler_state, iuser)
- .draw(batch, handle);
+ draw(transparent_ps.accumulation_ps_);
if (draw_transparent_depth) {
- transparent_depth_ps.main_ps_.sub_pass_get(ob_ref, image, sampler_state, iuser)
- .draw(batch, handle);
+ draw(transparent_depth_ps.main_ps_);
}
}
}
else {
if (in_front) {
- opaque_ps.gbuffer_in_front_ps_.sub_pass_get(ob_ref, image, sampler_state, iuser)
- .draw(batch, handle);
+ draw(opaque_ps.gbuffer_in_front_ps_);
}
else {
- opaque_ps.gbuffer_ps_.sub_pass_get(ob_ref, image, sampler_state, iuser)
- .draw(batch, handle);
+ draw(opaque_ps.gbuffer_ps_);
}
}
}
More information about the Bf-blender-cvs
mailing list