Skip to content

aarondemolder/nodenoise

Repository files navigation

nodenoise

A node based terrain generator using Qt, Paceholder's Nodeeditor, and libnoise.

Features

  • Perlin, Billow, RidgedMulti & Voronoi coherent noise generators with value setting nodes
  • Heightmap Generation with resolution & bound setting nodes
  • Image Rendering with automatic gradient generation - brightness, contrast & colour setting nodes
  • Image Exporter (for use as displacement maps), Image viewer and Image Importer
  • Preview Link node to send heightmaps to NNPRV to preview heightmaps in 3D, and export OBJ files
  • Ability to save and load node graphs in .flow files (json format)

coherent obj exports

Known Issues

  • Changing bounds or resolution values after heightmap generation doesn't affect result until the 'Terrain' input data is refreshed - temp workaround is by clicking generator image

Future Features

  • libnoise Scale Bias implementation
  • libnoise Selection & Combiner nodes
  • User input paint tools for raising/digging terrain - though for now this can be done on the OBJ in 3D DCC of choice by scalaing a soft selection.
  • Multi-threaded noise generation by dividing chunks set by the bounds
  • Image combiner nodes such as Add, Multiply, Divide etc
  • Heightmap clipping indicator
  • Merge ID declaration with Terrain Data

nodenoise graph editor

NNPRV

Use NNPRV to preview terrain as your generate your heightmaps.

nodenoise editor and NNPRV

Video

video preview

Setup

To setup nodenoise & nnprv to work with each other, just make sure you clone into the same directory: (this includes the tests ) directory structure

  1. Open nodenoise
  2. Right click in the graph to open the node menu (you can search by typing!)
  3. Connect your nodes together and output terrains!

A file demonstrating a simple graph is provided in flows/perlin_demo.flow You can load this with the menu bar.

To create a terrain, you'll want:

  1. A noise generator (Perlin, Billow, RidgedMulti, Voronoi)
  2. A heightmap generator - You can alter the resolution and generator bounds
  3. Two Image Renderers, one for a heightmap and one for a diffuse
  4. An Image Writer or Preview Link

That's it!

Trouble Building?

Link to a handy fork of libnoise that uses cmake instead of static makefiles by qknight.

About

Standalone Node-Based Terrain Generator

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages