Planet Rendering

Started by
3 comments, last by spacerat 17 years, 1 month ago
How do you render an entire planet such that you can zoom down to ground level of or fly out into space with? How do you account for precision issues at huge distances? Can you use heightmaps? How do you deal with gravity the isn't always in the negative Y direction? I've seen Ysaneya's stuff and its incredible, but I just want to get something barebones up and running!
Advertisement
I think the most logical awnser would be "level of detail".
I dont get what "How do you deal with gravity the isn't always in the negative Y direction?" has to do with the rendering of the world though.
just use a vector pointing towards the center of the planet as the force vector for gravity.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
If I'd got it right from his website Ysaneya uses double percision coordinates.
Sean O'neil has got an interesting LOD algorithm which works (for me) very similar to the one Ysaneya has. See http://sponeil.org (sources included).

I'm using an other methode. I'm using space partioning into segments having their own coordinate system. The problem with the Y direction is solved very elegant.
And I'm rendering into screen layers, too. Check Koci's post http://www.gamedev.net/community/forums/topic.asp?topic_id=422162. He has got a similar idea of these layer drawing and he gives much useful hints.

Heighmaps:
I found the trick of ysaneya good to map a cube to a sphere: Every side of the cube can contain a squared heighmap which you can easily refine for each LOD step. I'm using perlin and Diamond square midpoint displacement.
My spacesim project blog:http://www.simerge.com/
Another good point to start might be the planet renderer of Jochen Winzen; it also includes all source code: http://www.vterrain.org/Packages/IUE/

This topic is closed to new replies.

Advertisement