🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Should I use a sparse voxel octree to represent the map of the world?

Started by
0 comments, last by Tangletail 8 years ago

I have been going over a few articles on sparse voxel octrees,

my first impression on this stuff is it reduces a lot of memory footprint, of course,

because of its sparseness, but is it useful for pathfinding?

If the space where an agent is staying is empty, should I Ieave it alone and

there should be "no" octants in that position.

It seems to me that SVO is used only for representing graphics.

Should I bother using a SVO to represent the map of the world?

My thought was that when there is something like an inclined ramp

on the map involved, I can retrieve the triangle of that part of the geometry and

find the bounding box of it (as suggested by another member in this forum),

and finding the intersection between the "current" octant and the geometry,

if they intersect, I divide it up and turn them into 8 children of that octant,

and I can use the pivot point in each divided octant as waypoints...

I am not sure I 100% understand what he taught me, I may misunderstand,

but is it the correct way to do it, should I use the sparse way or leave it as dense?

Thanks

Jack

Advertisement

This all honestly depends dude. SVO -can- be used for representing the world, but it's primairly used in graphics to reduce the memory footprint where it matters. You can use it to represent the world if you can justify the costs for the extra bit of processing time, and cache missing caused by it. But really... it adds a needless layer of complexity where it does not belong.

Also, You can use a SVO for path-finding, it's just not recommended. Take a brief moment to look into Recast Detour library. because you're already using voxels, it should be a piece of cake to implement, and run relatively quickly for you as you're skipping several steps. It should be able to develop a very effective pathfinding grid at runtime for you. But I recommend doing it piece by piece.

This topic is closed to new replies.

Advertisement