# Grome

Grome is an environmental modeling package developed by Quad Software dedicated for procedural and manual generation of large virtual outdoor worlds suitable for games and other 3D real-time simulation applications.

## History

After more than two years of internal developing, the program was first launched on March 28, 2007 as version 1.0. It immediately started to be used by various professional game studios and independent developers. Version 1.1 was launched on August 22, 2007 adding various optimizations, pen tablet support and more flexibility by introducing user defined data sets. Following this was version 1.2 on March 12, 2008 which optimized existing fractal tools and added new ones, extended import and export with new data formats and introduced the Grome scripting language for automated tasks.
Major release, 2.0, was introduced on June 18, 2009 with many new additions. With this new version, Grome becomes a more complete outdoor editing platform by introducing editing of water surfaces, vegetation and other decoration layers. 64bit processing was introduced to take advantage of large amounts of RAM and 64bit CPUs. With this version, Quad Software announced the availability for customization work for professional studios that need a specific Grome version for their projects.
The Grome 3.0 version was launched on April 4, 2011 bringing road networks editing, support for per-pixel materials, optimization tools for mobiles and low-end hardware and other new tools. A new updated, version 3.1, was launched on October 12, 2011 with focus on optimization. A further update, version 3.11, was made on September 12, 2012, fixing various issues and improving the SDK.

## Main features
### General

Easy to use user interface, with shortcuts available for every operation. Real-time preview on multiple customizable hardware accelerated viewports. Presets system for tool parameters.

### Terrain editor

Supports unlimited terrain size using custom data swapping mechanism to hard disk space. Terrain made of multiple terrain zones supporting variable resolution and automatic border stitching.
Procedural heightmap generation using fractal, terracing and erosion tools. Possibility to create and assign multiple layers of heightmaps for each zone.
Manual editing of heightmap layers using selection layers and brushes. Flexible brush system that allows custom orientation, mask, strength, directions and pen tablet pressure. Elevation, terracing and fractals brushes.
Novel texture layering system that allows different shading methods, variable resolutions and images per terrain zones. Creation of images based on brushes or procedural generation based on slope, direction, altitude, external shape files and erosion flowmaps.

### Object editing

User defined format system using Grome SDK plugins. Spawn objects individually or using brushes with custom orientation and area of effect. Tag, categorized, search and replace tools for objects.
Gizmo and numeric object transformation tools for translation, scaling and rotation. Possibility to group object for transformation around common pivot. Groups can be saved to disk and later restored.
Object-terrain linking mechanism that allows snapping objects to terrain and moving objects along ground surface.

### Road editing

Starting with version 3.0 road placement and manipulation was introduced. Control of road geometry generation, resolution, banking and intersections is now possible while real-time road/terrain interaction computation is done using the GPU.

### Water editing

Real-time water rendering using pixel lighting, bump mapping and masking for smooth shoreline transitions. Generation of water layers masks with brushes or based on terrain heights. Coloring and lightmapping of water based on terrain texture layers.

### Decoration layers

Allow rendering of massive population of decoration objects and grass blades. Animated grass effects to simulate wind and characters walking through. Generation with brushes or automatically based on terrain slope, orientation and altitude.

### Software development kit (SDK)

Offered for every Grome client to allow integration with their engine/application pipeline. Allows saving and loading from custom formats, define new mesh formats and automatic responses to various editing events. Comes with source code for all default plugins and documentation. Out-of-the-box, Grome has the default plugins to include support for COLLADA, XML, DTED, shape files, 16bit RAW, BT and all major images formats.

## Licensing

Grome 3.0 is currently licensed under two different prices, the same base version being offered to individuals and small developers under a reduced price. Professional companies benefit from premium support and dongle based protection. Normal builds offer file based activation per computer.

## Customization program

Starting with version 2.0, Quad Software publicly announced the availability of customization work for companies. In the way professional studios can obtain customized builds as part of under-contract projects. Examples of previous developed customized modules were presented, among them being road editing, AI navigation mesh generation and a more advanced lightmapper.

## Graphite Renderer

Graphite is a real-time outdoor rendering library created by Grome developers to allow easy integration of Grome scenes into any 3D engine and graphical application. The renderer is designed to be flexible and supports DirectX rendering API. It is offered for free in binary form for non-commercial usage for all Grome clients, while paid licenses are offered to professional studios allowing source access and commercial usage.

## Grome scenes gallery

* Mountains created in Grome editor using various erosion methods.
* Factory map created using fractal tools and objects placement.
* Canyon map created using fractal and erosion tools.
* Variate map with seamless heightmap and texture transitions.