Planet Rendering

posted in A Hobbyist Tale
Published November 11, 2016
Advertisement

Something I've always been interested in is planet rendering.
Although it's been done a few time in Unity already, I'm having a go at it.
It's one of those complicated things that require you to be firing on all cylinders.
Well, I'm not anywhere near close to anything yet, but after playing with noise generation, custom procedural geometry and custom shaders, I have something to show. The image progression below is 3D noise applied to a custom sphere, a detail diffuse added and adjusted color ramp generated from the noise height values, then lastly the first rough pass of generating tangent space and normal maps from the noise height values.

'Kinda fun.
These images would represent the 20,000 km distance.
Now it's getting close to thinking about how to deal with landing on this sucker.

650360639582517197f8360.41628744.jpg
28277880758251750b42498.58589392.jpg
1422747491582517777b86f5.34095019.jpg
160962769158269b732fd337.32726192.jpg

edit: added blended detail normals.
maybe sharpened it up too much...but I'm just going with it.

8 likes 10 comments

Comments

Alberth

Looks great, imho

November 11, 2016 09:59 AM
Choo Wagga Choo Choo
Thanks. It's a trip in that the Unity scene view is empty and everything is created in code. That was something of a transition for me. Nice in that you feel like you're working with a home brew framework but at the same time you know you've also got the lambo parked in the garage.
November 11, 2016 12:29 PM
lawnjelly

Looks fun, maybe you will be able to add some more channels too like specular or environment map or something, with different values for the different biomes, like having light bouncing off the ocean etc! :)

November 12, 2016 05:41 PM
Choo Wagga Choo Choo
Totally want that...For sure...but it will be in the inner level of detail. (once I figure out how to get there) Right now I'm side tracked with a Rule Engine article to power my game state.
November 12, 2016 11:47 PM
efigenio

Awesome, i really like it , any chance we can get aglimpse of the code ?

November 14, 2016 01:40 PM
Choo Wagga Choo Choo
Better yet, take a look at catlikecoding. I've gone through most of these already and is what my custom implementation is based. For a bit of over kill, check out SimpleRuleEngine. I like this as a scripting style example, but the articles continue on to a neat little GameStateEngine. The last set of articles here have missing links towards the end but his site is searchable and they are there. Just handing you a few scripts doesn't tell the whole story as there is some component set up as well.
November 14, 2016 02:31 PM
Navyman

Next section is to add atmosphere, right? Some clouds on there would be the finishing touch.

November 17, 2016 04:40 AM
Choo Wagga Choo Choo
Thank you for the bump. Lately in the forums (and old topics) there have been some interesting discussions on this. I've gone ahead and have chosen two books on the subject. 3D Engine Design for Virtual Globes (which arrives tomorrow) and Texturing and Modeling : A Procedural Approach. I've always liked GPU Gems 2:Atmospheric Scattering but have had problems with getting the chapter implemented. Clouds would be nice and another good use of my noise methods but far from the finishing touch. I've been trying to keep an eye on your RTS project liking what I'm seeing.
November 17, 2016 12:16 PM
Awoken

Nice, very nice. Makes my efforts at planet rendering look elementary.

November 18, 2016 03:05 PM
Choo Wagga Choo Choo
Thanks for praise. What we're looking at is pretty standard normal mapped geometry. Nothing special yet. Everything you need to make something like this is in the 'catLikeCoding' link above. I've only modified the lesson sphere cube to allow the six faces to have independent uv mapping and applied 3D noise that is also demonstrated and stitched them together for this project. Then went through the normal mapping lessons to get that extra realism. Pretty straight forward. The real trick now is working out level of detail methods to complete the illusion that there is more there than there really is. Hope to make that my next journal entry.
November 19, 2016 02:59 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement
Advertisement