Jump to content
  • Advertisement
Sign in to follow this  
  • entries
    2
  • comment
    1
  • views
    2901

Redesigning the height generator

Sign in to follow this  
necro1895

1007 views

[color=#000000][font=arial, sans-serif]

The last days i worked on the terrain generator. I was not satisfied with the result of my unparameterized height-generator. Because there were no significant continents or mountains. So i decided to implement a node-based height-generator, which will gives me overall control of the generation process.

[/font][/color]

[color=#000000][font=arial, sans-serif]

Node based systems are easy to explain. You have a source (or n sources) and a destination. Between these two points, there can exist 0..n modifier nodes which are modifying the incoming value. So i am abled to mix two noise-functions for getting a combined height value. Actually there are no restrictions in the number of sources, but of course you just have one output node.

[/font][/color]

[color=#000000][font=arial, sans-serif]

In the screenshot below i used ridged-multifractal and perlin noise. They are scaled, got an negative offset and are added together in proportion 1 to 3.

[/font][/color]

[color=#000000][font=arial, sans-serif]

I oriented myself on the blender node-system, which was a great inspiration. So i can also do easy mathematical operations like mix, add, sub, mul, div or trigonometric operations, ...

[/font][/color]

[color=#000000][font=arial, sans-serif]

The whole power of this system can just be used, if there is a GUI like in blender. Today i tried to combine windows forms with the xna-GraphicsDevice. But unfortunately i have a design-lack on my planet-class, so i cannot use them in this windows form (yet). I will try to find a solution for that. Actually I'll need an xna-internal GUI, but thats very cumbersome and eats a lot of time. Because of finalizing my vacation tomorrow, i cannot really spend much time on that now. But i have to, because i need it.

[/font][/color]

[color=#000000][font=arial, sans-serif]

The last point of interesting is the simple terrain-colorizer. Its just a simple pixelshader which colorizes the surface in depency of the height. If there is a GUI for the node-stuff, i will also parameterize the colors and tresholds. Planets with sand, grass, mountains are quite boring.

[/font][/color]

[color=#000000][font=arial, sans-serif]

ToDos:

[/font][/color]
[color=#000000][font=arial, sans-serif]

- Implementing atmospheric scattering

[/font][/color]
[color=#000000][font=arial, sans-serif]

- Implementing frustum-dependent LoD (my current algorithm is slow and doesnt work quite well)

[/font][/color]

[color=#000000][font=arial, sans-serif]

1aaa.png

[/font][/color]
Sign in to follow this  


1 Comment


Recommended Comments

Always found interest in planetary generation, looks good so far. Be great to see more of this

Share this comment


Link to comment

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
  • Advertisement
×

Important Information

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

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!