Jump to content
  • Advertisement
Sign in to follow this  
ChristOwnsMe

Procedural Chunked LOD

This topic is 2288 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello. Is it possible to use perlin noise to procedural generate more children in a chunked lod quad tree? I want to be able to do this on a planet lod system, so that the only thing I have to store for a planet is a seed for the noise, and then generate the chunks as you zoom in. All the papers I've read talk about reading heightmaps from a file. If this is possible does anyone have any links to available info on this subject? Thanks.

Share this post


Link to post
Share on other sites
Advertisement
I don't know why it should be impossible nor do I have any materials to point you to, but it's generally the same as reading heightmaps from a file except you won't have to read the heightmaps from a file - just generate heightmaps on the fly. Here's the undetailed and unelegant way on how I would implement it:
1. Generate a cube with each corner of cube at distance R from the center of cube.
2. Subdivide like you would subdivide a LOD while keeping each added point of subdivision at distance R from center of cube. It should be something like this:

Given:
Vo - original vector of point location
C - center of cube
Calculate:
Vf - final vector of point location
Vf = ((Vo-C)/distanceBetween(C, Vo))*R + C

3. Add noise to each point. Since you'll want to keep the points on the edges of cube seamless, you can blend in some noise from adjacent sides.
4. Deal with any pesky details that arise with chunked lod quadtrees smile.png

You might want to check out http://en.wikipedia....i/Simplex_noise or other noise algorithms as well. Speed might become an issue when you have to generate a lot of data and it should be possible to generate Simplex noise faster than Perlin noise.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!