diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/draw/engines/overlay/overlay_wireframe.c | 8 | ||||
-rw-r--r-- | source/blender/draw/intern/draw_cache.c | 3 |
2 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_wireframe.c b/source/blender/draw/engines/overlay/overlay_wireframe.c index 27f3f4ae9af..4749bfe1d48 100644 --- a/source/blender/draw/engines/overlay/overlay_wireframe.c +++ b/source/blender/draw/engines/overlay/overlay_wireframe.c @@ -133,7 +133,7 @@ void OVERLAY_wireframe_cache_populate(OVERLAY_Data *vedata, const bool use_wire = !is_mesh_verts_only && ((pd->overlay.flag & V3D_OVERLAY_WIREFRAMES) || (ob->dtx & OB_DRAWWIRE) || (ob->dt == OB_WIRE)); - if (ELEM(ob->type, OB_CURVE, OB_SURF)) { + if (ELEM(ob->type, OB_CURVE, OB_FONT, OB_SURF)) { OVERLAY_ExtraCallBuffers *cb = OVERLAY_extra_call_buffer_get(vedata, ob); float *color; DRW_object_wire_theme_get(ob, draw_ctx->view_layer, &color); @@ -146,6 +146,12 @@ void OVERLAY_wireframe_cache_populate(OVERLAY_Data *vedata, } geom = DRW_cache_curve_edge_wire_get(ob); break; + case OB_FONT: + if (ob->runtime.curve_cache && BKE_displist_has_faces(&ob->runtime.curve_cache->disp)) { + break; + } + geom = DRW_cache_text_loose_edges_get(ob); + break; case OB_SURF: geom = DRW_cache_surf_edge_wire_get(ob); break; diff --git a/source/blender/draw/intern/draw_cache.c b/source/blender/draw/intern/draw_cache.c index ffd3be9280f..4306f9ac4d7 100644 --- a/source/blender/draw/intern/draw_cache.c +++ b/source/blender/draw/intern/draw_cache.c @@ -3081,8 +3081,7 @@ GPUBatch *DRW_cache_text_loose_edges_get(Object *ob) return DRW_mesh_batch_cache_get_loose_edges(mesh_eval); } else { - /* TODO */ - return NULL; + return DRW_curve_batch_cache_get_wire_edge(cu); } } |