Sign in to follow this  
masha2

3d navigation algorithm

Recommended Posts

masha2    106
Hi

I'm working currently on application that needs 3d navigation and I wonder what are usual logic behind 3d GPS navigation application?

Currently my implementation is like this:

1.Load static size area (4 km)
2.Navigate through the area using frustum culling.
In parallel check if we are coming close to area boundaries, if yes then start thread to
load in temporary buffer new area relative to the current position . When the thread finished
the job , copy to the drawing buffer .

What do you think?


I didn't see it in action yet, cause other parts of the application needed to run the whole thing aren't finished yet, so I'm
kind of nervous how it will work out.

Thanks a lot in advance

Share this post


Link to post
Share on other sites
rouncer    294
This is geometry streaming, and it works, ive done it a little, if its only low poly information it should work quite well, its only once the data gets too detailed it can be a problem, you dont even really need to load in a static sized area, you can literally stream it per frame as the user sees it, and throw it away as the data store gets too big, last seen areas get ditched from memory first.
Megatexturing and voxel raycasting both do this. If you still want to do the "buffer a larger area and stream in large chunks" that idea should work too, but im just saying your computer can actually stream pretty well just instantaniously.

Share this post


Link to post
Share on other sites
masha2    106
[quote name='rouncer' timestamp='1302279391' post='4796018']
This is geometry streaming, and it works, ive done it a little, if its only low poly information it should work quite well, its only once the data gets too detailed it can be a problem, you dont even really need to load in a static sized area, you can literally stream it per frame as the user sees it, and throw it away as the data store gets too big, last seen areas get ditched from memory first.
Megatexturing and voxel raycasting both do this. If you still want to do the "buffer a larger area and stream in large chunks" that idea should work too, but im just saying your computer can actually stream pretty well just instantaniously.
[/quote]

Thanks! You gave me a lot of info just in few sentences. My decision to go with "buffer a larger area and stream in large chunks" was because of significant data preprocessing I need to do .
So I think my solution is best from all others you mentioned. Of course megatexturing would be an option too, but instantaneous streaming can be problematic and voxel ray casting even less appropriate.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this