83 rev = lip ? lip->
data : 0;
93 size_t set_size =
size;
99 smpn->size = total_size;
158 double (*mProjection)[4],
double fFov_rad,
double fAspect,
double zMin,
double zMax)
166 yMax = zMin *
tan(fFov_rad * 0.5f);
168 xMin = yMin * fAspect;
172 xMax = zMin *
tan(fFov_rad * 0.5f);
174 yMin = xMin / fAspect;
180 mProjection[0][0] = (2.0f * zMin) / (xMax - xMin);
181 mProjection[1][1] = (2.0f * zMin) / (yMax - yMin);
182 mProjection[2][0] = (xMax + xMin) / (xMax - xMin);
183 mProjection[2][1] = (yMax + yMin) / (yMax - yMin);
184 mProjection[2][2] = -((zMax + zMin) / (zMax - zMin));
185 mProjection[2][3] = -1.0f;
186 mProjection[3][2] = -((2.0f * (zMax * zMin)) / (zMax - zMin));
187 mProjection[3][3] = 0.0f;
199 mProjection[0][0] = 2.0f / (xMax - xMin);
200 mProjection[1][1] = 2.0f / (yMax - yMin);
201 mProjection[2][2] = -2.0f / (zMax - zMin);
202 mProjection[3][0] = -((xMax + xMin) / (xMax - xMin));
203 mProjection[3][1] = -((yMax + yMin) / (yMax - yMin));
204 mProjection[3][2] = -((zMax + zMin) / (zMax - zMin));
205 mProjection[3][3] = 1.0f;
212 size_t count_this = 0;
218 printf(
"LANPR Memory allocated %zu Standalone nodes, total %zu Bytes.\n", count_this, sum_this);
225 sum_this += reln->element_count *
sizeof(
LineartEdge);
227 printf(
" allocated %zu edge blocks, total %zu Bytes.\n", count_this, sum_this);
236 printf(
" allocated %zu triangle blocks, total %zu Bytes.\n", count_this, sum_this);
void * BLI_pophead(ListBase *listbase) ATTR_NONNULL(1)
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 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)
SyclQueue void void size_t num_bytes void
void * lineart_list_pop_pointer_no_free(ListBase *h)
void * lineart_mem_acquire(LineartStaticMemPool *smp, size_t size)
void * lineart_mem_acquire_thread(LineartStaticMemPool *smp, size_t size)
void * lineart_list_append_pointer_pool(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)
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_list_append_pointer_pool_sized(ListBase *h, LineartStaticMemPool *smp, void *data, int size)
void lineart_list_remove_pointer_item_no_free(ListBase *h, LinkData *lip)
void * lineart_list_append_pointer_pool_sized_thread(ListBase *h, LineartStaticMemPool *smp, void *data, int size)
void lineart_mem_destroy(LineartStaticMemPool *smp)
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)
INLINE Rall1d< T, V, S > tan(const Rall1d< T, V, S > &arg)
ListBase line_buffer_pointers
ListBase triangle_buffer_pointers
LineartStaticMemPool render_data_pool
struct LineartData::_geom geom