16 #define NOR_AND_FLAG_DEFAULT 0
17 #define NOR_AND_FLAG_SELECT 1
18 #define NOR_AND_FLAG_ACTIVE -1
19 #define NOR_AND_FLAG_HIDDEN -2
28 if (
format.attr_len == 0) {
42 static float invalid_normal[3] = {0.0f, 0.0f, 0.0f};
48 for (
int f = 0; f < mr->
poly_len; f++) {
66 for (
int f = 0; f < mr->
poly_len; f++) {
110 if (
format.attr_len == 0) {
124 static float invalid_normal[3] = {0.0f, 0.0f, 0.0f};
130 for (
int f = 0; f < mr->
poly_len; f++) {
148 for (
int f = 0; f < mr->
poly_len; f++) {
MINLINE void normal_float_to_short_v3(short r[3], const float n[3])
struct GPUVertBuf GPUVertBuf
void GPU_vertbuf_data_alloc(GPUVertBuf *, uint v_len)
#define GPU_vertbuf_init_with_format(verts, format)
void * GPU_vertbuf_get_data(const GPUVertBuf *verts)
#define BM_elem_flag_test(ele, hflag)
BLI_INLINE BMFace * BM_face_at_index(BMesh *bm, const int index)
constexpr MeshExtract create_extractor_fdots_nor()
static void extract_fdots_nor_init(const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(tls_data))
constexpr MeshExtract create_extractor_fdots_nor_hq()
static void extract_fdots_nor_finish(const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(data))
static void extract_fdots_nor_hq_finish(const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(data))
static void extract_fdots_nor_hq_init(const MeshRenderData *mr, MeshBatchCache *UNUSED(cache), void *buf, void *UNUSED(tls_data))
eMRExtractType extract_type