Skip to content

Latest commit

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

PTEngine

PTE Logo

The Planet Engine is designed to generate spherical terrain (planets) using static configuration via a * .conf file. The process of 3D spherical terrain generation is based on the implementation of methods like Perlin noise and Fractal of the Brown Movement (fBm).

Features

  • Math library
  • Task system
  • Image loading (PNG, DDS)
  • Built-in profiler
  • Video recording via AVI
  • Terrain based generation using Perlin noise and the Fractal of Brown Movement (fBm)
  • Dynamic texture streaming and generation
  • Advanced Level of Detail
  • Frustum culling
  • Simplistic collision model (Camera Based)
  • Effects: - Atmosphere glow

Compilation

For a successful compilation, you don't need any additional libraries, because solution already coming with external dependencies. So only what you need to worry about is to have a working C/C++ compiler's toolchain.

  • MICROSOFT WINDOWS: Microsoft Visual Studio 2013
  • LINUX + MULTIPLATFORM : Sconstruct build system

Controls

Manipulating inside the application is defined by the control scheme below.

Keyboard combinationDescription
Keyboard arrowsOrbit rotation
W,S,A,DOrbit movement
SpaceStop
'c'Capture video
'h'Hdr On/Off
'p'Polygon mode
'u'Pause / resume update
'+ / -'Split factor

Description of Config file

Planets can or might be modified/added via a configuration file, using the following description. Before every configuration variable, there is a planet name tag followed by [identificator] which is starting always from 0.

You can just see, edit and play around with the "Generator.conf" file to see what is happening in the application.

Example:

DefinitionExampleDescription
planet.[planet_id].[variable]planet.0.position = 0, 0, 0Will place first planet on the [0,0,0] world coordinates.

Overview:

VariableValueDescription
positionX , Y , ZPlanet position in 3D space
radiusVALUEPlanet size
frustum.radiusVALUEFrustum culling radius
max.heightVALUEPlanet maximum size
atmosphere.radiusVALUEPlanet atmosphere radius
atmosphere.wavelengthX , Y , ZAtmosphere Wave lenght
atmosphere.EsunVALUESun intensity (in atmosphere, on planet)
atmosphere.KrVALUE
atmosphere.KmVALUE
atmosphere.gVALUEPlanet's gravity definition (Earth -9,81)
factory.[factory_id].typeCLASS_NAMEExample CSimpleCraterFactory, CGrassFactory, CSimpleColorMapFactory
factory.[factory_id].seedVALUESeed number used for terrain generation
factory.[factory_id].octavesVALUENumber of octaves used for terrain generation (Perilin noise)
factory.[factory_id].roughnessVALUESurface roughness used for terrain generation
factory.[factory_id].color.[color_id]R, G, B, AColor values

About

PTE 2008 - Planet Terrain Engine is a small engine for spherical terrain generation known as The Planet

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages