27 return std::any_of(face_verts.
begin(), face_verts.
end(), [&](
const int vert) {
28 return facedot_tags[vert];
37 const int max_index =
mask.min_array_size();
41 mask.to_indices<
int>(
data.cast<
int>());
blender::MutableSpan< uint32_t > GPU_indexbuf_get_data(GPUIndexBufBuilder *)
void GPU_indexbuf_init(GPUIndexBufBuilder *, GPUPrimType, uint prim_len, uint vertex_len)
blender::gpu::IndexBuf * GPU_indexbuf_build_ex(GPUIndexBufBuilder *builder, uint index_min, uint index_max, bool uses_restart_indices)
#define BM_elem_flag_test_bool(ele, hflag)
BMesh const char void * data
BLI_INLINE BMFace * BM_face_at_index(BMesh *bm, const int index)
constexpr bool is_empty() const
static IndexMask from_predicate(const IndexMask &universe, GrainSize grain_size, IndexMaskMemory &memory, Fn &&predicate)
static IndexMask from_bools_inverse(const VArray< bool > &bools, IndexMaskMemory &memory)
constexpr Span slice(int64_t start, int64_t size) const
constexpr const T * end() const
constexpr const T * begin() const
ccl_device_inline float2 mask(const MaskType mask, const float2 a)
static gpu::IndexBufPtr extract_face_dots_mesh(const MeshRenderData &mr)
gpu::IndexBufPtr extract_face_dots(const MeshRenderData &mr)
static void index_mask_to_ibo(const IndexMask &mask, gpu::IndexBuf &ibo)
static IndexMask calc_face_visibility_mesh(const MeshRenderData &mr, IndexMaskMemory &memory)
static gpu::IndexBufPtr extract_face_dots_bm(const MeshRenderData &mr)
std::unique_ptr< IndexBuf, IndexBufDeleter > IndexBufPtr
MeshRuntimeHandle * runtime
MeshExtractType extract_type
VArraySpan< bool > hide_poly
OffsetIndices< int > faces