Orulex

From OrbiterWiki
Revision as of 14:21, 8 April 2008 by Ouch (talk | contribs)
Jump to navigation Jump to search

Project home: http://orbides.1gb.ru
Author: Artlav
Current version: Unknown
Compatibility: Unknown


Io
Venus
Callisto
Europa
Ganymede
Mercury
Earthrise from the Moon

Orulex is a dynamic landscape generator add-on for Orbiter which allows you to add a global landable meshes to the planets.

Basic features (0.7.1)

  • Run-time generation of planet-wide meshes based on given mathematical expression.
  • Supported functions are perlin noise, ridged perlin, sine and cosine terrain, i/o curve, crater, auxiliarys.
  • Global and local heightmaps
  • Automatic carving of surface bases into craters.
  • Partially compatible with Visosad collision detection system.

Known bugs/issues (0.7.1)

  • Static textures all over the planet.
  • Blinking of the texture at night and with clouds.
  • No mesh visible in windowed mode on some GPUs.

Basic features (1.0)

  • Generates planet terrain in Orbiter on the fly, using real data or fractal functions.
  • Easily downloadable textures and heightmaps data for Earth, and other planets.
  • Lv11 global Orbiter and Lv6-Lv22 local downloaded textures (LandSat, USGS) support.

Known bugs/issues (1.0)

  • Windows Vista random CTD.
  • Dislocated patches when flying with multithreaded mode on.
  • Textures getting colorfully random on some machines (probably Orbiter/DirectX bug on older systems).

System Requirements:

Out of the box:

  • 256Mb RAM + what Orbiter and OS takes.
  • 1.5+Ghz CPU, good video card (if it runs Orbiter Lv10+NASSP with good FPS it will run Orulex as if nothing is here).

Hi-quality:

  • 1Gb RAM + what Orbiter and OS takes + what local maps you will download.
  • 2-3Ghz CPU, ~1Gb of disk space, Fast Cheap internet (Lv9 heightmap is 466Mb download).

Configuration

Main configuration can be found in visosad\orulex.cfg

  • Enabled - Enable/disable the system
  • Debug - Enable/disable the debug string
  • Collisions - Collision support on/off


Default parameters (used if planet cfg is empty of them):

  • MaxPolyCount - Maximum polygon count for ground mesh. The bigger the nicer, but slower. (default=8000, gives FPS=100 here)
  • Altlimit - Altitude of camera above ground for drawing cut-off.
  • prit - Time step size for second cycle in us. Try lowering this, if you got big performance problems.
  • sect - Time step size for second cycle in us. Try lowering this, if you got big performance problems.
  • txtres - Mesh texture resolution. The higher, the more squarely the texture will look, the lower, the grayer the landscape will look.

Textures can be found in visosad\orulex\tex (planet_name.BMP, 1024x1024, 4 thru 32bit, fractalisible)

Planets configuration can be found in visosad\orulex\planet_name.cfg

The parameters are same as above, but for planet only. Additional:

  • seed=15777 The Number, that defines the planet.
  • radius=1.738e6 Radius of mesh. Better be near radius of planet.
  • texture - texture name.

Planet functions

Function=... in visosad\orulex\planet_name.cfg

Planet function, written in postfix notation. Better not to edit if you don't know what postfix notation is.

Visosad\funcdrw program can display functions 3D graph. Requires OpenGL.


Operators:

  • sbcrater(scl) - defines surface base craters with scl height.
  • perlin(xd,yd,zd,band,scale) - perlin noise ground function
  • ridge(xd,yd,zd,band,scale) - ridged perlin noise ground function
  • curv(n,f,x1,y1,x2,y2,...,x(n-1)/2,y(n-1)/2) - Input/Output curve for f by points of xi,yi, lagrange interpolated.
  • sealevel(level) -sphere level cutoff function
  • +, -, --, *, /, sin, cos, max2, max3, min2, min3 - arithmetics.
  • ax,ay,az - world coordinates.
  • trim(f,min,max) - trims f into min<f<max.

Heightmaps

heightmap=Testmapmoon |000041.025|000041.225|-0033.8375|-0033.6375|00002000|0

Heightmap definition. Can be several of them.

All fields have fixed widths - 20|10|10|10|10|8|1

First is filename relative to visosad\orulex\hmap, then longitude of start, longitude of end, latitude of start, latitude of end, vertical scale, function


Where function is:

  • 0 - addition (height-map)
  • 1 - multiplication (mask-map).
  • 2 - replacation (plain height-map)

Heightmap file is a grayscale BMP with black as 0 and white as vertical scale altitude. 8bit BMP's seems to give errors.


Run-time configuration, found on page 2 of Orulex 3D Surface MFD:

  • Enabled - Enable/disable the drawing of the mesh.
  • Debug - Enable/disable the debug string
  • Collisions - Collision support on/off

Links

Orulex's Homepage by Artlav

Download at OrbiterHangar

Orbiter forum thread