84 rev = lip ? lip->
data :
nullptr;
94 size_t set_size =
size;
101 smpn->
size = total_size;
161 double (*mProjection)[4],
double fFov_rad,
double fAspect,
double zMin,
double zMax)
169 yMax = zMin * tan(fFov_rad * 0.5f);
171 xMin = yMin * fAspect;
175 xMax = zMin * tan(fFov_rad * 0.5f);
177 yMin = xMin / fAspect;
183 mProjection[0][0] = (2.0f * zMin) / (xMax - xMin);
184 mProjection[1][1] = (2.0f * zMin) / (yMax - yMin);
185 mProjection[2][0] = (xMax + xMin) / (xMax - xMin);
186 mProjection[2][1] = (yMax + yMin) / (yMax - yMin);
187 mProjection[2][2] = -((zMax + zMin) / (zMax - zMin));
188 mProjection[2][3] = -1.0f;
189 mProjection[3][2] = -((2.0f * (zMax * zMin)) / (zMax - zMin));
190 mProjection[3][3] = 0.0f;
202 mProjection[0][0] = 2.0f / (xMax - xMin);
203 mProjection[1][1] = 2.0f / (yMax - yMin);
204 mProjection[2][2] = -2.0f / (zMax - zMin);
205 mProjection[3][0] = -((xMax + xMin) / (xMax - xMin));
206 mProjection[3][1] = -((yMax + yMin) / (yMax - yMin));
207 mProjection[3][2] = -((zMax + zMin) / (zMax - zMin));
208 mProjection[3][3] = 1.0f;
215 size_t count_this = 0;
221 printf(
"LANPR Memory allocated %zu Standalone nodes, total %zu Bytes.\n", count_this, sum_this);
228 sum_this += reln->element_count *
sizeof(
LineartEdge);
230 printf(
" allocated %zu edge blocks, total %zu Bytes.\n", count_this, sum_this);
239 printf(
" allocated %zu triangle blocks, total %zu Bytes.\n", count_this, sum_this);
void BLI_addhead(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
#define LISTBASE_FOREACH(type, var, list)
void BLI_addtail(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void BLI_remlink(struct ListBase *listbase, void *vlink) ATTR_NONNULL(1)
void * BLI_pophead(ListBase *listbase) ATTR_NONNULL(1)
void unit_m4_db(double m[4][4])
void BLI_spin_unlock(SpinLock *spin)
void BLI_spin_lock(SpinLock *spin)
Read Guarded memory(de)allocation.
struct LineartEdge LineartEdge
struct LineartStaticMemPoolNode LineartStaticMemPoolNode
#define LRT_MEMORY_POOL_1MB
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
LineartStaticMemPoolNode * lineart_mem_new_static_pool(LineartStaticMemPool *smp, size_t size)
void * lineart_list_append_pointer_pool_thread(ListBase *h, LineartStaticMemPool *smp, void *data)
void lineart_prepend_pool(LinkNode **first, LineartStaticMemPool *smp, void *link)
void lineart_count_and_print_render_buffer_memory(LineartData *ld)
void lineart_matrix_perspective_44d(double(*mProjection)[4], double fFov_rad, double fAspect, double zMin, double zMax)
void * lineart_mem_acquire(LineartStaticMemPool *smp, size_t size)
void * lineart_list_append_pointer_pool(ListBase *h, LineartStaticMemPool *smp, void *data)
void * lineart_list_pop_pointer_no_free(ListBase *h)
void lineart_list_remove_pointer_item_no_free(ListBase *h, LinkData *lip)
void * lineart_list_append_pointer_pool_sized(ListBase *h, LineartStaticMemPool *smp, void *data, int size)
void * lineart_mem_acquire_thread(LineartStaticMemPool *smp, size_t size)
void lineart_mem_destroy(LineartStaticMemPool *smp)
void * lineart_list_append_pointer_pool_sized_thread(ListBase *h, LineartStaticMemPool *smp, void *data, int size)
void lineart_matrix_ortho_44d(double(*mProjection)[4], double xMin, double xMax, double yMin, double yMax, double zMin, double zMax)
void MEM_freeN(void *vmemh)
void *(* MEM_callocN)(size_t len, const char *str)
ListBase line_buffer_pointers
ListBase triangle_buffer_pointers
LineartStaticMemPool render_data_pool
struct LineartData::_geom geom