diff --git a/source/blender/draw/intern/draw_pbvh.cc b/source/blender/draw/intern/draw_pbvh.cc index c103969987a..1eb9d1eed12 100644 --- a/source/blender/draw/intern/draw_pbvh.cc +++ b/source/blender/draw/intern/draw_pbvh.cc @@ -314,6 +314,21 @@ static const CustomData *get_cdata(bke::AttrDomain domain, const PBVH_GPU_Args & } } +template T fallback_value_for_fill() +{ + return T(); +} + +template<> ColorGeometry4f fallback_value_for_fill() +{ + return ColorGeometry4f(1.0f, 1.0f, 1.0f, 1.0f); +} + +template<> ColorGeometry4b fallback_value_for_fill() +{ + return fallback_value_for_fill().encode(); +} + struct PBVHBatches { Vector vbos; Map batches; @@ -584,7 +599,7 @@ struct PBVHBatches { using VBOType = typename Converter::VBOType; std::fill_n(static_cast(GPU_vertbuf_get_data(vbo.vert_buf)), GPU_vertbuf_get_vertex_len(vbo.vert_buf), - VBOType()); + Converter::convert(fallback_value_for_fill())); }); } }