Blender
V3.3
|
Public Attributes | |
struct DRWInstanceData * | next |
bool | used |
size_t | data_size |
BLI_mempool * | mempool |
DRW Instance Data Manager This is a special memory manager that keeps memory blocks ready to send as VBO data in one continuous allocation. This way we avoid feeding GPUBatch each instance data one by one and unnecessary memcpy. Since we lose which memory block was used each DRWShadingGroup we need to redistribute them in the same order/size to avoid to realloc each frame. This is why #DRWInstanceDatas are sorted in a list for each different data size.
Definition at line 38 of file draw_instance_data.c.
size_t DRWInstanceData::data_size |
Definition at line 41 of file draw_instance_data.c.
Referenced by drw_instance_data_create().
BLI_mempool* DRWInstanceData::mempool |
Definition at line 42 of file draw_instance_data.c.
Referenced by drw_instance_data_create(), DRW_instance_data_free(), DRW_instance_data_list_resize(), and DRW_instance_data_next().
struct DRWInstanceData* DRWInstanceData::next |
Definition at line 39 of file draw_instance_data.c.
Referenced by drw_instance_data_create(), DRW_instance_data_list_free(), DRW_instance_data_list_free_unused(), DRW_instance_data_list_reset(), DRW_instance_data_list_resize(), and DRW_instance_data_request().
bool DRWInstanceData::used |
Definition at line 40 of file draw_instance_data.c.
Referenced by drw_instance_data_create(), DRW_instance_data_list_free_unused(), DRW_instance_data_list_reset(), and DRW_instance_data_request().