74 rev = lip ? lip->
data : 0;
84 size_t set_size =
size;
90 smpn->size = total_size;
141 e_n->
next = (*first);
156 double (*mProjection)[4],
double fFov_rad,
double fAspect,
double zMin,
double zMax)
164 yMax = zMin *
tan(fFov_rad * 0.5f);
166 xMin = yMin * fAspect;
170 xMax = zMin *
tan(fFov_rad * 0.5f);
172 yMin = xMin / fAspect;
178 mProjection[0][0] = (2.0f * zMin) / (xMax - xMin);
179 mProjection[1][1] = (2.0f * zMin) / (yMax - yMin);
180 mProjection[2][0] = (xMax + xMin) / (xMax - xMin);
181 mProjection[2][1] = (yMax + yMin) / (yMax - yMin);
182 mProjection[2][2] = -((zMax + zMin) / (zMax - zMin));
183 mProjection[2][3] = -1.0f;
184 mProjection[3][2] = -((2.0f * (zMax * zMin)) / (zMax - zMin));
185 mProjection[3][3] = 0.0f;
197 mProjection[0][0] = 2.0f / (xMax - xMin);
198 mProjection[1][1] = 2.0f / (yMax - yMin);
199 mProjection[2][2] = -2.0f / (zMax - zMin);
200 mProjection[3][0] = -((xMax + xMin) / (xMax - xMin));
201 mProjection[3][1] = -((yMax + yMin) / (yMax - yMin));
202 mProjection[3][2] = -((zMax + zMin) / (zMax - zMin));
203 mProjection[3][3] = 1.0f;
210 size_t count_this = 0;
216 printf(
"LANPR Memory allocated %zu Standalone nodes, total %zu Bytes.\n", count_this, sum_this);
223 sum_this += reln->element_count *
sizeof(
LineartEdge);
225 printf(
" allocated %zu edge blocks, total %zu Bytes.\n", count_this, sum_this);
234 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_64MB
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void lineart_count_and_print_render_buffer_memory(LineartRenderBuffer *rb)
void * lineart_list_pop_pointer_no_free(ListBase *h)
void * lineart_mem_aquire_thread(LineartStaticMemPool *smp, size_t size)
void * lineart_list_append_pointer_pool(ListBase *h, LineartStaticMemPool *smp, void *data)
void * lineart_mem_aquire(LineartStaticMemPool *smp, size_t size)
void lineart_prepend_pool(LinkNode **first, LineartStaticMemPool *smp, void *link)
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_prepend_edge_direct(LineartEdge **first, void *node)
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_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)
struct LineartEdge * next
ListBase line_buffer_pointers
ListBase triangle_buffer_pointers
LineartStaticMemPool render_data_pool