Blender  V2.93
gpu_batch_utils.c File Reference
#include "MEM_guardedalloc.h"
#include "BLI_math.h"
#include "BLI_polyfill_2d.h"
#include "BLI_rect.h"
#include "BLI_sort_utils.h"
#include "BLI_utildefines.h"
#include "GPU_batch.h"
#include "GPU_batch_utils.h"

Go to the source code of this file.

Functions

Polygon Creation (2D)
GPUBatchGPU_batch_tris_from_poly_2d_encoded (const uchar *polys_flat, uint polys_flat_len, const rctf *rect)
 
GPUBatchGPU_batch_wire_from_poly_2d_encoded (const uchar *polys_flat, uint polys_flat_len, const rctf *rect)
 

Function Documentation

◆ GPU_batch_tris_from_poly_2d_encoded()

GPUBatch* GPU_batch_tris_from_poly_2d_encoded ( const uchar polys_flat,
uint  polys_flat_len,
const rctf rect 
)

Creates triangles from a byte-array of polygons.

See 'make_shape_2d_from_blend.py' utility to create data to pass to this function.

Parameters
polys_flatPairs of X, Y coordinates (repeating to signify closing the polygon).
polys_flat_lenLength of the array (must be an even number).
rectOptional region to map the byte 0..255 coords to. When not set use -1..1.

Definition at line 45 of file gpu_batch_utils.c.

References attr_id, BLI_assert, BLI_polyfill_calc(), copy_v2_v2(), float(), GPU_batch_create_ex(), GPU_BATCH_OWNS_INDEX, GPU_BATCH_OWNS_VBO, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_indexbuf_add_tri_verts(), GPU_indexbuf_build(), GPU_indexbuf_init(), GPU_PRIM_TRIS, GPU_vertbuf_attr_get_raw_data(), GPU_vertbuf_create_with_format, GPU_vertbuf_data_alloc(), GPU_vertbuf_raw_step(), GPU_vertformat_attr_add(), MEM_freeN, MEM_mallocN, pos, t, UNPACK3, verts, rctf::xmax, rctf::xmin, rctf::ymax, and rctf::ymin.

◆ GPU_batch_wire_from_poly_2d_encoded()

GPUBatch* GPU_batch_wire_from_poly_2d_encoded ( const uchar polys_flat,
uint  polys_flat_len,
const rctf rect 
)