Scape: 5. Overview and downloads

June 28, 2012 Graphics

Finally, the Scape terrain editor prototype is now officially open sourced and freely available for download! This article on Scape is meant to provide an aggregated collection of links to previously published documentation and downloads, as well as to the new source code and binary package downloads.

Panoramic canyon terrain in Scape

Introduction

Originally developed as a research thesis project at Vanguard Games, Scape is a prototype application allowing the user to apply a number of brushes with complex procedural effects to manipulate heightfield terrain in real time. For the more complex procedural brush types, much of the work is offloaded to the GPU to speed up the editing process. For a more in-depth introduction, visit Scape: 1. Rendering terrain or scroll down to watch a short real-time demonstration.

Even though I personally intent not to actively work on this project any longer, I hope it will already be useful to other people as-is, and that it may continue to evolve through the work of volunteers on Scape's public repository or on other projects willing to integrate (parts from) Scape.

Screenshot of Scape 0.1.1

Binary release

Scape 0.1.1 for Windows binary [ZIP, 7.7 MB]. This standalone Scape binary for Windows is free and may be used for both commercial and non-commerical purposes, if and only if you agree to its terms. The full license agreement can be found under /Docs/ScapeLicense.txt. Please read the brief instructions in /Docs/UserGuide.html to learn how to start Scape, control the camera and brush size, set the terrain size and more. The current version supports importing and exporting heightfields to BMP, PGM, PNG, TGA and RAW images, using a 8-bit, 16-bit, 32-bit integer or a 32-bit float per greyscale pixel, although not all modes are supported by all file formats. Again, see the User Guide for details.

Source release

Scape 0.1.1 source code for Visual Studio 2008 (Express) [ZIP, 1.5 MB]. This latest official release of the Scape's source code, which has been released under the Simplified BSD License. You are only allowed to use the source code if you agree to the terms found in /Docs/ScapeLicense.txt. Please read the instruction in /Docs/ProgrammersGuide.html to build the binary using the included Microsoft Visual C++ 2008 solution.

Official Mercurial repository for Scape. Instead of the above Scape source code release, you can also get the latest (unstable) version of the source code from this public bitbucket Mercurial repository. The repository also comes with a Wiki of its own.

Procedural FX Composer project [ZIP, 0.5 MB]. Besides the source code of Scape, the source code of all algorithms explained in the procedural basics & extensions articles on Scape has been released as seven ready-to-use CgFX & FX techniques with different pixel shaders in this NVIDIA FX Composer project.

Articles

Scape: 1. Rendering terrain. Introduces the project and explains the terrain geometry rendering and shading techniques used by Scape, including Geomipmapping, texture layering and texture multi-projection.

Scape: 2. Procedural basics. A detailed introduction into the common Perlin-based procedural noise-summing algorithms that can also be found in Scape, including normal/rigded/billowy turbulence. It also covers the more complex 'IQ Noise' noise summing technique.

Scape: 3. Procedural extensions. A step-by-step explanation of novel procedural noise-summing algorithms, using the noise's analytically calculated derivatives to achieve erosion-like effects. (The described jordan turbulence function is actually not available in the current version of Scape. The swiss turbulence, however, is).

Scape: 4. Brush pipeline. A description of Scape's full editing pipeline, using the CPU and GPU to locally edit the terrain using on of the many different (procedural) brush types. It also describes Scape's procedural directional noise.

Research

Interactive GPU-based procedural heightfield brushes [PDF, 3.5 MB]. ACM paper on the GPGPU brush techniques in Scape. © ACM, 2009. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 4th International Conference on Foundations of Digital Games, Pages 55-62, http://doi.acm.org/10.1145/1536513.1536532.

Effective GPU-based synthesis and editing of realistic heightfields [PDF, 10.6 MB]. MSc. thesis on brush-based editing of heightfield, researching the application of common and novel procedural algorithms as GPU-based brushes to offer users both better control and iteration speeds. The thesis presentation is also available [PPT, 12.8 MB].

Interactively synthesizing and editing virtual outdoor terrain [PDF, 6.0 MB]. Extensive survey on modern terrain editor requirements, procedural terrain algorithms, 'terrain' texture synthesis, terrain editing tools, terrain texturing and foliage placement.

