Sparkling gems and new releases from the world of Free and Open Source Software


Article from Issue 260/2022

Graham looks at TerraForge3D, nheko, Navidrome, ddcutil, and much more!

Landscape generator


Back in the early 1990s, if you were lucky enough to have a Commodore Amiga, then you would have encountered a brilliant application called Vista, and later, Vista Pro. These weren't games, yet they weren't directly productive either. Instead, they were three-dimensional portals for the imagination, letting you render and explore real and alien landscapes on old hardware. Early versions were even given away as magazine cover disks, and it was a piece of software that could severely test both your patience and your humble Amiga's computing resources. Vista generated landscapes which, at the time, looked incredibly realistic. Taking a seed from a fractal, or a real digital elevation map, Vista would draw a three-dimensional point-of-view of the landscape from your chosen location. But the clever part was how this view was augmented with grass and rock textures, rivers and lakes, and even trees in later versions. These elements were all generated algorithmically by interpreting the terrain, growing grass on lower gradients and tumbling rocks on higher gradients, and placing rivers between the valleys. A carefully crafted scene could look incredibly realistic for the time, and one such was even used by the great science fiction author, Arthur C. Clarke, to illustrate what a terraformed Mars might look like, using Vista Pro and real elevation data for Mars.

An Amiga 500 would take hours to generate a single image, so it's surprising that terrain-generating applications haven't appeared to continue Vista's premise after several generations of Moore's Law hardware updates. Modern video games probably get close to this potential, and they can look remarkable, but players rarely have any control over how their landscapes are generated, let alone getting to explore them without being attacked by Karstaag the frost giant. Which is why it's so exciting to see the release of TerraForge3D, a hugely ambitious cross-platform procedural terrain generator with the same objectives as the old Vista – a three-dimensional portal for the imagination.

TerraForge3D is still at a very early stage of development, and it is difficult to use. But even in this early phase, it's capable of rendering beautiful, surreal, and hyperrealistic terrain, usually in real time thanks to modern graphics hardware. The image generation process starts with a mesh, and either CPU- or GPU-bound displacements maps. Apart from the sky box and global lighting settings, almost everything else is modular and can be layered atop each other. Even the panels in the main window can be dragged out of their positions and locked into various edges and locations to create the best working environment for you. The same is true of textures and GLSL-based shaders which are added to the mesh to add the detail. Changes are rendered immediately, allowing you to adjust values and sliders to visually choose the output you prefer. The latest release lets you modify shaders and textures in a node view, where different attributes can be connected to each other to adjust and modify the overall effect. It's a lot like the node system in Blender, and equally arcane until you've read the documentation (or watched some of the excellent YouTube-hosted video tutorials), and connected lots of nodes together. The output will often need considerable tweaking and experimentation to look good, but with a little practice TerraForge3D can produce the kind of results worthy of any magical descendent of Vista Pro.

Project Website

1. Viewport: Your virtual landscape is visible here, updated in GPU-accelerated real time. 2. Water and sky: A water level can add an animated sea, and there are sky box textures for the sky. 3. Shaders: GLSL shaders are supported to create deeply complex textures. 4. Shader nodes: Create shaders that react to the landscape with a Blender-like node editor. 5. Mesh generators: Layers of landscape distortion can be combined using the GPU or CPU, randomly or from fractals. 6. Lighting: Global lighting can be adjusted in color and angle. 7. Explorer mode: If you simply want to walk around your created landscape, there's a full screen explorer mode.

Matrix client

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    This month Graham looks at wallabag, Read It Later, killport, F3D, Tenacity, Cataclysm: Dark Days Ahead, botany, and more!

  • Free Software Projects

    Even admins get bitten by the gaming bug. Frets on Fire lets you train for an air guitar competition. Or try the free business simulation clones Transport Tycoon, Simutrans, or OpenTTD.

  • Setting Up a Quake Server

    You don’t have to be an expert to set up your own Quake 3 game server.

  • 0 A.D.

    Steer the fortunes of ancient civilizations in the real-time strategy game 0 A.D. and revive history.

  • Retro Gaming

    Many computer games from the 1980s and 1990s enjoy cult status. Graphics and sound were not very advanced back then, which forced the producers to impress gamers with good ideas and a convincing level of design. Emulators let you run those classic games on a Linux PC.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More