Author Topic: Lithosphere is a GPU driven terrain generator written in Python. ALPHA  (Read 4136 times)

0 Members and 2 Guests are viewing this topic.

Software Santa

  • Administrator
  • *****
  • Posts: 4277
  • OS:
  • Mac OS X 10.6 Mac OS X 10.6
  • Browser:
  • Firefox 4.0.1 Firefox 4.0.1
Lithosphere is a GPU driven terrain generator written in Python. ALPHA (means an early test version)



Quote
Lithosphere is a GPU driven terrain generator. It allows you to create and export material textures and heightmaps intended for use in realtime graphics applications.

All terrain algorithms are implemented as GLSL fragment shaders operating on floating point textures. This allows realtime modification of the terrain. A graph of nodes is evaluated in order to arrive at the terrain output.

Features

    Realtime terrain modification
    Save/Open of scene.lth files
    Simplex noise height source
    Wind and Erosion algorithms
    Gaussian Filtering
    Mixing and Adjusting
    Mathemathical operators
    Float array and DXF mesh export
    PNG texture export

Requirements

Lithosphere requires a fast computer and graphics card to operate. It also requires specific opengl compatibility

    OpenGL shading language version 1.20
    GL_ARB_texture_float
    GL_ARB_pixel_buffer_object
    GL_ARB_vertex_buffer_object
    GL_ARB_framebuffer_object

Recommended system specs

    Intel Quad Core CPU
    2gb RAM
    Nvidia Geforce GTX-285
    1gb video ram

Working with

    Nvidia Geforce GTX-285
    Nvidia Geforce 8800 GTS
    Nvidia Quadro FX1700 512mb

Not working with

    Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (no floating point textures)
    Mac OSX Leopard (comes with python2.5, you can install python2.6)
    Geforce 7700 (too slow)
    Multiple grapics cards in use on the system (non SLI, tri-monitor setups etc., OpenGL context sharing does not work in such setups)

License

Lithosphere is licenced as AGPL version 3.0 or above.
Who

Lithosphere is written by Florian Bösch (facebook, linkedin)

Standalone

The standalone distribution contains all dependencies but no python, you will need 32bit python2.6 installed on your system. It has been tested with windows and linux, no test on snow leopard so far, it might run. Execute the file "run.py" contained in the distribution to run the application.
Version 0.1.2 - Mon Mar 29 2010

    Lithosphere 0.1.2 Alpha tgz
    Lithosphere 0.1.2 Alpha zip

What's new in 0.1.2

    Ambient occlusion strength saved in scene file
    fixed the simplex noise shader to be glsl 1.20 compatible

See the full changelog
Examples

These are examples that are also contained in the source.

    examples.tgz
    examples.zip

Linux

A Linux debian installer package is in the works.
Windows

A windows executable and installer is in the works.
Mac OSX

I have no suitable apple machine that would run lithosphere, help appreciated

Viewport Navigation

In order to use the 3d viewport, you have to click into it to focus. It gets an orange border when it is focused.

    Mouse drag for look
    key for flying left and key [F] for flying right
    key [E] for flying forward and key [D] for flying backwards
    key [W] for flying up and key [R] for flying down
    key [Right Shift] for slowing movement speed to 1/10th

Sliders

The sliders you find in lithosphere can be very sensitive. If you want to slow down the rate of change of a slider, you can hold [Right Shift] while you modify it. Sliders can be modified in these three ways:

    Drag them with the mouse
    If a slider is focused (glows orange) use the mouse scroll wheel to change it
    If a slider is focused use the cursor keys (
/
) to change it

Toolbar

The toolbar allows you to save/open scene files and create nodes from which you create your terrain.

Nodes

Nodes appear in the work area (bottom of the screen) when you create them. The nodes may have inputs, which are on the left side of the node widget. Nodes have output, which is on the bottom right side of the node Widget. Outputs can connect to many Inputs, but one Input can only connect to one Output.

There are three kinds of nodes. Source nodes have no input, they are what you start with. Operator nodes combine multiple inputs to one output. Filter nodes modify primarily one input, and optionally a weightmap that determines the weight of the effect.
http://lithosphere.codeflow.org/