Support

Both the source code and binary of Scape come without any form of support, guarantees and warranties, as explained in the license agreement. Please see the User Guide and Programmer's guide for basic information on how to install/build Scape and how to use it. Furthermore, experiences have been shared on this Ogre forum, which may aid in any troobleshooting.

Demo

Comments (19)

Wolfos
June 29, 2012

How about an OS-X version, or at least one that's easily portable? Hell, rewrite it in Unity or something! I'd buy it.

Giliam
June 30, 2012

Hi Wolfos. Currently, I have no plans for porting it to other platforms. However, the source code itself is pretty much platform independent as its built on top of the multi-platform Ogre3D engine and wxWidgets library, which both support OS X. So, I'd imagine it wouldn't be too hard to do so if someone would want to give that a try.

vonpixel
June 30, 2012

Thanks for this! Im always looking for options to expand terrain generation and this looks pretty awesome.

Anonymous
July 2, 2012

This looks a lot like ZBrush.

Brian
July 3, 2012

Looks great, too bad it will not install on my XP pc.

Giliam
July 3, 2012

Hi Brian. Thanks. Btw, I've not tested it recently, but i've seen an older version run on an XP machine with an ok graphics card (Shader Model 3), but it did require installing a newer version of DirectX. No guarantees, but perhaps that might do the trick for you as well. See the user manual under /Docs for a link.

Vylee
July 3, 2012

This looks amazing! I did find one odd bug though. If you have multiple displays and start the application on one monitor and drag it to the second...the entire 3D scene disappears.

Keep up the great work though. I've been really enjoying it.

Irfan
August 6, 2012

Great stuff, you heelpd me out so much!

Froyok
November 3, 2012

This tool looks really awesome. Unfortunately it crash every time I try to do a single brush hit. (I'm running on an nVidia GTX 470)
By the way I'm left-handed, is there a way to inverse the mouse buttons ?

Nice work anyway ! =)

Giliam
November 3, 2012

Thanks Froyok. Have you tried installing the DX9 runtime? If not, check the user guide for instructions. Also, all input definitions are defined in /Bin/Settings/ButtonDefinitions.xml. Simply find and replace 'MB_LEFT' to 'MB_RIGHT' and vice versa to inverse the mouse buttons. Good luck!

Froyok
November 5, 2012

I finally got it working with your help, thank you ! That's totally awesome ! :D

lklleb
September 3, 2013

WOW this software is AWESOME !

zam
September 15, 2013

Could I import my mesh at startup?

Giliam
September 16, 2013

Hi zam,
you can only import a heightmap (image), from which the terrain mesh is then generated. So if you want to load up a terrain defined as a mesh, you somehow have to convert that into a height image first (using a proper tool, or maybe even a topdown depth/fog render of the terrain mesh in your favorite model tool). If you're talking about loading non-terrain meshes, there is no support for that at all (although hacking that wouldn't be to hard for a coder, as Ogre supports mesh loading and rendering already).

pon
May 15, 2014

Hi,

Is it still alive? I've downloaded from the link you provided.
It starts but I can't do anything with it.
Heigthmap downloading fails with any type of image.

Toolsa
June 21, 2014

Hi!

It works fine!
But don't export 3D obj !!!
So WTF can I do with this??????? Just a pic????
I lost my time here!!!

Giliam
June 21, 2014

Hi Toolsa. Exporting a 3d obj doesn't make much sense for most applications, as rendering hi-res terrain as one big mesh is never a good idea for performance. Many/most game engines have the option to use the heightfield 'pic' as input to a terrain system. And in Maya/Max you can use it as input to a displace modifier/displacement map on a plane.

CAPTNCAPS
July 27, 2014

It works fine, but is there a way to use like an image overlay?
I need to make a real world environment, but the area is too small for SRTM 90m to be useful...

Giliam
July 27, 2014

Hi captncaps. You can use the material system for that. For example, double click on the 'Grey' material preset under the first checkerboard tool icon, set the 'Detail texture' in the 'Layer 1' property section, and scale it any way you want using the 'Detail texture UV scale' under the 'Projection' property section. Hope this helps!

Leave a comment