Open Rubydesic opened 1 year ago
or the bounding volume is extremely large, i.e. Int.MIN_VALUE to Int.MAX_VALUE
When you are saying this, you've realized that there is always a bounding volume. Then let's just use that in Taichi.
The problem is then I have to either allocate a very large grid of pointers, which takes up too much memory, or use many levels of pointer SNodes, which is bad for performance. Ideally I would want something like a hashtable, but I'm not sure how I would implement that in taichi.
edit: what I want is essentially a 3D sparse grid where the dimensions are 2^32
x 2^32
x 2^32
, but without exhausting all of the GPU memory.
Ah I got it. Taichi used to have a hash
SNode but it isn't available now. We are planning to restore its support (#4569). For now, unfortunately, you may need multi levels of pointer
SNodes.
Sparse fields let us save space if our region of interest is much smaller than our bounding volume - but what if we don't have a bounding volume? (or the bounding volume is extremely large, i.e.
Int.MIN_VALUE
toInt.MAX_VALUE
). What's the best way to approach this with Taichi?