Fix T99715: Only force optimal display during on cage editing.
This loosens the current implementation a bit to only force optimal display when editing on cage. It used to be any editing mode. Brings GPU based subdivision closer to the CPU version.
This commit is contained in:
parent
33d0b7c5bd
commit
78ad9ebed3
Notes:
blender-bot
2023-02-14 10:29:32 +01:00
Referenced by issue #99715, Regression: Optimal Display can't be turned off in Edit Mode (GPU subdivision)
|
@ -1893,6 +1893,7 @@ void DRW_mesh_batch_cache_create_requested(struct TaskGraph *task_graph,
|
|||
ob->obmat,
|
||||
true,
|
||||
false,
|
||||
do_cage,
|
||||
ts,
|
||||
use_hide);
|
||||
}
|
||||
|
|
|
@ -2019,6 +2019,7 @@ static bool draw_subdiv_create_requested_buffers(Object *ob,
|
|||
const float obmat[4][4],
|
||||
const bool do_final,
|
||||
const bool do_uvedit,
|
||||
const bool do_cage,
|
||||
const ToolSettings *ts,
|
||||
const bool use_hide,
|
||||
OpenSubdiv_EvaluatorCache *evaluator_cache)
|
||||
|
@ -2062,9 +2063,8 @@ static bool draw_subdiv_create_requested_buffers(Object *ob,
|
|||
return false;
|
||||
}
|
||||
|
||||
/* Edges which do not come from coarse edges should not be drawn in edit mode, only in object
|
||||
* mode when optimal display in turned off. */
|
||||
const bool optimal_display = runtime_data->use_optimal_display || is_editmode;
|
||||
/* Edges which do not come from coarse edges should not be drawn in edit cage mode. */
|
||||
const bool optimal_display = runtime_data->use_optimal_display || (is_editmode && !do_cage);
|
||||
|
||||
draw_cache->bm = bm;
|
||||
draw_cache->mesh = mesh_eval;
|
||||
|
@ -2216,6 +2216,7 @@ void DRW_create_subdivision(Object *ob,
|
|||
const float obmat[4][4],
|
||||
const bool do_final,
|
||||
const bool do_uvedit,
|
||||
const bool do_cage,
|
||||
const ToolSettings *ts,
|
||||
const bool use_hide)
|
||||
{
|
||||
|
@ -2239,6 +2240,7 @@ void DRW_create_subdivision(Object *ob,
|
|||
obmat,
|
||||
do_final,
|
||||
do_uvedit,
|
||||
do_cage,
|
||||
ts,
|
||||
use_hide,
|
||||
g_evaluator_cache)) {
|
||||
|
|
|
@ -199,6 +199,7 @@ void DRW_create_subdivision(struct Object *ob,
|
|||
const float obmat[4][4],
|
||||
const bool do_final,
|
||||
const bool do_uvedit,
|
||||
const bool do_cage,
|
||||
const ToolSettings *ts,
|
||||
const bool use_hide);
|
||||
|
||||
|
|
Loading…
Reference in New Issue