Orulex
Project home: http://orbides.1gb.ru |
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