Editing Orulex

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
 
{{Addon|
 
{{Addon|
 
1=http://orbides.1gb.ru|
 
1=http://orbides.1gb.ru|
2=Artyom "Artlav" Litvinovich
+
2=Artyom "Artlav" Litinovich
 
}}
 
}}
 
[[Image:Oru-080401-1.jpg|200px|thumb|right|Earth in Orulex 1.0]]
 
[[Image:Oru-080401-1.jpg|200px|thumb|right|Earth in Orulex 1.0]]
[[Image:Oru-080401-2.jpg|200px|thumb|right|Brighton Beach Crater on the Moon in Orulex 1.0]]
+
[[Image:Oru-080401-2.jpg|200px|thumb|right|Brighton Beach Crafter on the Moon in Orulex 1.0]]
 
[[Image:Oru-080401-3.jpg|200px|thumb|right|Venus in Orulex 1.0]]
 
[[Image:Oru-080401-3.jpg|200px|thumb|right|Venus in Orulex 1.0]]
 
[[Image:Oru-080401-7.jpg|200px|thumb|right|Nereid in Orulex 1.0]]
 
[[Image:Oru-080401-7.jpg|200px|thumb|right|Nereid in Orulex 1.0]]
  
'''Orulex''' is a dynamic landscape generator add-on for Orbiter which allows users to add a global landable mesh to planets.
+
'''Orulex''' is a dynamic landscape generator add-on for Orbiter which allows you to add a global landable mesh to the planets.
 
Simply said, it turns flat planets into mountainous planets.
 
Simply said, it turns flat planets into mountainous planets.
 
Latest stable version is 1.0
 
Latest development version is 1.2_080527
 
  
 
==Basic features (1.0)==
 
==Basic features (1.0)==
Line 64: Line 61:
 
* Magellan Imaging Radar (Grey)
 
* Magellan Imaging Radar (Grey)
  
==World Studio==
+
==Generator ideas and Function desciption==
World Studio is both the Orulex terrain config system and the versatile planet editor. It was first released on April 1, 2008 same with Orulex 1.0.
+
'''Configuration'''
 
 
==Generator ideas and function description==
 
===Configuration===
 
  
 
Orulex system configuration are done by World Studio program and config files editing, with options ranging from terrain polygon count to shapes of the worlds.
 
Orulex system configuration are done by World Studio program and config files editing, with options ranging from terrain polygon count to shapes of the worlds.
 
2 PDF's with full description of world studio and file configuration can be found in the release package.
 
2 PDF's with full description of world studio and file configuration can be found in the release package.
  
 +
'''Planet functions''' (Function string in config\terrain\planet_name.cfg)
  
 
+
'''Basic ideas'''
 
 
===Basic ideas===
 
 
 
Function string in config\terrain\planet_name.cfg
 
  
 
* Planet functions is written in postfix notation.
 
* Planet functions is written in postfix notation.
Line 86: Line 77:
 
* Functions specified the same way - f(x,y,z+w) is x y z w + f.
 
* Functions specified the same way - f(x,y,z+w) is x y z w + f.
  
===Terrain function===
+
'''Terrain function'''
  
 
The terrain is represented by a 3 to 1 function with arguments being the position on the planet and output being the altitude at this position. The concept is similar to the plotting of 1D functions, like sine and cosine - the X axis represents the position, and Y axis represents the altitude:
 
The terrain is represented by a 3 to 1 function with arguments being the position on the planet and output being the altitude at this position. The concept is similar to the plotting of 1D functions, like sine and cosine - the X axis represents the position, and Y axis represents the altitude:
Line 92: Line 83:
 
