Picogen is a
rendering system
Rendering is the process of generating a photorealistic or non-photorealistic image from input data such as 3D models. The word "rendering" (in one of its senses) originally meant the task performed by an artist when depicting a real or imag ...
for the creation and rendering of artificial terrain, based on
ray tracing. It is
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
.
Overview
While the primary purpose of picogen is to display realistic 3D terrain, both in terms of terrain formation ''and'' image plausibility, it also is a
heightmap
In computer graphics, a heightmap or heightfield is a raster image used mainly as Discrete Global Grid in secondary elevation modeling. Each pixel stores values, such as surface elevation data, for display in 3D computer graphics. A height ...
-creation tool, in which heightmaps are
programmed in a syntax reminiscent of
Lisp
Lisp (historically LISP, an abbreviation of "list processing") is a family of programming languages with a long history and a distinctive, fully parenthesized Polish notation#Explanation, prefix notation.
Originally specified in the late 1950s, ...
.
The
shading
Shading refers to the depiction of depth perception in 3D models (within the field of 3D computer graphics) or illustrations (in visual art) by varying the level of darkness. Shading tries to approximate local behavior of light on the object's ...
system is partially programmable.
Example features
*
Whitted-Style ray tracer for quick previews
* Rudimentary
path tracer for high quality results
* Partial implementation of Preetham's Sun-/Skylight Model
* Procedural
heightmap
In computer graphics, a heightmap or heightfield is a raster image used mainly as Discrete Global Grid in secondary elevation modeling. Each pixel stores values, such as surface elevation data, for display in 3D computer graphics. A height ...
s, though before rendering they are
tesselated
Frontends
Currently there is a frontend to picogen, called picogen-wx (based on
wxWidgets
wxWidgets (formerly wxWindows) is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with no s ...
). It is encapsulated from picogen and thus communicates with it on
command-line
A command-line interface (CLI) is a means of interacting with software via commands each formatted as a line of text. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternativ ...
level. Picogen-wx provides several panels to design the different aspects of a landscape, e.g. the Sun/Sky- or the Terrain-Texture-Panel. Each panel has its own preview window, though each preview window can be reached from any other panel.
Landscapes can be loaded and saved through an own, simple
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
-based file format, and images of arbitrary size (including antialiasing) can be saved.
References
External links
*
picogens DeviantArt-Group-Page
Free 3D graphics software
3D rendering software for Linux
Global illumination software
Rendering systems
Free software programmed in C++
Software that uses wxWidgets
Software using the GNU General Public License
{{Graphics-software-stub