Notifications
Clear all

Procedural planets


NevilClavain
(@krakoukass)
Warrant Officer Registered
Joined: 8 years ago
Posts: 203
Topic starter  

So Those last days I reactivated the procedural planets code of my new engine, which has long been in hibernation. I started to implement Sam O'Neil's Perlin Noise/fractal functions. My first idea was to implement it directly on the GPU, which was done successfully, but unfortunately this is useless, because of the heavy computation load it implies. My though is that GPU are not really designed for this kind of computation - at least in the way I implemented it. Anyway it works, and I keep it in my pocket, maybe for rework on it later. For the moment the workaround is to compute it on CPU, in separate thread so as not to hurt the framerate; those thread will use the Perlin Noise/fractal functions to generate heightmap texture/colormap texture/whatever textures, later binded to shaders.

 

Here are some screengrab of this very early WIP version. For the moment the result is quite ugly, amplified by the fact that there is no light/shade effects. I got alot of work to do to reach the level (graphically speaking) of my old previous engine (2012).

 

planet01.jpg

 

 

planet02.jpg


Quote
fluffyfreak
(@fluffyfreak)
Captain Registered
Joined: 8 years ago
Posts: 1306
 

First of all, don't beat be so hard on yourself, it makes the rest of us look bad 😉

 

Seriously good looking planet you've got there. Already a lot better than a lot of Pioneers and it will only get better the more you work at it I am sure.

 

For GPU based noise try taking a look at wombat and the (for Unity but easy to translate back) Turbulence library for how they do it.

 

The only reason Pioneer doesn't have GPU noise yet is OSX/Linux/Windows. I can get it to work on any 2 out of 3 platforms at a time 🙁


ReplyQuote
NevilClavain
(@krakoukass)
Warrant Officer Registered
Joined: 8 years ago
Posts: 203
Topic starter  

Thanks ! I'll take a look of the links !

 

The only reason Pioneer doesn't have GPU noise yet is OSX/Linux/Windows. I can get it to work on any 2 out of 3 platforms at a time  🙁

Surprising that OpenGL is not able to work correctly on each of those platforms ???


ReplyQuote
fluffyfreak
(@fluffyfreak)
Captain Registered
Joined: 8 years ago
Posts: 1306
 

Oh it works it's just got different problems so I need to solve them 3 different ways.

It drives me mad, I need to take another run at it sometime soon.


ReplyQuote
Geraldine
(@geraldine)
Rear Admiral Registered
Joined: 8 years ago
Posts: 3459
 

Wait! Um...er....are you back working on X Frontier Nevil?


ReplyQuote
NevilClavain
(@krakoukass)
Warrant Officer Registered
Joined: 8 years ago
Posts: 203
Topic starter  

 

  

Wait! Um...er....are you back working on X Frontier Nevil?

 

 

... to be honest, I'm not really sure right now.

 

I went across a phase of global discouragment at the beginning of this summer.

 

The only thing that is sure is that I like to hack and experiment things; for me, the "call of code" is stronger than every thing else. I also spend some little time on Android, linux kernel, etc...

I refocused this forum space that D1 kindly created for me on more "technical" topics

 

So let's see where all of this will lead me ... ? 

 


ReplyQuote
fluffyfreak
(@fluffyfreak)
Captain Registered
Joined: 8 years ago
Posts: 1306
 

That's the best way, just do what you find fun.


ReplyQuote
fluffyfreak
(@fluffyfreak)
Captain Registered
Joined: 8 years ago
Posts: 1306
 

Oh I just remembered about this post on SoA which describes their terrain generation process and how they organise / control the data for it.

 

It's very well written, interesting wireframe shows that they use skirts to avoid having to stitch terrain patch neighbours together.

 

I'm about to post the link on our forum too 😀


ReplyQuote
NevilClavain
(@krakoukass)
Warrant Officer Registered
Joined: 8 years ago
Posts: 203
Topic starter  

Oh I just remembered about this post on SoA which describes their terrain generation process and how they organise / control the data for it.

 

It's very well written, interesting wireframe shows that they use skirts to avoid having to stitch terrain patch neighbours together.

 

I'm about to post the link on our forum too 😀

 

Interesting, have to take a look at this one, thanks for the link Andy

 

I'm currently trying to integrate and adapt this one in my framework  I like the elegance and simplicity of the algorithm


ReplyQuote