[[Image:Functions in Orulex 1.jpg|800px|thumb|center|Imagine the same thing in 4D, and that's how it is done in Orulex.]]
 
[[Image:Functions in Orulex 1.jpg|800px|thumb|center|Imagine the same thing in 4D, and that's how it is done in Orulex.]]
  
===List of terrain functions===
+
'''Terrain Functions:'''
 +
 
 +
[[Image:Terrain Functions.jpg|200px|thumb|left|'''perlin'''(xd,yd,zd,band,scale)]]
  
====Perlin noise====
+
 
[[Image:Terrain Functions.jpg|100px|thumb|left|Classic perlin noise ground function.]]
+
 
;Syntax:<nowiki>perlin(xd,yd,zd,band,scale)</nowiki>
+
Classic perlin noise ground function.
;xd,yd,zd:Distortion values for x,y,and z coordinates respectively.
+
 
;band: The amount of noise bands to be used - the more of them the more detailed terrain is, but slower.
+
'''xd,yd,zd''' is distortion values for x,y,and z coordinates respectively.
;scale: The horizontal scale of the thing. It is roughly equivalent to the size of the pattern shown in viewer on the actual planet, i.e. if scale is 10000 then the pattern will be spread across 10 kilometers.
+
 
 +
'''band''' is the amount of noise bands to be used - the more of them the
 +
more detailed terrain is, but slower.
 +
 
 +
'''scale''' is the horizontal scale of the thing. It is roughly equivalent to the
 +
size of the pattern shown in viewer on the actuall planet, i.e. if scale is
 +
10000 then the pattern will be spread across 10 kilometers.
  
 
Output is in -1..1 range.
 
Output is in -1..1 range.
  
====Ridge noise====
 
[[Image:Terrain Functions 2.jpg|100px|thumb|left|Ridged perlin noise ground function. ]]
 
  
;Syntax:<nowiki>ridge(xd,yd,zd,band,scale)</nowiki>
 
  
;Syntax:<nowiki>perlin(xd,yd,zd,band,scale)</nowiki>
+
 
;xd,yd,zd:Distortion values for x,y,and z coordinates respectively.
+
 
;band: The amount of noise bands to be used - the more of them the more detailed terrain is, but slower.
+
[[Image:Terrain Functions 2.jpg|200px|thumb|left|'''ridge'''(xd,yd,zd,band,scale)]]
;scale: The horizontal scale of the thing. It is roughly equivalent to the size of the pattern shown in viewer on the actual planet, i.e. if scale is 10000 then the pattern will be spread across 10 kilometers.
+
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
Ridged perlin noise ground function. Same parameters as above.
  
 
Output is in -1..1 range.
 
Output is in -1..1 range.
  
====Sea level====
 
[[Image:Terrain Functions 3.jpg|100px|thumb|left|Sea level function with Perlin noise]]
 
  
;Syntax:<nowiki>sealevel(f,min)</nowiki>
 
  
Same as <nowiki>min2(min,f)</nowiki>. Returns <math>f</math> if <math>f>=min</math> and <math>min</math> if <math>f<min</math>.
 
  
Useful to truncate below the sphere part of the terrain function into flat valleys. Almost always should be removed if planet have ocean. If your planet have an ocean, make sure thet the underwater part of the function is not truncated!
 
  
====Sinusoidal terrain====
 
[[Image:Terrain Functions 4.jpg|100px|thumb|left|Sinusoidal terrain]]
 
  
;Syntax:
 
<nowiki>sintf(xd,yd,zd,scale)</nowiki>
 
  
;xd,yd,zd:Distortion values for x,y,and z coordinates respectively.
 
;scale: The horizontal scale of the thing. It is roughly equivalent to the size of the pattern shown in viewer on the actual planet, i.e. if scale is 10000 then the pattern will be spread across 10 kilometers.
 
  
Output is in -1..1 range.
+
[[Image:Terrain Functions 3.jpg|200px|thumb|left|'''sealevel'''(f,min)]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
Same as min2('''min,f'''). Returns '''f''' if '''f>=min''' and '''min''' if '''f<min'''.
 +
 
 +
Useful to truncate below the sphere part of the terrain function into
 +
flat valleys.
 +
 
 +
Almost always should be removed if planet have ocean.
 +
 
 +
<-(example with perlin)
 +
 
 +
If your planet have an ocean, make sure thet the underwater part
 +
of the function is not truncated!
 +
 
 +
 
 +
 
 +
 
 +
[[Image:Terrain Functions 4.jpg|200px|thumb|left|'''sintf'''(xd,yd,zd,scale)]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
Sinusoidal terrain.
 +
 
 +
'''xd,yd,zd''' is distortion values for x,y,and z coordinates respectively.
 +
 
 +
'''scale''' is the horizontal scale of the thing.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
[[Image:Terrain Functions 5.jpg|200px|thumb|left|'''costf'''(xd,yd,zd,scale)]]
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
 
 +
Cosinusoidal terrain.
 +
 
 +
'''xd,yd,zd''' is distortion values for x,y,and z coordinates respectively.
 +
 
 +
'''scale''' is the horizontal scale of the thing.
 +
 
 +
 
 +
 
  
====Cosinusoidal terrain====
 
[[Image:Terrain Functions 5.jpg|100px|thumb|left|Cosinusoidal terrain]]
 
  
;Syntax:<nowiki>costf(xd,yd,zd,scale)</nowiki>
 
  
;xd,yd,zd:Distortion values for x,y,and z coordinates respectively.
 
;scale: The horizontal scale of the thing. It is roughly equivalent to the size of the pattern shown in viewer on the actual planet, i.e. if scale is 10000 then the pattern will be spread across 10 kilometers.
 
  
Output is in -1..1 range.
 
  
====Curve 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. It is a very powerfull tool, allowing to map the inputs to according to specific curve to the output, changing gradients and similar things. The I/O curve is too big a topic for this manual. Example: Callisto
;Syntax:<nowiki>curv(n,f,x1,y1,x2,y2,...,x(n-1)/2,y(n-1)/2)</nowiki>
 
  
  
Input/Output curve for f by points of xi,yi, lagrange interpolated. It is a very powerful tool, allowing to map the inputs to according to specific curve to the output, changing gradients and similar things. The I/O curve is too big a topic for this manual.
+
Other operators/functions:
For example: Callisto
+
* '''ax,ay,az''' - world coordinates.
  
 +
* '''+, -, --, *, /, sin, cos, tan, ln, pow, round, trunc, sqr, sqrt max2, max3, min2, min3''' - arithmetics and basic math.
  
====Other operators/functions====
+
* '''trim'''(f,min,max) - trims f into min<f<max.
;ax,ay,az:world coordinates
 
;+, -, --, *, /, sin, cos, tan, ln, pow, round, trunc, sqr, sqrt max2, max3, min2, min3: Arithmetics and basic math
 
;trim(f,min,max): trims f into <math>min<f<max</math>
 
  
 
==See Also==
 
==See Also==
[[Meshland]]
+
[[World Studio]]
 +
 
 +
==Links==
 +
'''Main'''
  
==Download Links==
 
 
[http://orbides.1gb.ru/orulex.php Orulex's Homepage by Artlav]
 
[http://orbides.1gb.ru/orulex.php Orulex's Homepage by Artlav]
  
[http://www.orbiter-forum.com/showthread.php?t=2007 Development version Orbiter forum thread]
+
[http://www.orbithangar.com/searchid.php?ID=2686 Download at OrbiterHangar]
 
 
[https://www.orbiter-forum.com/resources/orulex_land_gen-v1-2.2390/ Orulex_Land_Gen-v1.2] Orbiter Forum/Resources.
 
 
 
[http://www.orbiter-forum.com/showthread.php?t=999 1.0 Orbiter forum thread]
 
  
==Additional links==
+
[http://www.orbiter-forum.com/showthread.php?t=999 Orbiter forum thread]
  
'''Extensions'''
+
'''Additionals'''
  
 
[http://orbides.1gb.ru/orbf/MLVS-WIP-080327.zip WIP MeshLand 2, Collision Detection support for Orulex, Unstable]
 
[http://orbides.1gb.ru/orbf/MLVS-WIP-080327.zip WIP MeshLand 2, Collision Detection support for Orulex, Unstable]
Line 196: Line 241:
 
[http://orbides.1gb.ru/orbf/oru-flight-080321-xvid.avi China flying in Gregburch's Swift1 (xVid, 31 MB)]
 
[http://orbides.1gb.ru/orbf/oru-flight-080321-xvid.avi China flying in Gregburch's Swift1 (xVid, 31 MB)]
  
[[Category: Articles]]
 
 
[[Category:Add-ons]]
 
[[Category:Add-ons]]
 +
[[Category:Celestial body add-ons]]

Please note that all contributions to OrbiterWiki are considered to be released under the GNU Free Documentation License 1.2 (see OrbiterWiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)

Template used on this page: