较小的指针...可能吗? (没有较低规格的系统) [英] Smaller pointers... possible? (without a lower spec system)
问题描述
在此2010年纸 [1] 关于光线稀疏体素八叉树(SVO)的广播(不好意思;本文需要花费一些时间来加载),第3节指出了一种有趣的内存设置,可以节省体素数据上的空间,该空间几乎总是很大.
In this 2010 paper[1] on raycasting sparse voxel octrees (SVOs) (apologies; the paper takes a while to load), section 3 indicates an interesting memory setup to save space on voxel data, which almost invariably is very large.
它们指定一个15位相对指针,并带有一个1位标志来指定是否需要一个远指针(如果体数据太大,则设置该标志,并认为15位指针指向到第二个远指针).
They specify a 15-bit relative pointer, with a 1-bit flag to specify whether a far pointer is needed (if the volume data is too large, the flag is set, and the 15-bit pointer is considered to point to a secondary, far pointer).
正在做什么来实现这一目标?这与CUDA/GPU有关吗?通过C ++代码中的某种自定义分配器完成吗?
What's being done to achieve this? Is this something to do with CUDA / the GPU? Is it done through a custom allocator of some sort, in C++ code?
如果有的话,如何在C ++中完成?
How would this be done in C++, if at all?
[1] 高效的稀疏体素八进制:Samuli Laine,Tero Karras; NVIDIA研究
推荐答案
好吧,您总是可以手动将内存存储在数组中,并使用整数索引作为指针".
Well, you can always manually store the memory in an array and use integer indexes as "pointers".
这篇关于较小的指针...可能吗? (没有较低规格的系统)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!