<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://planetside.co.uk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Redmaw</id>
	<title>Terragen Documentation from Planetside Software - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://planetside.co.uk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Redmaw"/>
	<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Special:Contributions/Redmaw"/>
	<updated>2026-05-03T17:47:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=17004</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=17004"/>
		<updated>2025-12-25T00:09:28Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Added example images for Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; border-style:solid; padding:20px&amp;quot;&amp;gt;&amp;lt;categorytree mode=pages hideroot=off&amp;gt;Get&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 00_UI_GetObjectVector.png|none|705px|Get Object Vector UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
As an object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used in shaders applied to the object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Scale factor (if instanced)” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
[[File: 05_GetObjectVecto_OverviewExample.jpg|none|900px|Example of using Get Object Vector node to change color of rocks.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetObjectVector_Choice.png|none|489px|Options for the Choice parameter]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File: 06_GetObjectVector_RockNoTransform.png|none|400px|Instance of rock without transforms via the Object Maker node.]] || [[File: 07_GetObjectVector_RockWTransform.png|none|400px|Instance of rock with -1.0 translation in Y axis of Object Maker node.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File: 08_GetObjectVector_ObjectMaker-1YTransform.png|none|705px|A TGO Reader node assigned to the population's Object Maker input.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following example images show how each Choice option can affect the colour of the instanced rocks.  The image directly below represents the instanced rocks without any colour modification by the Get Object Vector output.&lt;br /&gt;
::[[File:09_GetObjectVector_Stones-OriginalTexture.jpg|none|400px|Render of instanced rocks with their unmodified texture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. &lt;br /&gt;
::This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; &lt;br /&gt;
::For non-instanced objects this output is always 0,0,0. &lt;br /&gt;
::Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. ''See the diagram above for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
::[[File: 10_GetObjectVector_Stones-InstPos.jpg|none|400px|Colour of instanced rocks modified by the Choice: Anchor point (if instanced)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform). ''See the diagram above for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
::[[File: 11_GetObjectVector_Stones-Pos.jpg|none|400px|Colour of instanced rocks modified by the Choice: Position]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”. ''See the diagram above for a visualization of how this works.''&amp;lt;br /n&amp;gt;&lt;br /&gt;
::[[File: 12_GetObjectVector_Stones-CntrBBox.jpg|none|400px|Colour of instanced rocks modified by the Choice: Centre of bounding box]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::[[File: 13_GetObjectVector_Stones-ScaleFac.jpg|none|400px|Colour of instanced rocks modified by the Choice: Scale factor (if instanced)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::[[File: 14_GetObjectVector_Stones-SizeBBox.jpg|none|400px|Colour of instanced rocks modified by the Choice: Size of bounding box]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
::[[File: 15_GetObjectVector_Stones-DirX.jpg|none|400px|Colour of instanced rocks modified by the Choice: Direction: X vector (&amp;quot;Right&amp;quot;), normalized]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Y vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::[[File: 16_GetObjectVector_Stones-DirY.jpg|none|400px|Colour of instanced rocks modified by the Choice: Direction: Y vector (&amp;quot;Up&amp;quot;), normalized]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::[[File: 17_GetObjectVector_Stones-DirZ.jpg|none|400px|Colour of instanced rocks modified by the Choice: Direction: Z vector (&amp;quot;Forward&amp;quot;), normalized]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[Category: Get]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:17_GetObjectVector_Stones-DirZ.jpg&amp;diff=17003</id>
		<title>File:17 GetObjectVector Stones-DirZ.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:17_GetObjectVector_Stones-DirZ.jpg&amp;diff=17003"/>
		<updated>2025-12-24T23:43:02Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Direction: Z vector (&amp;quot;Forward&amp;quot;), normalized&amp;quot; has been selected from the Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Direction: Z vector (&amp;quot;Forward&amp;quot;), normalized&amp;quot; has been selected from the Choice options.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:16_GetObjectVector_Stones-DirY.jpg&amp;diff=17002</id>
		<title>File:16 GetObjectVector Stones-DirY.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:16_GetObjectVector_Stones-DirY.jpg&amp;diff=17002"/>
		<updated>2025-12-24T23:42:26Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Direction: Y vector (&amp;quot;Up&amp;quot;), normalized&amp;quot; has been selected from the Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Direction: Y vector (&amp;quot;Up&amp;quot;), normalized&amp;quot; has been selected from the Choice options.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:15_GetObjectVector_Stones-DirX.jpg&amp;diff=17001</id>
		<title>File:15 GetObjectVector Stones-DirX.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:15_GetObjectVector_Stones-DirX.jpg&amp;diff=17001"/>
		<updated>2025-12-24T23:41:32Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Direction: X vector (&amp;quot;Right&amp;quot;) normalized&amp;quot; has been selected from the Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Direction: X vector (&amp;quot;Right&amp;quot;) normalized&amp;quot; has been selected from the Choice options.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:14_GetObjectVector_Stones-SizeBBox.jpg&amp;diff=17000</id>
		<title>File:14 GetObjectVector Stones-SizeBBox.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:14_GetObjectVector_Stones-SizeBBox.jpg&amp;diff=17000"/>
		<updated>2025-12-24T23:40:39Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Size of bounding box&amp;quot; has been selected from the Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Size of bounding box&amp;quot; has been selected from the Choice options.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:13_GetObjectVector_Stones-ScaleFac.jpg&amp;diff=16999</id>
		<title>File:13 GetObjectVector Stones-ScaleFac.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:13_GetObjectVector_Stones-ScaleFac.jpg&amp;diff=16999"/>
		<updated>2025-12-24T23:39:51Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Scale factor (if instanced)&amp;quot; has been selected from the Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Scale factor (if instanced)&amp;quot; has been selected from the Choice options.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:12_GetObjectVector_Stones-CntrBBox.jpg&amp;diff=16998</id>
		<title>File:12 GetObjectVector Stones-CntrBBox.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:12_GetObjectVector_Stones-CntrBBox.jpg&amp;diff=16998"/>
		<updated>2025-12-24T23:39:18Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Centre of bounding box&amp;quot; has been selected from the Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Centre of bounding box&amp;quot; has been selected from the Choice options.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:11_GetObjectVector_Stones-Pos.jpg&amp;diff=16997</id>
		<title>File:11 GetObjectVector Stones-Pos.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:11_GetObjectVector_Stones-Pos.jpg&amp;diff=16997"/>
		<updated>2025-12-24T23:38:47Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Position&amp;quot; has been selected from the Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Position&amp;quot; has been selected from the Choice options.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:10_GetObjectVector_Stones-InstPos.jpg&amp;diff=16996</id>
		<title>File:10 GetObjectVector Stones-InstPos.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:10_GetObjectVector_Stones-InstPos.jpg&amp;diff=16996"/>
		<updated>2025-12-24T23:38:19Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Anchor Point if instanced&amp;quot; has been selected from the Choice options.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
The colour of the instanced rocks is modified by the vector values from the Get Object Vector node.  &amp;quot;Anchor Point if instanced&amp;quot; has been selected from the Choice options.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:09_GetObjectVector_Stones-OriginalTexture.jpg&amp;diff=16995</id>
		<title>File:09 GetObjectVector Stones-OriginalTexture.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:09_GetObjectVector_Stones-OriginalTexture.jpg&amp;diff=16995"/>
		<updated>2025-12-24T23:34:28Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Instanced rocks with original textures, no modifications.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Instanced rocks with original textures, no modifications.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16994</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16994"/>
		<updated>2025-12-24T23:33:19Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Add images for Choice parameter&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; border-style:solid; padding:20px&amp;quot;&amp;gt;&amp;lt;categorytree mode=pages hideroot=off&amp;gt;Get&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 00_UI_GetObjectVector.png|none|705px|Get Object Vector UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
As an object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used in shaders applied to the object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Scale factor (if instanced)” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
[[File: 05_GetObjectVecto_OverviewExample.jpg|none|900px|Example of using Get Object Vector node to change color of rocks.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetObjectVector_Choice.png|none|489px|Options for the Choice parameter]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File: 06_GetObjectVector_RockNoTransform.png|none|400px|Instance of rock without transforms via the Object Maker node.]] || [[File: 07_GetObjectVector_RockWTransform.png|none|400px|Instance of rock with -1.0 translation in Y axis of Object Maker node.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[File: 08_GetObjectVector_ObjectMaker-1YTransform.png|none|705px|A TGO Reader node assigned to the population's Object Maker input.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. &lt;br /&gt;
::This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; &lt;br /&gt;
::For non-instanced objects this output is always 0,0,0. &lt;br /&gt;
::Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform).&lt;br /&gt;
::''See the diagram for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”.&lt;br /&gt;
::''See the diagram for a visualization of how this works.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: U vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[Category: Get]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:08_GetObjectVector_ObjectMaker-1YTransform.png&amp;diff=16993</id>
		<title>File:08 GetObjectVector ObjectMaker-1YTransform.png</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:08_GetObjectVector_ObjectMaker-1YTransform.png&amp;diff=16993"/>
		<updated>2025-12-24T23:11:54Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Object Maker, a TGO Reader node, with -1.0 value in the Translate Y axis.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Object Maker, a TGO Reader node, with -1.0 value in the Translate Y axis.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:07_GetObjectVector_RockWTransform.png&amp;diff=16992</id>
		<title>File:07 GetObjectVector RockWTransform.png</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:07_GetObjectVector_RockWTransform.png&amp;diff=16992"/>
		<updated>2025-12-24T23:04:31Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Diagram of instanced object with transform of -1 in the Y axis of the Object Maker node.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Diagram of instanced object with transform of -1 in the Y axis of the Object Maker node.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:06_GetObjectVector_RockNoTransform.png&amp;diff=16991</id>
		<title>File:06 GetObjectVector RockNoTransform.png</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:06_GetObjectVector_RockNoTransform.png&amp;diff=16991"/>
		<updated>2025-12-24T23:03:47Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Diagram for instanced object with no transforms from Object Maker node.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Diagram for instanced object with no transforms from Object Maker node.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16990</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16990"/>
		<updated>2025-12-24T22:44:45Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Add overview example image, reword overview to reflect correct parameter name.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; border-style:solid; padding:20px&amp;quot;&amp;gt;&amp;lt;categorytree mode=pages hideroot=off&amp;gt;Get&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 00_UI_GetObjectVector.png|none|705px|Get Object Vector UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
As an object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used in shaders applied to the object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Scale factor (if instanced)” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
[[File: 05_GetObjectVecto_OverviewExample.jpg|none|900px|Example of using Get Object Vector node to change color of rocks.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetObjectVector_Choice.png|none|489px|Options for the Choice parameter]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. &lt;br /&gt;
::This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; &lt;br /&gt;
::For non-instanced objects this output is always 0,0,0. &lt;br /&gt;
::Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform).&lt;br /&gt;
::''See the diagram for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”.&lt;br /&gt;
::''See the diagram for a visualization of how this works.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: U vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[Category: Get]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:05_GetObjectVecto_OverviewExample.jpg&amp;diff=16989</id>
		<title>File:05 GetObjectVecto OverviewExample.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:05_GetObjectVecto_OverviewExample.jpg&amp;diff=16989"/>
		<updated>2025-12-24T22:30:04Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Get Object Vector overview example.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Get Object Vector overview example.&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16988</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16988"/>
		<updated>2025-12-20T01:22:33Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Clarified overview description and replaced &amp;quot;instances&amp;quot; with &amp;quot;objects&amp;quot;.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; border-style:solid; padding:20px&amp;quot;&amp;gt;&amp;lt;categorytree mode=pages hideroot=off&amp;gt;Get&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 00_UI_GetObjectVector.png|none|705px|Get Object Vector UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
As an object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used in shaders applied to the object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Size: Scale factor” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetObjectVector_Choice.png|none|489px|Options for the Choice parameter]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. &lt;br /&gt;
::This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; &lt;br /&gt;
::For non-instanced objects this output is always 0,0,0. &lt;br /&gt;
::Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform).&lt;br /&gt;
::''See the diagram for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”.&lt;br /&gt;
::''See the diagram for a visualization of how this works.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: U vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[Category: Get]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16987</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16987"/>
		<updated>2025-12-20T01:13:33Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Added &amp;quot;Get&amp;quot; category to page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; border-style:solid; padding:20px&amp;quot;&amp;gt;&amp;lt;categorytree mode=pages hideroot=off&amp;gt;Get&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 00_UI_GetObjectVector.png|none|705px|Get Object Vector UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
As an instanced object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used to modify the instanced object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Size: Scale factor” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetObjectVector_Choice.png|none|489px|Options for the Choice parameter]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. &lt;br /&gt;
::This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; &lt;br /&gt;
::For non-instanced objects this output is always 0,0,0. &lt;br /&gt;
::Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform).&lt;br /&gt;
::''See the diagram for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”.&lt;br /&gt;
::''See the diagram for a visualization of how this works.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: U vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[Category: Get]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Point&amp;diff=16986</id>
		<title>Get Point</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Point&amp;diff=16986"/>
		<updated>2025-12-20T01:12:40Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Add &amp;quot;Get&amp;quot; category to page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; border-style:solid; padding:20px&amp;quot;&amp;gt;&amp;lt;categorytree mode=pages hideroot=off&amp;gt;Get&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 00_UI_GetPoint.PNG|none|705px|Get Point node]]&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The Get Point node provides the position of the current [[Render State]] in texture, object, or world space coordinates. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[Render State]] is affected by any shaders which were called before this function is called, among other things. The position is the current point on/in the surface/volume being rendered or sampled. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The input connection is not used by this node (consistent with all [[Get|Get nodes]]). &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Point nodes in a project. &lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Point space:''' This popup has 8 options which allow you to choose the coordinate space for the node's output.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetPoint_PointSpace.png||none|403px|Point Space options]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Texture, transformable:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Texture, undisplaced:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, context-dependent: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of displacement, for example in a function network that feeds a displacement shader, the position depends on where the node is connected with respect to other displacement shaders. This is because displacement shaders modify position immediately. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of providing colour and lighting to a surface, for example in a function network that feeds a shader's colour or luminosity, the position is always the &amp;quot;final position&amp;quot; after all displacement. This is because all displacements are performed before any shader's colour and lighting is calculated. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, undisplaced: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, sticky: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, context-dependent:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of displacement, for example in a function network that feeds a displacement shader, the position depends on where the node is connected with respect to other displacement shaders. This is because displacement shaders modify position immediately. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of providing colour and lighting to a surface, for example in a function network that feeds a shader's colour or luminosity, the position is always the &amp;quot;final position&amp;quot; after all displacement. This is because all displacements are performed before any shader's colour and lighting is calculated. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, undisplaced: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, sticky: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Get]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Point&amp;diff=16985</id>
		<title>Get Point</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Point&amp;diff=16985"/>
		<updated>2025-12-20T01:10:02Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Added &amp;quot;Get&amp;quot; category tree&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; border-style:solid; padding:20px&amp;quot;&amp;gt;&amp;lt;categorytree mode=pages hideroot=off&amp;gt;Get&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 00_UI_GetPoint.PNG|none|705px|Get Point node]]&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The Get Point node provides the position of the current [[Render State]] in texture, object, or world space coordinates. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[Render State]] is affected by any shaders which were called before this function is called, among other things. The position is the current point on/in the surface/volume being rendered or sampled. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The input connection is not used by this node (consistent with all [[Get|Get nodes]]). &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Point nodes in a project. &lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Point space:''' This popup has 8 options which allow you to choose the coordinate space for the node's output.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetPoint_PointSpace.png||none|403px|Point Space options]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Texture, transformable:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Texture, undisplaced:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, context-dependent: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of displacement, for example in a function network that feeds a displacement shader, the position depends on where the node is connected with respect to other displacement shaders. This is because displacement shaders modify position immediately. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of providing colour and lighting to a surface, for example in a function network that feeds a shader's colour or luminosity, the position is always the &amp;quot;final position&amp;quot; after all displacement. This is because all displacements are performed before any shader's colour and lighting is calculated. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, undisplaced: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, sticky: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, context-dependent:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of displacement, for example in a function network that feeds a displacement shader, the position depends on where the node is connected with respect to other displacement shaders. This is because displacement shaders modify position immediately. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of providing colour and lighting to a surface, for example in a function network that feeds a shader's colour or luminosity, the position is always the &amp;quot;final position&amp;quot; after all displacement. This is because all displacements are performed before any shader's colour and lighting is calculated. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, undisplaced: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, sticky: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16984</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16984"/>
		<updated>2025-12-20T01:08:58Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Added &amp;quot;Get&amp;quot; category tree&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;float:right; border-style:solid; padding:20px&amp;quot;&amp;gt;&amp;lt;categorytree mode=pages hideroot=off&amp;gt;Get&amp;lt;/categorytree&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File: 00_UI_GetObjectVector.png|none|705px|Get Object Vector UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
As an instanced object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used to modify the instanced object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Size: Scale factor” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetObjectVector_Choice.png|none|489px|Options for the Choice parameter]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. &lt;br /&gt;
::This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; &lt;br /&gt;
::For non-instanced objects this output is always 0,0,0. &lt;br /&gt;
::Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform).&lt;br /&gt;
::''See the diagram for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”.&lt;br /&gt;
::''See the diagram for a visualization of how this works.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: U vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Render_State&amp;diff=16983</id>
		<title>Render State</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Render_State&amp;diff=16983"/>
		<updated>2025-12-20T01:06:36Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Added Get Point and Get Object Vector nodes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
&lt;br /&gt;
The Render State is a collection of variables and functions that shaders access and modify during rendering. It is the main point of communication between shaders and the rendering of an image. Whenever a shader is asked to do something, e.g displace a point or tell the renderer what colour a pixel should be, the shader gets information about the point to shade from the Render State. In turn the shader sends information back to the renderer by modifying values in the Render State, and this is how the renderer knows what colour to draw or what shape a surface should be. This is usually done on a point-by-point basis. Roughly speaking, the renderer works on a single pixel or a single micro-polygon at a time, and asks all the shaders to modify that point.&lt;br /&gt;
&lt;br /&gt;
Some shaders modify the state so that they can change the behaviour of other shaders which are called later. This is how the [[Warp Shader]] can change the shape of other shaders connected to its &amp;quot;Shader&amp;quot; branch, for example.&lt;br /&gt;
&lt;br /&gt;
Shaders do all this without exposing the details to the user. However, many of the variables in the Render State can be accessed using &amp;quot;Get&amp;quot; function nodes, allowing you to do things that aren't possible with the built-in shaders alone.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Get&amp;quot; Functions ==&lt;br /&gt;
&lt;br /&gt;
The following nodes provide read-only access to some of the variables in the Render State. The values they return may depend on rendering context, and may depend on which shaders have been called before these functions are called.&lt;br /&gt;
&lt;br /&gt;
=== Scalars ===&lt;br /&gt;
&lt;br /&gt;
[[Get Altitude]] - Signed distance from ''Position in Geometry'' to ''Position'' along the direction of ''Normal in Geometry''. For a planet this basically means the altitude of the current point being rendered, including displacement.&lt;br /&gt;
&lt;br /&gt;
[[Get Altitude in Texture]] - Signed distance from ''Position in Geometry'' to ''Position in Texture'' along the direction of ''Normal in Geometry''. For a planet this basically means the altitude of the current texture coordinates.&lt;br /&gt;
&lt;br /&gt;
[[Get Frame Number]]&lt;br /&gt;
&lt;br /&gt;
=== Positions (vectors) ===&lt;br /&gt;
&lt;br /&gt;
[[Get Camera Position]] - Position of the main camera in world space, independent of current shading context&lt;br /&gt;
&lt;br /&gt;
[[Get Object Vector]] - Position, size or direction of object in world space&lt;br /&gt;
&lt;br /&gt;
[[Get Point]] - Position of point in texture, object, or world space&lt;br /&gt;
&lt;br /&gt;
[[Get Position]] - Position of the point in world space, with displacement&lt;br /&gt;
&lt;br /&gt;
[[Get Position in Geometry]] - Position of the point in world space prior to displacement&lt;br /&gt;
&lt;br /&gt;
[[Get Position in Texture]] - Texture coordinates set by object, often modified by other shaders e.g. Compute Terrain, Tex Coords From XYZ, Transform Shader, Warp Shader&lt;br /&gt;
&lt;br /&gt;
[[Get Ray Origin]] - Position of viewer or origin of the current ray in world space&lt;br /&gt;
&lt;br /&gt;
=== Normals (vectors) ===&lt;br /&gt;
&lt;br /&gt;
[[Get Normal]] - Surface normal including most recent modification by shaders or renderer&lt;br /&gt;
&lt;br /&gt;
[[Get Normal in Geometry]] - Surface normal prior to displacement&lt;br /&gt;
&lt;br /&gt;
[[Get Normal in Texture]] - Surface normal set by object, Compute Terrain or Compute Normal&lt;br /&gt;
&lt;br /&gt;
=== Colours ===&lt;br /&gt;
&lt;br /&gt;
Some, or all, of the following colour variables may have been set with useful information, depending on what shaders were called prior to executing them.&lt;br /&gt;
&lt;br /&gt;
[[Get Diffuse Colour]] - Surface diffuse coefficient, before lighting&lt;br /&gt;
&lt;br /&gt;
[[Get Emitted Colour]] - Surface emission (luminous) component&lt;br /&gt;
&lt;br /&gt;
[[Get Final Alpha]] - Surface final output alpha&lt;br /&gt;
&lt;br /&gt;
[[Get Final Colour]] - Surface final output colour&lt;br /&gt;
&lt;br /&gt;
[[Get Final Opacity]] - Surface final opacity (1 - transparency)&lt;br /&gt;
&lt;br /&gt;
[[Get Specular Colour]] - Surface specular component&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get&amp;diff=16982</id>
		<title>Get</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get&amp;diff=16982"/>
		<updated>2025-12-20T01:03:11Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Add Get Point and Get Object Vector nodes to list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Get function nodes retrieve specific pieces of information about the scene.&lt;br /&gt;
&lt;br /&gt;
[[Get Altitude]]&lt;br /&gt;
&lt;br /&gt;
[[Get Altitude in Texture]]&lt;br /&gt;
&lt;br /&gt;
[[Get Camera Position]]&lt;br /&gt;
&lt;br /&gt;
[[Get Diffuse Colour]]&lt;br /&gt;
&lt;br /&gt;
[[Get Emitted Colour]]&lt;br /&gt;
&lt;br /&gt;
[[Get Final Alpha]]&lt;br /&gt;
&lt;br /&gt;
[[Get Final Colour]]&lt;br /&gt;
&lt;br /&gt;
[[Get Final Opacity]]&lt;br /&gt;
&lt;br /&gt;
[[Get Frame Number]]&lt;br /&gt;
&lt;br /&gt;
[[Get Normal]]&lt;br /&gt;
&lt;br /&gt;
[[Get Normal in Geometry]]&lt;br /&gt;
&lt;br /&gt;
[[Get Normal in Texture]]&lt;br /&gt;
&lt;br /&gt;
[[Get Object Vector]]&lt;br /&gt;
&lt;br /&gt;
[[Get Point]]&lt;br /&gt;
&lt;br /&gt;
[[Get Position]]&lt;br /&gt;
&lt;br /&gt;
[[Get Position in Geometry]]&lt;br /&gt;
&lt;br /&gt;
[[Get Position in Texture]]&lt;br /&gt;
&lt;br /&gt;
[[Get Ray Origin]]&lt;br /&gt;
&lt;br /&gt;
[[Get Specular Colour]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Point&amp;diff=16981</id>
		<title>Get Point</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Point&amp;diff=16981"/>
		<updated>2025-12-20T01:01:59Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Repo descriptions to proper Point Space option&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File: 00_UI_GetPoint.PNG|none|705px|Get Point node]]&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The Get Point node provides the position of the current [[Render State]] in texture, object, or world space coordinates. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[Render State]] is affected by any shaders which were called before this function is called, among other things. The position is the current point on/in the surface/volume being rendered or sampled. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The input connection is not used by this node (consistent with all [[Get|Get nodes]]). &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Point nodes in a project. &lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Point space:''' This popup has 8 options which allow you to choose the coordinate space for the node's output.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetPoint_PointSpace.png||none|403px|Point Space options]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Texture, transformable:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Texture, undisplaced:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, context-dependent: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of displacement, for example in a function network that feeds a displacement shader, the position depends on where the node is connected with respect to other displacement shaders. This is because displacement shaders modify position immediately. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of providing colour and lighting to a surface, for example in a function network that feeds a shader's colour or luminosity, the position is always the &amp;quot;final position&amp;quot; after all displacement. This is because all displacements are performed before any shader's colour and lighting is calculated. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, undisplaced: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, sticky: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, context-dependent:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of displacement, for example in a function network that feeds a displacement shader, the position depends on where the node is connected with respect to other displacement shaders. This is because displacement shaders modify position immediately. &amp;lt;br /n&amp;gt;&lt;br /&gt;
::When used in the context of providing colour and lighting to a surface, for example in a function network that feeds a shader's colour or luminosity, the position is always the &amp;quot;final position&amp;quot; after all displacement. This is because all displacements are performed before any shader's colour and lighting is calculated. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, undisplaced: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, sticky: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Point&amp;diff=16980</id>
		<title>Get Point</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Point&amp;diff=16980"/>
		<updated>2025-12-20T00:42:05Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Peliminary layout, descriptions and UI images for Get Point node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File: 00_UI_GetPoint.PNG|none|705px|Get Point node]]&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
The Get Point node provides the position of the current [[Render State]] in texture, object, or world space coordinates. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The [[Render State]] is affected by any shaders which were called before this function is called, among other things. The position is the current point on/in the surface/volume being rendered or sampled. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The input connection is not used by this node (consistent with all [[Get|Get nodes]]). &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When used in the context of displacement, for example in a function network that feeds a displacement shader, the position depends on where the node is connected with respect to other displacement shaders. This is because displacement shaders modify position immediately. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When used in the context of providing colour and lighting to a surface, for example in a function network that feeds a shader's colour or luminosity, the position is always the &amp;quot;final position&amp;quot; after all displacement. This is because all displacements are performed before any shader's colour and lighting is calculated. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Point nodes in a project. &lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Point space:''' This popup has 8 options which allow you to choose the coordinate space for the node's output.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetPoint_PointSpace.png||none|403px|Point Space options]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Texture, transformable:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Texture, undisplaced:&amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, context-dependent: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, undisplaced: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Object, sticky: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, context-dependent:&amp;lt;u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, undisplaced: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;World, sticky: &amp;lt;/u&amp;gt; &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:01_GetPoint_PointSpace.png&amp;diff=16979</id>
		<title>File:01 GetPoint PointSpace.png</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:01_GetPoint_PointSpace.png&amp;diff=16979"/>
		<updated>2025-12-20T00:14:55Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Get Point Point Space parameter options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Get Point Point Space parameter options&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:00_UI_GetPoint.PNG&amp;diff=16978</id>
		<title>File:00 UI GetPoint.PNG</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:00_UI_GetPoint.PNG&amp;diff=16978"/>
		<updated>2025-12-20T00:13:48Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: UI for the Get Point node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
UI for the Get Point node&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16977</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16977"/>
		<updated>2025-12-19T04:42:03Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Changes to layout of descriptions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File: 00_UI_GetObjectVector.png|none|705px|Get Object Vector UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
As an instanced object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used to modify the instanced object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Size: Scale factor” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetObjectVector_Choice.png|none|489px|Options for the Choice parameter]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. &lt;br /&gt;
::This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; &lt;br /&gt;
::For non-instanced objects this output is always 0,0,0. &lt;br /&gt;
::Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform).&lt;br /&gt;
::''See the diagram for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”.&lt;br /&gt;
::''See the diagram for a visualization of how this works.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: U vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16976</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16976"/>
		<updated>2025-12-19T04:37:10Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Added UI images for Get Object Vector node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File: 00_UI_GetObjectVector.png|none|705px|Get Object Vector UI]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
As an instanced object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used to modify the instanced object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Size: Scale factor” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 01_GetObjectVector_Choice.png|none|489px|Options for the Choice parameter]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; For non-instanced objects this output is always 0,0,0. Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform).&lt;br /&gt;
::''See the diagram for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”.&lt;br /&gt;
::''See the diagram for a visualization of how this works.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: U vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:00_UI_GetObjectVector.png&amp;diff=16975</id>
		<title>File:00 UI GetObjectVector.png</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:00_UI_GetObjectVector.png&amp;diff=16975"/>
		<updated>2025-12-19T04:34:52Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: UI for Get Object Vector node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
UI for Get Object Vector node&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:01_GetObjectVector_Choice.png&amp;diff=16974</id>
		<title>File:01 GetObjectVector Choice.png</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:01_GetObjectVector_Choice.png&amp;diff=16974"/>
		<updated>2025-12-19T04:28:14Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Get Object Vector node's Choice parameter options&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Get Object Vector node's Choice parameter options&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16973</id>
		<title>Get Object Vector</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Get_Object_Vector&amp;diff=16973"/>
		<updated>2025-12-19T04:25:52Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Initial documentation for Get Object Vector node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
As an instanced object is being sampled, the Get Object Vector node can return a 3D vector containing the item’s position, size or direction information. This information can be used to modify the instanced object.  &lt;br /&gt;
&lt;br /&gt;
For example, the colour of an instanced object could be modified based on its size, by selecting “Size: Scale factor” from the node’s Choice setting and connecting the node’s output to the “Colour function” parameter of a Default shader node.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
*'''Name:''' This setting allows you to apply a descriptive name to the node, which can be helpful when using multiple Get Object Vector nodes in a project.&lt;br /&gt;
*'''Enable:''' When checked, the node is active, and when unchecked the node is ignored.&lt;br /&gt;
*'''Choice:''' This popup has 8 options which allow you to choose the type of data output by the node as a vector.  The data is output in world space coordinates and based on the object’s position, size or direction. The first three options are concerned with the object’s position, and each option progresses deeper into the object hierarchy to return more precise positional information.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Anchor point (if instanced):&amp;lt;/u&amp;gt; The output value is the location in world space at which the populator places an instanced object. This may be a position on the object or terrain to which the instance is anchored, or a point in free-floating space, but always in world space coordinates.&amp;lt;br/n&amp;gt; For non-instanced objects this output is always 0,0,0. Visually speaking an instanced object may appear in a different place from the &amp;quot;Anchor point&amp;quot; if the original mesh was modeled with an offset to the origin, or if the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) has a non-zero &amp;quot;Translate&amp;quot; parameter. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt; Position:&amp;lt;/u&amp;gt; The output value is the location in world space of the object or instance.&amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The output value is the same as &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.).&lt;br /&gt;
::Visually speaking an object may appear in a different place from the &amp;quot;Position&amp;quot; if the original mesh was modeled with an offset from the origin.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator):&lt;br /&gt;
::If the &amp;quot;Translate&amp;quot; parameter of the object maker (e.g. OBJ Reader, TGO Reader, Rock etc.) is 0,0,0 then the &amp;quot;Position&amp;quot; output value will be identical to the &amp;quot;Anchor point&amp;quot;. If the object maker's &amp;quot;Translate&amp;quot; parameter is anything other than 0,0,0, then the instance position is a combination of the &amp;quot;Translate&amp;quot; parameter of the object maker node and the instance's anchor point. It is also affected by the instance's scale factor (a random value assigned by the populator) and the instance's rotation (a random rotation assigned by the populator) which may include “Lean to terrain/object normal”.&lt;br /&gt;
::Mathematically speaking, the instance position is the instance transform applied to the &amp;quot;Translate&amp;quot; parameter of the object maker (i.e. the object maker's position is modified by the instance transform).&lt;br /&gt;
::''See the diagram for a visualization of how this works.'' &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Centre of bounding box:&amp;lt;/u&amp;gt; The output value is the location in world space of the centre of the bounding box that surrounds the mesh of the object or instance. &amp;lt;br /n&amp;gt;&lt;br /&gt;
:;If the object is a standalone object (not an instance):&lt;br /&gt;
::The bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab.&lt;br /&gt;
&lt;br /&gt;
:;If the object is an instance (instantiated by a populator)&lt;br /&gt;
::The instance's bounding box centre is affected by any translation, rotation, and scale values from the object maker's Transform tab, as well as the instance's transform, which includes the anchor point from the populator, a random scale factor from the populator and a random rotation from the populator which may include “Lean to terrain/object normal”.&lt;br /&gt;
::''See the diagram for a visualization of how this works.''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Scale factor (if instanced):&amp;lt;/u&amp;gt; The scale factor chosen by the populator when the instance is created. It is based on a random value between the populator’s “Minimum scale” and “Maximum scale” parameter values. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Size of bounding box:&amp;lt;/u&amp;gt; The output vector represents the size of the object’s bounding box in world space in the final render.  Each XYZ component of the vector corresponds to the XYZ size of the bounding box.  This takes into account the vertices of the mesh object, the object reader’s “Scale” parameter values, and the populator’s random value chosen between its “Minimum Scale” and “Maximum Scale” parameters. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: X vector (“Right”), normalized:&amp;lt;/u&amp;gt; The output vector represents the final direction of the instanced object based on the rotation value chosen by the populator and the “Rotate” value in the object reader’s transform tab.  The scale of the instance object does not affect the output value.&amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: U vector (“Up”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Direction: Z vector (“Forward”), normalized:&amp;lt;/u&amp;gt; Same as above. &amp;lt;br /n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /n&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=TGO_Reader&amp;diff=16972</id>
		<title>TGO Reader</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=TGO_Reader&amp;diff=16972"/>
		<updated>2025-11-03T21:53:26Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Changed references to file extensions ending in OBJ and .obj to TGO and .tgo where applicable.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TGOReader_00_GlobalAndFileReadTab.png|none|470px|TGO Reader]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The TGO Reader loads an object from a TGO file. TGO is Terragen's native object format, which allows the saving of Terragen-specific information such as internal surfacing networks, in addition to normal object settings. TGO is a Terragen-specific file format and is generally not supported in other applications. TGO Objects can be moved (translated), rotated, and scaled on the Transform tab. The Surface Shaders tab allows you to specify the surface shaders that will be applied to the object.&lt;br /&gt;
&lt;br /&gt;
'''Node Type:''' Object&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''Population mode:''' This popup has two options:&lt;br /&gt;
[[File:OBJReader_01_PopulationMode.png|none|322px|Population mode parameters]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;u&amp;gt;Individual Object:&amp;lt;/u&amp;gt; This is the default for objects created individually, not part of a population. If you choose this option for objects that are part of a population the population instances will still render but the object itself will also show up at its original position.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;u&amp;gt;Member of a Population:&amp;lt;/u&amp;gt; This is the default for objects created as part of creating a population. It means the objects only render as part of a population. If you choose this option for an individual object it won't render.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
If you create an object as part of a population and then decide to use it on its own you may need to change the popup to &amp;lt;u&amp;gt;Individual Object&amp;lt;/u&amp;gt; to get it to render.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preview mode:''' This popup has five options and lets you choose how the object should be displayed in the 3D Preview by setting the most detailed mode that the object can be displayed in. The Object Display Mode button in the 3D Preview controls the mode for the preview as a whole. For example if you set the '''Preview mode''' of the object to Wireframe but the 3D Preview object display mode is set to '''Show as bounding boxes''' then the object will only be drawn as a bounding box.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:OBJReader_02_PreviewMode.png|none|234px|Preview Mode parameters]]&lt;br /&gt;
&amp;lt;li&amp;gt;''' Preview Colour:''' Enabling this parameter causes the object to be drawn in the 3D preview using the preview colour when the object display mode is set to bounding box or wireframe.  When set to smooth shaded or texture display mode, the preview colour tints the object’s textured surface.  This is useful for making a particular object stand out in the 3D preview.  Clicking on the colour swatch to the right of the parameter label opens the [[Colour_Picker|Colour picker pane]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
== File Read Tab ==&lt;br /&gt;
[[File:OBJReader_03_FileReadTab.png|none|460px|File Read Tab]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;'''Filename:''' This parameter shows the path to the file used by the TGO Reader. You can use the file button at right to load a different file but this isn't recommended as the materials for the new file won't be loaded. To use an TGO file sequence you can use a limited set of C-style format strings to automatically insert the frame number, for example &amp;quot;MyObject_%04d.tgo&amp;quot; may result in &amp;quot;MyObject_0023.tgo&amp;quot; on frame 23, depending on the options on the Sequence tab.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Sequence Tab ==&lt;br /&gt;
[[File:OBJReader_04_SequenceTab.png|none|460px|Sequence Tab]]&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;'''Sequence first:''' When a supported frame insertion pattern is used in '''Filename''' to load a file sequence, '''Sequence first''' and '''Sequence last''' control the range of numbers that are allowed in the file sequence. If you have files with names MyObject_0001.tgo to MyObject_0010.tgo and want your animation to use them all, you would set '''Sequence first''' and '''Sequence last''' to 1 and 10 respectively. &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;  For example, when set to a value of 1, MyObject_0001.tgo will load on frame 1, when the '''Offset''' value is zero. If an '''Offset''' value other than zero is present, that value will be added to the '''Sequence first''' value to determine which geometry is loaded.  For example, with an '''Offset''' value of “4”, MyObject_0005.tgo will load on frame 1.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_05_SequenceTab_SequenceFirst_1-10LoopOffset0.gif|none|400px|Ten sequential objects, looping, no offset.]] || [[File:OBJReader_06_SequenceTab_SequenceFirst_1-10LoopOffset4.gif|none|400px|Ten sequential objects, looping, offset is four.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;li&amp;gt; Terragen can cycle through a subset of the total available sequential geometry by specifying the range to use in the '''Sequence first''' and '''Sequence last''' values.  For example, if the '''Sequence first''' value was set to “4” and the '''Sequence last''' value was set to “8”, then Terragen would cycle through the sequential objects named MyObject_0004.tgo through MyObject_0008.tgo.  MyObject_0004.tgo would load on frame 4 and MyObject_0008.tgo would load on frame 8, if the '''Offset''' value were zero.  Note, that frames 1, 2 and 3 would load MyObject_0006.tgo, MyObject_0007.tgo, and MyObject_0008.tgo respectively if '''Loop''' where enabled, and MyObject_0005.tgo, MyObject_0006.tgo and MyObject_0007.tgo if '''Ping pong''' were enabled.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- using a table for the images that need to be side by side --&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_07_SequenceTab_SequenceFirst_4-8LoopOffset0.gif|none|400px|Five sequential objects, looping, no offset.]] || [[File:OBJReader_08_SequenceTab_SequenceFirst_4-8PingOffset0.gif|400px|Five sequential objects, ping pong, no offset.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; If the sequential object number does not exist, Terragen will display a warning message to alert you.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:OBJReader_09_SequenceTab_SeqeuenceFirst_MissingObjects.png|none|916px|Warning message if sequential object is missing.]]&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Sequence last:''' When a supported frame insertion pattern is used in '''Filename''' to load a file sequence, '''Sequence first''' and '''Sequence last''' control the range of numbers that are allowed in the file sequence. For example, if you have files with names MyObject_0001.tgo to MyObject_0010.tgo and want your animation to use them all, you would set '''Sequence first''' and '''Sequence last''' to 1 and 10 respectively.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;If an '''Offset''' value other than &amp;quot;0&amp;quot; is present, that value will be added to the '''Sequence last''' value to determine which geometry is loaded, factoring in the number of available objects in the sequence and cycling through them based on the '''Loop''' or '''Ping Pong''' mode selected.  For example, with an '''Offset''' value of “1” in a object sequence numbered 1 through 10, MyObject_0001.tgo will load on frame 10 if '''Loop''' is enabled, or MyObject_0009.tgo will load on frame 10 if '''Ping Pong''' is enabled.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Loop or Ping Pong:''' After Terragen applies '''Offset''' to the current frame number, if the resulting frame number falls outside the range defined by '''Sequence first''' and '''Sequence last''' then '''Loop''' and '''Ping Pong''' are two different ways extend the cycle infinitely, both before the beginning and after the end of the sequence. Upon completion of the sequential object cycle determined by the '''Sequence first''' value and '''Sequence last''' value, the objects can either “loop” back to the '''Sequence first''' object and cycle through the objects as each frame advances, or “ping pong”, that is, reverse the object sequence order until the '''Sequence first''' object is encountered. If neither '''Loop''' nor '''Ping Pong''' are checked then the object will be held at the first or last file in the sequence when the requested frame number falls outside the defined range. &amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_05_SequenceTab_SequenceFirst_1-10LoopOffset0.gif|none|400px|Ten sequential objects, looping, no offset.]] || [[File:OBJReader_10_SequenceTab_LoopPingPong_1-10PingOffset0.gif|400px|Ten sequential objects, Ping Pong, no offset]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Frame offset:''' This value provides a way to load files with sequential numbers that are different from the rendered frame numbers, to shift the timing of the animation or to account for differences in how the frames are numbered in the object filenames. Terragen adds '''Frame offset''' to the project's current frame number to determine which file number to load (with the actual file number being limited to the range defined by '''Sequence first''' and '''Sequence last''' with optional looping or ping-ponging). For example, if the '''Sequence first''' value is &amp;quot;1&amp;quot;, the '''Sequence last''' value is &amp;quot;10&amp;quot;, and the '''Offset value''' is &amp;quot;4&amp;quot;, then MyObject_0005.tgo would be loaded on frame 1, MyObject_0006.tgo on frame 2, etc. Negative offsets can be used. For example, if the '''Offset''' value is &amp;quot;-1000&amp;quot; (negative), then MyObject_0001.tgo would be loaded on frame 1001, MyObject_0002.tgo on frame 1002, etc.  &amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_06_SequenceTab_SequenceFirst_1-10LoopOffset4.gif|none|400px|Ten sequential objects, looping, offset is four.]] || [[File:OBJReader_11_SeqeuenceTab_FrameOffset_1-10PingOffset4.gif|400px|Ten sequential objects, Ping Pong, offset is four.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Mesh Modifiers tab ==&lt;br /&gt;
[[File:OBJReader_12_MeshModifiersTab2.png|none|460px|Mesh Modifiers Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Read MDD (motion) file:''' Terragen can apply Motion Designer or “MDD” files created in third-party 3D software packages to an object within the project.  The MDD file contains the position of every vertex in an object, for each frame of an animation.  After an object is animated or otherwise deformed in the third-party 3D software, its vertex positions are “baked”, or saved in the MDD file format.  This allows for complex animation to exist within a Terragen project, that otherwise could not.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_13_MDD_Melt_v002.gif|none|400px|Motion Designer file of animated melting sequence applied to 3D text geometry.]] || [[File:OBJReader_14_MDD_Bat.gif|none|400px|Motion Designer file of animated flap cycle applied to 3D bat object.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_43_MeshModifiers_MDD_Flag.gif|none|400px|Motion Designer file of cloth dynamics simulation.]] || [[File:OBJReader_42_MeshModifiersTab_MDD_WierdWallBulletDynamics_on2s.gif|none|400px|Motion Designer file of bullet dynamics simulation.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Reverse Z (right handed): '''  If the MDD file is facing in the wrong direction, you can reverse the Z axis in order to point it in the right direction.&lt;br /&gt;
[[File:OBJReader_44_MDD_ReverseZ_Bat.gif|none|400px|Effect of enabling the Reverse Z (right handed) parameter.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mesh displacer:'''  The shader assigned to this parameter displaces the object’s vertices (mesh). For example, a power fractal shader can be used to displace the vertices of the 3D object or a population.  The denser the object’s geometry, or more vertices it has, allows for more subtle deformations to be visible.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_15_MeshModifiersTab_MeshDisplacer_Cattail.gif|none|400px|Animated parameters on a power fractal to deform a single 3D object.]] || [[File:OBJReader_16_MeshModifiersTab_MeshDisplacer_Population.gif|none|400px|Animated parameters on a power fractal to deform a population.]] &lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_17_MeshModifiersTab_MeshDisplacer_NonShaderedLeafs2.PNG|none|400px|Displacement applied to non-shadered objects.]] || [[File:OBJReader_18_MeshModifiersTab_MeshDisplacer_TexturedLeafs2.PNG|none|400px|Displacement applied to textured objects.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Recalculate Normals: '''  The MDD files and shaders assigned to the “Read MDD file” and “Mesh displacer” parameters change the base 3D object’s normals, requiring them to be recomputed in order to render correctly.  The “Recalculate Normals” parameter instructs Terragen how to recompute the normals.&lt;br /&gt;
This popup provides four options because of the many different ways in which 3D software applications, exporters and modeling techniques are used to create geometry and MDD files. The options are:&lt;br /&gt;
[[File:OBJReader_41_MeshModifiersTab_RecalcNormalsParams.png|none|378px|Recalculate Normal options.]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''&amp;lt;u&amp;gt;No:&amp;lt;/u&amp;gt;''' The normals are unchanged and left as they were in the original Wavefront OBJ, Lightwave LWO, or Terragen TGO formatted object.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''&amp;lt;u&amp;gt;Conservative Update:&amp;lt;/u&amp;gt;'''  Only the existing normals are updated. In other words, it relies on the normals to have been mapped to faces in a meaningful way in the original object.  Each recalculated normal is the average of the normals of the faces that use the normal.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Benefits:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Fast.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Preserves creases where edges use per-face normals in the original scene.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
Drawbacks:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Cannot create a smooth surface if normals are not shared between faces&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Cannot create normals where they didn't previously exist. &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''&amp;lt;u&amp;gt;Smooth + preserve creases:&amp;lt;/u&amp;gt;''' Similar to &amp;quot;Conservative update&amp;quot; except that it preprocesses the model to merge any duplicate normals. After doing this it recalculates each normal using the average of the normals of the faces that use the normal.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Benefits:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Preserves creases where edges used per-face normals in the original model.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
Drawbacks:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Cannot create normals where they didn't previously exist.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:OBJReader_MeshModifier_RecalcNormals_SmoothPreserveCreases.png|none|400px|Normals recalculated with Smooth + Preserve creases.]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''&amp;lt;u&amp;gt;Smooth everything:&amp;lt;/u&amp;gt;''' All the prior normals are cleared. A new normal is created for every vertex. Each normal is the average of the normals of the faces that use the vertex, therefore it creates a smooth appearance across faces that share vertices with other faces.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Benefits:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;This works with models that didn't define any normals before.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
Drawbacks:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Does not produce sharp edges unless the faces use separate vertices.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:OBJReader_MeshModifier_RecalcNormals_SmoothEverything.png|none|400px|Normals recomputed with Smooth Everything.]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Surface Shaders Tab ==&lt;br /&gt;
[[File:OBJReader_19_SurfaceShadersTab.png|none|460px|Surface Shaders Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Description:'''  This tab lets you assign a surface shader to texture the object. If there was a .mtl file associated with the OBJ file, a Parts Shader with its associated nodes will be created and assigned to the Surface shader input.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Surface shader:''' Use this parameter to assign a surface shader to the object.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Displacement tolerance'''  If you find that rough or spikey surfaces are showing problems at bucket edges, for example spikes having cut off tops, or gaps in ray traced shadows then increasing this value may help. However this can greatly increase render times. Relatively flat surfaces may render more quickly with smaller values.  The default value is 1. However this is an advanced setting and you should not change it unless you have specific problem you need to address. If you are having problems try starting with 2 and then increase it by small increments until they're resolved. A value of 4 would be considered a high value. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Smooth polygons at terminator:'''  This fixes self-shadow artifacts at the lighting terminator of polygonal objects where the smooth normals are inconsistent with the geometric normal.  This parameter is enabled by default.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[File:OBJReader_20_SurfaceShadersTab_SmoothPolysTerminator_Problem.jpg|none|948px|Comparison before and after Smooth Polygon Terminator enabled.]] --&amp;gt;&lt;br /&gt;
[[File:OBJReader_21_SurfaceShadersTab_SmoothPolysTerminator_OnOff.jpg|none|400px|Comparison Smooth Polygon Terminator enabled and disabled. ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Darken bumps at terminator:'''  This parameter approximates self-shadow of bump maps at the lighting terminator to reduce the chance of seeing a sharp line where the surface falls into shadow.  This parameter is enabled by default.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[File:OBJReader_22_SurfaceShadersTab_DarkenBumpsTerminator_Problem.png|none|400px|Comparison before and after Darken bumps at terminator applied.]] --&amp;gt;&lt;br /&gt;
[[File:OBJReader_23_SurfaceShadersTab_DarkenBumpsTerminbator_OnOff.jpg|none|400px|Comparison with Smooth Polygon Terminator and Darken bumps at terminator enabled.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rendering Tab ==&lt;br /&gt;
[[File:OBJReader_24_RenderingTab.png|none|400px|Rendering Tab]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Render mode:''' An object's render state can be set to “Visible”, “Invisible” or “Holdout”.  &lt;br /&gt;
[[File:OBJReader_25_RenderingTab_RenderType.png|none|148px|Object's render types.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;When set to “Holdout”, an object is visible in the rendered image as a black shape with an alpha value of zero.  When using render layers the object's render state is combined with the group visibility parameter to determine its least visible setting. &amp;quot;Invisible&amp;quot; is less visible than &amp;quot;Holdout&amp;quot;, which is less visible than &amp;quot;Visible&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_26_RenderingTab_RenderState.jpg|none|400px|3D objects set to visible, holdout, and invisible.  Render layer set to visible.]] || [[File:OBJReader_27_RenderingTab_RenderStateAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to visible.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_28_RenderingTab_RenderStateHoldout.jpg|none|400px|3D objects set to visible, holdout, and invisible.  Render layer set to holdout.]] || [[File:OBJReader_29_RenderingTab_RenderStateHoldoutAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to holdout.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_30_RenderingTab_RenderStateInvisible.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Render layer set to invisible.]] || [[File:OBJReader_31_RenderingTab_RenderStateInvisibleAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to invisible.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Visible to other rays:''' When enabled, the object will be taken into account by all the rays determined by the renderer including those from the camera, direct and indirect lighting, etc.  In the example below, a 100% reflective  3D object has been placed behind three coloured spheres in order to mirror the effect of the calculated rays.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_32_RenderingTab_VisibleToOtherRaysOn.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Visible to other rays enabled.]] || [[File:OBJReader_33_RenderingTab_VisibleToOtherRaysON_alpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Visible to other rays enabled.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Cast shadows:''' This should be checked if you want the object to cast shadows.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_34_RenderingTab_CastShadowsOff.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Cast shadows disabled.]] || [[File:OBJReader_35_RenderingTab_CastShadowsOFF_alpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Cast shadows disabled.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Double-sided surface:''' If this is checked  object surfaces are double sided. A single sided surface is only visible from the &amp;quot;front&amp;quot;, which is the direction the surface normal is pointing. If you look at it from the other direction the surface isn't visible. Double sided surfaces are visible from all directions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Use smooth normals:''' If this is checked the object normals are interpolated to make the surface appear smooth. If it's unchecked the surface will look faceted.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Flip normals:''' Check this to flip or reverse the object normals. You might want to use this on an imported object if it has gaps or strange dark patches when rendered.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Render method''' This popup has three options. &lt;br /&gt;
[[File:OBJReader_36_RenderingTab_RenderMethod.png|none|340px|Render method options]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Default:''' Ray Tracing is the default rendering method for an object.  Typically it results in higher quality and faster rendering.  When displacement is applied to a 3D object the render method should be changed to Force Displacement.  When the object's render method is set to &amp;quot;Default&amp;quot;, the object is rendered according to the Ray trace objects setting in the render node.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Force Displacement:'''  When enabled for the object, its surfaces will be subdivided into micropolygons at render time, which allows the 3D geometry to be displaced correctly but at the expense of slightly longer render times.  &lt;br /&gt;
It is useful when you have some objects you want to render with displacement but you don't want to change how all the rest of your objects are rendered, i.e. Ray traced. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Force Ray Trace:'''  When enabled for the object, its surfaces will be ray traced at render time, even if “Ray trace objects” is disabled in the Renderer settings.  This can be useful when “Ray trace objects” is disabled in the Renderer in order for other 3D objects to use displacement, but you want this object to use Ray tracing for the highest quality rendering and it has not been displaced. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Sorting bias (metres)'''  This parameter gives you control over the order in which objects are rendered when using the micropolygon renderer. This does not apply to objects being rendered with the ray tracer.&lt;br /&gt;
A large positive value, e.g. 10,000,000 (or 1e7) will usually force the object to render first.  A large negative value, e.g. -10,000,000 (or -1e7) will usually force the object to render last, or after the terrain.  This can be useful when rendering large objects with displacement, such as a lake object that lies mostly below the displaced terrain.  By setting the lake object’s sorting bias value to something like -10,000,000 forces it to render after the terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Transform Tab ==&lt;br /&gt;
[[File:TGOReader_01_TransformTab.png|none|470px|Transform tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Translate:''' This sets the position of the object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Rotate:''' This rotates the object about its origin. The order of the values is heading, pitch then bank.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Scale:''' You can use this parameter to scale the object in the X, Y and Z directions. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Angular Position Tab ==&lt;br /&gt;
[[File:TGOReader_02_AngularPositiontTab.png|none|470px|Angular Position Tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Description:'''  This tab has settings which use angles and distance to set the position of the rock relative to the scene origin. These settings are an alternative to using the Translate setting in the Transform tab. The diagram below shows how all the parameters relate to each other and the origin.&lt;br /&gt;
&lt;br /&gt;
[[File:Angular_position.gif|center|218px|Angular positions]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Heading:'''  This angle sets the rotation of the object around the scene origin, in the XY plane, increasing as you turn clockwise. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Elevation:'''  This angle sets the vertical part of the position. You could think of it as the angle above or below the horizon. 90 is straight up, -90 is straight down. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Distance:'''  This sets the distance from the origin, in metres. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Import Tab ==&lt;br /&gt;
[[File:TGOReader_03_ImportTab.png|none|470px|Import Tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Description:''' These parameters apply to .chan/.mov and FBX import.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import offset:''' This setting allows you to offset the positions imported from the file. As an example, you might want the positions imported from the file to be moved 10 metres in the X direction. To do that enter 10 for the X coordinate and import the file. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import scale:'''  You can use this setting to scale values imported from the file. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import Chan file:'''  This param specifies the file to be imported. When you a choose a new file you will be prompted to import the file. If you choose not to import it immediately you can click the Import chan File button to perform the import. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Object Nodes]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=LWO_Reader&amp;diff=16971</id>
		<title>LWO Reader</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=LWO_Reader&amp;diff=16971"/>
		<updated>2025-11-03T21:47:04Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Update File Read and Sequence tabs.  Parameter descriptions align with OBJ Reader parameter descriptions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:LWOReader_00_MainGui.png|none|470px|LWO Reader]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Overview ==&lt;br /&gt;
The LWO Reader node loads 3D geometry from LightWave in the LWO2 format introduced with Lighwave 6.0 (1999) and subsequently retired with Lightwave 2018.  As of Lightwave 2020, 3D objects can still be exported in LWO2 format. However, Terragen does not import texture and uv information from the LWO2 format, therefore we recommend using the OBJ Reader to import non-Terragen formatted 3D objects.  All versions of Lightwave can export 3D objects in OBJ format, which will preserve textures, vertex normals, and uv coordinates.&lt;br /&gt;
&lt;br /&gt;
'''Node Type:''' Object&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''Population mode:''' This popup has two options:&lt;br /&gt;
[[File:OBJReader_01_PopulationMode.png|none|322px|Population mode options.]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Individual Object:&amp;lt;/u&amp;gt; This is the default for objects created individually, not part of a population. If you choose this option for objects that are part of a population the population instances will still render but the object itself will also show up at its original position.&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
&amp;lt;u&amp;gt;Member of a Population:&amp;lt;/u&amp;gt; This is the default for objects created as part of creating a population. It means the objects only render as part of a population. If you choose this option for an individual object it won't render.&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
If you create an object as part of a population and then decide to use it on its own you may need to change the popup to &amp;lt;u&amp;gt;Individual Object&amp;lt;/u&amp;gt; to get it to render.&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&lt;br /&gt;
'''Preview mode:'''This popup has five options and lets you choose how the object should be displayed in the 3D Preview by setting the most detailed mode that the object can be displayed in. The Object Display Mode button in the 3D Preview controls the mode for the preview as a whole. For example if you set the '''Preview mode''' of the object to Wireframe but the 3D Preview object display mode is set to '''Show as bounding boxes''' then the object will only be drawn as a bounding box.&lt;br /&gt;
[[File: OBJReader_02_PreviewMode.png|none|234px|Preview mode options.]]&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preview colour: '''Enabling this parameter causes the object to be drawn in the 3D preview using the preview colour when the object display mode is set to bounding box or wireframe. When set to smooth shaded or texture display mode, the preview colour tints the object’s textured surface. This is useful for making a particular object stand out in the 3D preview. Clicking on the colour swatch to the right of the parameter label opens the [[Colour_Picker|Colour picker pane]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== File Read Tab ==&lt;br /&gt;
[[File: OBJReader_03_FileReadTab.png|none|460ox|File read tab.]]&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Filename: '''This parameter shows the path to the file used by the LWO Reader. You can use the file button at right to load a different file but this isn't recommended as the materials for the new file won't be loaded. To use an LWO file sequence you can use a limited set of C-style format strings to automatically insert the frame number, for example &amp;quot;MyObject_%04d.lwo&amp;quot; may result in &amp;quot;MyObject_0023.lwo&amp;quot; on frame 23, depending on the options on the Sequence tab.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Sequence Tab ==&lt;br /&gt;
[[File:OBJReader_04_SequenceTab.png|none|460px|Sequence Tab]]&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;'''Sequence first:''' When a supported frame insertion pattern is used in '''Filename''' to load a file sequence, '''Sequence first''' and '''Sequence last''' control the range of numbers that are allowed in the file sequence. If you have files with names MyObject_0001.lwo to MyObject_0010.lwo and want your animation to use them all, you would set '''Sequence first''' and '''Sequence last''' to 1 and 10 respectively.  &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;  For example, when set to a value of 1, MyObject_0001.lwo will load on frame 1, when the '''Offset''' value is zero. If an '''Offset''' value other than zero is present, that value will be added to the '''Sequence first''' value to determine which geometry is loaded.  For example, with an '''Offset''' value of “4”, MyObject_0005.lwo will load on frame 1.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_05_SequenceTab_SequenceFirst_1-10LoopOffset0.gif|none|400px|Ten sequential objects, looping, no offset.]] || [[File:OBJReader_06_SequenceTab_SequenceFirst_1-10LoopOffset4.gif|none|400px|Ten sequential objects, looping, offset is four.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Terragen can cycle through a subset of the total available sequential geometry by specifying the range to use in the '''Sequence first''' and '''Sequence last''' values.  For example, if the '''Sequence first''' value was set to “4” and the '''Sequence last''' value was set to “8”, then Terragen would cycle through the sequential objects named MyObject_0004.lwo through MyObject_0008.lwo.  MyObject_0004.lwo would load on frame 4 and MyObject_0008.lwo would load on frame 8, if the '''Offset''' value were zero.  Note, that frames 1, 2 and 3 would load MyObject_0006.lwo, MyObject_0007.lwo, and MyObject_0008.lwo respectively if '''Loop''' where enabled, and MyObject_0005.lwo, MyObject_0006.lwo and MyObject_0007.lwo if '''Ping pong''' were enabled.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- using a table for the images that need to be side by side --&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_07_SequenceTab_SequenceFirst_4-8LoopOffset0.gif|none|400px|Five sequential objects, looping, no offset.]] || [[File:OBJReader_08_SequenceTab_SequenceFirst_4-8PingOffset0.gif|400px|Five sequential objects, ping pong, no offset.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; If the sequential object number does not exist, Terragen will display a warning message to alert you.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:OBJReader_09_SequenceTab_SeqeuenceFirst_MissingObjects.png|none|916px|Warning message if sequential object is missing.]]&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Sequence last:''' When a supported frame insertion pattern is used in '''Filename''' to load a file sequence, '''Sequence first''' and '''Sequence last''' control the range of numbers that are allowed in the file sequence. For example, if you have files with names MyObject_0001.lwo to MyObject_0010.lwo and want your animation to use them all, you would set '''Sequence first''' and '''Sequence last''' to 1 and 10 respectively.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;If an '''Offset''' value other than &amp;quot;0&amp;quot; is present, that value will be added to the '''Sequence last''' value to determine which geometry is loaded, factoring in the number of available objects in the sequence and cycling through them based on the '''Loop''' or '''Ping Pong''' mode selected.  For example, with an '''Offset''' value of “1” in a object sequence numbered 1 through 10, MyObject_0001.lwo will load on frame 10 if '''Loop''' is enabled, or MyObject_0009.lwo will load on frame 10 if '''Ping Pong''' is enabled.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Loop or Ping Pong:''' After Terragen applies Offset to the current frame number, if the resulting frame number falls outside the range defined by '''Sequence first''' and '''Sequence last''' then '''Loop''' and '''Ping Pong''' are two different ways extend the cycle infinitely, both before the beginning and after the end of the sequence. Upon completion of the sequential object cycle determined by the '''Sequence first''' value and '''Sequence last''' value, the objects can either “loop” back to the '''Sequence first''' object and cycle through the objects as each frame advances, or “ping pong”, that is, reverse the object sequence order until the '''Sequence first''' object is encountered. If neither '''Loop''' nor '''Ping Pong''' are checked then the object will be held at the first or last file in the sequence when the requested frame number falls outside the defined range. &amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_05_SequenceTab_SequenceFirst_1-10LoopOffset0.gif|none|400px|Ten sequential objects, looping, no offset.]] || [[File:OBJReader_10_SequenceTab_LoopPingPong_1-10PingOffset0.gif|400px|Ten sequential objects, Ping Pong, no offset]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Frame offset:''' This value provides a way to load files with sequential numbers that are different from the rendered frame numbers, to shift the timing of the animation or to account for differences in how the frames are numbered in the object filenames. Terragen adds '''Frame offset''' to the project's current frame number to determine which file number to load (with the actual file number being limited to the range defined by '''Sequence first''' and '''Sequence last''' with optional looping or ping-ponging). For example, if the '''Sequence first''' value is &amp;quot;1&amp;quot;, the '''Sequence last''' value is &amp;quot;10&amp;quot;, and the '''Offset''' value is &amp;quot;4&amp;quot;, then MyObject_0005.lwo would be loaded on frame 1, MyObject_0006.lwo on frame 2, etc. Negative offsets can be used. For example, if the '''Offset''' value is &amp;quot;-1000&amp;quot; (negative), then MyObject_0001.lwo would be loaded on frame 1001, MyObject_0002.lwo on frame 1002, etc.  &amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_06_SequenceTab_SequenceFirst_1-10LoopOffset4.gif|none|400px|Ten sequential objects, looping, offset is four.]] || [[File:OBJReader_11_SeqeuenceTab_FrameOffset_1-10PingOffset4.gif|400px|Ten sequential objects, Ping Pong, offset is four.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Mesh Modifiers Tab ==&lt;br /&gt;
[[File:OBJReader_12_MeshModifiersTab2.png|none|460px|Mesh Modifiers Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
'''Read MDD (motion) file:''' Terragen can apply Motion Designer or “MDD” files created in third-party 3D software packages to an object within the project.  The MDD file contains the position of every vertex in an object, for each frame of an animation.  After an object is animated or otherwise deformed in the third-party 3D software, its vertex positions are “baked”, or saved in the MDD file format.  This allows for complex animation to exist within a Terragen project, that otherwise could not.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_13_MDD_Melt_v002.gif|none|400px|Motion Designer file of animated melting sequence applied to 3D text geometry.]] || [[File:OBJReader_14_MDD_Bat.gif|none|400px|Motion Designer file of animated flap cycle applied to 3D bat object.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_43_MeshModifiers_MDD_Flag.gif|none|400px|Motion Designer file of cloth dynamics simulation.]] || [[File:OBJReader_42_MeshModifiersTab_MDD_WierdWallBulletDynamics_on2s.gif|none|400px|Motion Designer file of bullet dynamics simulation.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Reverse Z (right handed): '''  If the MDD file is facing in the wrong direction, you can reverse the Z axis in order to point it in the right direction.&lt;br /&gt;
[[File:OBJReader_44_MDD_ReverseZ_Bat.gif|none|400px|Effect of enabling the Reverse Z (right handed) parameter.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mesh displacer:'''  The shader assigned to this parameter displaces the object’s vertices (mesh). For example, a power fractal shader can be used to displace the vertices of the 3D object or a population.  The denser the object’s geometry, or more vertices it has, allows for more subtle deformations to be visible.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_15_MeshModifiersTab_MeshDisplacer_Cattail.gif|none|400px|Animated parameters on a power fractal to deform a single 3D object.]] || [[File:OBJReader_16_MeshModifiersTab_MeshDisplacer_Population.gif|none|400px|Animated parameters on a power fractal to deform a population.]] &lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_17_MeshModifiersTab_MeshDisplacer_NonShaderedLeafs2.PNG|none|400px|Displacement applied to non-shadered objects.]] || [[File:OBJReader_18_MeshModifiersTab_MeshDisplacer_TexturedLeafs2.PNG|none|400px|Displacement applied to textured objects.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Recalculate Normals: '''  This popup has provides four options because of the many different ways in which 3D software applications, exporters and modeling techniques are used to create geometry and MDD files.  The MDD files and shaders assigned to the “Read MDD file” and “Mesh displacer” parameters change the base 3D object’s normals, requiring them to be recomputed in order to render correctly.  The “Recalculate Normals” parameter instructs Terragen how to recompute the normals.&lt;br /&gt;
[[File:OBJReader_41_MeshModifiersTab_RecalcNormalsParams.png|none|378px|Recalculate Normal options.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
'''No:  '''  The normals are unchanged and left as they were in the original Wavefront OBJ, Lightwave LWO, or Terragen TGO formatted object.&lt;br /&gt;
[[File:OBJReader_MeshModifier_RecalcNormals_No.png|none|400px|Normals not recalculated.]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
'''Conservative Update: '''  Only the existing normals are updated. In other words, it relies on the normals to have been mapped to faces in a meaningful way in the original object.  Each recalculated normal is the average of the normals of the faces that use the normal.&lt;br /&gt;
&amp;lt;ul&amp;gt; '''Benefits:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Fast.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Preserves creases where edges use per-face normals in the original scene.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
'''Drawbacks:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Cannot create a smooth surface if normals are not shared between faces&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Cannot create normals where they didn't previously exist. &amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:OBJReader_MeshModifier_RecalcNormals_Conservative.png|none|400px|Normals recomputed with Conservative Update.]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Smooth + preserve creases:  '''Similar to &amp;quot;Conservative update&amp;quot; except that it preprocesses the model to merge any duplicate normals. After doing this it recalculates each normal using the average of the normals of the faces that use the normal.&lt;br /&gt;
&amp;lt;ul&amp;gt;'''Benefits:''' &lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Preserves creases where edges used per-face normals in the original model.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
'''Drawbacks:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt; Cannot create normals where they didn't previously exist.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:OBJReader_MeshModifier_RecalcNormals_SmoothPreserveCreases.png|none|400px|Normals recalculated with Smooth + Preserve creases.]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Smooth everything:''' All the prior normals are cleared. A new normal is created for every vertex. Each normal is the average of the normals of the faces that use the vertex, therefore it creates a smooth appearance across faces that share vertices with other faces.&lt;br /&gt;
&amp;lt;ul&amp;gt;'''Benefits: '''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;This works with models that didn't define any normals before.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
'''Drawbacks:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Does not produce sharp edges unless the faces use separate vertices.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
[[File:OBJReader_MeshModifier_RecalcNormals_SmoothEverything.png|none|400px|Normals recomputed with Smooth Everything.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Surface Shaders Tab ==&lt;br /&gt;
[[File:OBJReader_19_SurfaceShadersTab.png|none|460px|Surface Shaders Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Description:'''  This tab lets you assign a surface shader to texture the LWO object. Terragen does not import texture and uv information for Lightwave LWO2 formatted objects, and the untextured object will appear black until a shader is assigned in the Surface shader param, at which time Terragen will create the internal node network for the LWO object.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Surface shader:''' Use this parameter to assign a surface shader to the object.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Displacement tolerance'''  If you find that rough or spikey surfaces are showing problems at bucket edges, for example spikes having cut off tops, or gaps in ray traced shadows then increasing this value may help. However this can greatly increase render times. Relatively flat surfaces may render more quickly with smaller values.  The default value is 1. However this is an advanced setting and you should not change it unless you have specific problem you need to address. If you are having problems try starting with 2 and then increase it by small increments until they're resolved. A value of 4 would be considered a high value. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Smooth polygons at terminator:'''  This fixes self-shadow artifacts at the lighting terminator of polygonal objects where the smooth normals are inconsistent with the geometric normal.  This parameter is enabled by default.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[File:OBJReader_20_SurfaceShadersTab_SmoothPolysTerminator_Problem.jpg|none|948px|Comparison before and after Smooth Polygon Terminator enabled.]] --&amp;gt;&lt;br /&gt;
[[File:OBJReader_21_SurfaceShadersTab_SmoothPolysTerminator_OnOff.jpg|none|400px|Comparison Smooth Polygon Terminator enabled and disabled. ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Darken bumps at terminator:'''  This parameter approximates self-shadow of bump maps at the lighting terminator to reduce the chance of seeing a sharp line where the surface falls into shadow.  This parameter is enabled by default.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[File:OBJReader_22_SurfaceShadersTab_DarkenBumpsTerminator_Problem.png|none|400px|Comparison before and after Darken bumps at terminator applied.]] --&amp;gt;&lt;br /&gt;
[[File:OBJReader_23_SurfaceShadersTab_DarkenBumpsTerminbator_OnOff.jpg|none|400px|Comparison with Smooth Polygon Terminator and Darken bumps at terminator enabled.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Rendering Tab ==&lt;br /&gt;
[[File:OBJReader_24_RenderingTab.png|none|400px|Rendering Tab]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Render mode:''' An object's render state can be set to “Visible”, “Invisible” or “Holdout”.  &lt;br /&gt;
[[File:OBJReader_25_RenderingTab_RenderType.png|none|148px|Object's render types.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;When set to “Holdout”, an object is visible in the rendered image as a black shape with an alpha value of zero.  When using render layers the object's render state is combined with the group visibility parameter to determine its least visible setting. &amp;quot;Invisible&amp;quot; is less visible than &amp;quot;Holdout&amp;quot;, which is less visible than &amp;quot;Visible&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_26_RenderingTab_RenderState.jpg|none|400px|3D objects set to visible, holdout, and invisible.  Render layer set to visible.]] || [[File:OBJReader_27_RenderingTab_RenderStateAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to visible.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_28_RenderingTab_RenderStateHoldout.jpg|none|400px|3D objects set to visible, holdout, and invisible.  Render layer set to holdout.]] || [[File:OBJReader_29_RenderingTab_RenderStateHoldoutAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to holdout.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_30_RenderingTab_RenderStateInvisible.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Render layer set to invisible.]] || [[File:OBJReader_31_RenderingTab_RenderStateInvisibleAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to invisible.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Visible to other rays:''' When enabled, the object will be taken into account by all the rays determined by the renderer including those from the camera, direct and indirect lighting, etc.  In the example below, a 100% reflective  3D object has been placed behind three coloured spheres in order to mirror the effect of the calculated rays.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_32_RenderingTab_VisibleToOtherRaysOn.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Visible to other rays enabled.]] || [[File:OBJReader_33_RenderingTab_VisibleToOtherRaysON_alpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Visible to other rays enabled.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Cast shadows:''' This should be checked if you want the object to cast shadows.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_34_RenderingTab_CastShadowsOff.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Cast shadows disabled.]] || [[File:OBJReader_35_RenderingTab_CastShadowsOFF_alpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Cast shadows disabled.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Double-sided surface:''' If this is checked  object surfaces are double sided. A single sided surface is only visible from the &amp;quot;front&amp;quot;, which is the direction the surface normal is pointing. If you look at it from the other direction the surface isn't visible. Double sided surfaces are visible from all directions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Use smooth normals:''' If this is checked the object normals are interpolated to make the surface appear smooth. If it's unchecked the surface will look faceted.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Flip normals:''' Check this to flip or reverse the object normals. You might want to use this on an imported object if it has gaps or strange dark patches when rendered.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Render method''' This popup has three options. &lt;br /&gt;
[[File:OBJReader_36_RenderingTab_RenderMethod.png|none|340px|Render method options]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Default:''' Ray Tracing is the default rendering method for an object.  Typically it results in higher quality and faster rendering.  When displacement is applied to a 3D object the render method should be changed to Force Displacement.  When the object's render method is set to &amp;quot;Default&amp;quot;, the object is rendered according to the Ray trace objects setting in the render node.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Force Displacement:'''  When enabled for the object, its surfaces will be subdivided into micropolygons at render time, which allows the 3D geometry to be displaced correctly but at the expense of slightly longer render times.  &lt;br /&gt;
It is useful when you have some objects you want to render with displacement but you don't want to change how all the rest of your objects are rendered, i.e. Ray traced. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Force Ray Trace:'''  When enabled for the object, its surfaces will be ray traced at render time, even if “Ray trace objects” is disabled in the Renderer settings.  This can be useful when “Ray trace objects” is disabled in the Renderer in order for other 3D objects to use displacement, but you want this object to use Ray tracing for the highest quality rendering and it has not been displaced. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Sorting bias (metres)'''  This parameter gives you control over the order in which objects are rendered when using the micropolygon renderer. This does not apply to objects being rendered with the ray tracer.&lt;br /&gt;
A large positive value, e.g. 10,000,000 (or 1e7) will usually force the object to render first.  A large negative value, e.g. -10,000,000 (or -1e7) will usually force the object to render last, or after the terrain.  This can be useful when rendering large objects with displacement, such as a lake object that lies mostly below the displaced terrain.  By setting the lake object’s sorting bias value to something like -10,000,000 forces it to render after the terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Transform Tab ==&lt;br /&gt;
[[File:TGOReader_01_TransformTab.png|none|470px|Transform tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Translate:''' This sets the position of the object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Rotate:''' This rotates the object about its origin. The order of the values is heading, pitch then bank.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Scale:''' You can use this parameter to scale the object in the X, Y and Z directions. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Angular Position Tab ==&lt;br /&gt;
[[File:TGOReader_02_AngularPositiontTab.png|none|470px|Angular Position Tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Description:'''  This tab has settings which use angles and distance to set the position of the rock relative to the scene origin. These settings are an alternative to using the Translate setting in the Transform tab. The diagram below shows how all the parameters relate to each other and the origin.&lt;br /&gt;
&lt;br /&gt;
[[File:Angular_position.gif|none|218px|Angular positions]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Heading:'''  This angle sets the rotation of the object around the scene origin, in the XY plane, increasing as you turn clockwise. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Elevation:'''  This angle sets the vertical part of the position. You could think of it as the angle above or below the horizon. 90 is straight up, -90 is straight down. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Distance:'''  This sets the distance from the origin, in metres. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Import Tab ==&lt;br /&gt;
[[File:TGOReader_03_ImportTab.png|none|470px|Import Tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Description:''' These parameters apply to .chan/.mov and FBX import.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import offset:''' This setting allows you to offset the positions imported from the file. As an example, you might want the positions imported from the file to be moved 10 metres in the X direction. To do that enter 10 for the X coordinate and import the file. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import scale:'''  You can use this setting to scale values imported from the file. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import Chan file:'''  This param specifies the file to be imported. When you a choose a new file you will be prompted to import the file. If you choose not to import it immediately you can click the Import chan File button to perform the import. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Object Nodes]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=TGO_Reader&amp;diff=16970</id>
		<title>TGO Reader</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=TGO_Reader&amp;diff=16970"/>
		<updated>2025-11-03T21:30:59Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Update File Read and Sequence tabs. Conformed parameter descriptions to align with OBJ Reader parameter descriptions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TGOReader_00_GlobalAndFileReadTab.png|none|470px|TGO Reader]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
The TGO Reader loads an object from a TGO file. TGO is Terragen's native object format, which allows the saving of Terragen-specific information such as internal surfacing networks, in addition to normal object settings. TGO is a Terragen-specific file format and is generally not supported in other applications. TGO Objects can be moved (translated), rotated, and scaled on the Transform tab. The Surface Shaders tab allows you to specify the surface shaders that will be applied to the object.&lt;br /&gt;
&lt;br /&gt;
'''Node Type:''' Object&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''Population mode:''' This popup has two options:&lt;br /&gt;
[[File:OBJReader_01_PopulationMode.png|none|322px|Population mode parameters]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;u&amp;gt;Individual Object:&amp;lt;/u&amp;gt; This is the default for objects created individually, not part of a population. If you choose this option for objects that are part of a population the population instances will still render but the object itself will also show up at its original position.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;u&amp;gt;Member of a Population:&amp;lt;/u&amp;gt; This is the default for objects created as part of creating a population. It means the objects only render as part of a population. If you choose this option for an individual object it won't render.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
If you create an object as part of a population and then decide to use it on its own you may need to change the popup to &amp;lt;u&amp;gt;Individual Object&amp;lt;/u&amp;gt; to get it to render.&lt;br /&gt;
&amp;lt;li&amp;gt;'''Preview mode:''' This popup has five options and lets you choose how the object should be displayed in the 3D Preview by setting the most detailed mode that the object can be displayed in. The Object Display Mode button in the 3D Preview controls the mode for the preview as a whole. For example if you set the '''Preview mode''' of the object to Wireframe but the 3D Preview object display mode is set to '''Show as bounding boxes''' then the object will only be drawn as a bounding box.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:OBJReader_02_PreviewMode.png|none|234px|Preview Mode parameters]]&lt;br /&gt;
&amp;lt;li&amp;gt;''' Preview Colour:''' Enabling this parameter causes the object to be drawn in the 3D preview using the preview colour when the object display mode is set to bounding box or wireframe.  When set to smooth shaded or texture display mode, the preview colour tints the object’s textured surface.  This is useful for making a particular object stand out in the 3D preview.  Clicking on the colour swatch to the right of the parameter label opens the [[Colour_Picker|Colour picker pane]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt; &amp;lt;/ul&amp;gt;&lt;br /&gt;
== File Read Tab ==&lt;br /&gt;
[[File:OBJReader_03_FileReadTab.png|none|460px|File Read Tab]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;'''Filename:''' This parameter shows the path to the file used by the OBJ Reader. You can use the file button at right to load a different file but this isn't recommended as the materials for the new file won't be loaded. To use an OBJ file sequence you can use a limited set of C-style format strings to automatically insert the frame number, for example &amp;quot;MyObject_%04d.obj&amp;quot; may result in &amp;quot;MyObject_0023.obj&amp;quot; on frame 23, depending on the options on the Sequence tab.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Sequence Tab ==&lt;br /&gt;
[[File:OBJReader_04_SequenceTab.png|none|460px|Sequence Tab]]&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;'''Sequence first:''' When a supported frame insertion pattern is used in '''Filename''' to load a file sequence, '''Sequence first''' and '''Sequence last''' control the range of numbers that are allowed in the file sequence. If you have files with names MyObject_0001.obj to MyObject_0010.obj and want your animation to use them all, you would set '''Sequence first''' and '''Sequence last''' to 1 and 10 respectively. &amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;  For example, when set to a value of 1, MyObject_0001.obj will load on frame 1, when the '''Offset''' value is zero. If an '''Offset''' value other than zero is present, that value will be added to the '''Sequence first''' value to determine which geometry is loaded.  For example, with an '''Offset''' value of “4”, MyObject_0005.obj will load on frame 1.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_05_SequenceTab_SequenceFirst_1-10LoopOffset0.gif|none|400px|Ten sequential objects, looping, no offset.]] || [[File:OBJReader_06_SequenceTab_SequenceFirst_1-10LoopOffset4.gif|none|400px|Ten sequential objects, looping, offset is four.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;li&amp;gt; Terragen can cycle through a subset of the total available sequential geometry by specifying the range to use in the '''Sequence first''' and '''Sequence last''' values.  For example, if the '''Sequence first''' value was set to “4” and the '''Sequence last''' value was set to “8”, then Terragen would cycle through the sequential objects named MyObject_0004.obj through MyObject_0008.obj.  MyObject_0004.obj would load on frame 4 and MyObject_0008.obj would load on frame 8, if the '''Offset''' value were zero.  Note, that frames 1, 2 and 3 would load MyObject_0006.obj, MyObject_0007.obj, and MyObject_0008.obj respectively if '''Loop''' where enabled, and MyObject_0005.obj, MyObject_0006.obj and MyObject_0007.obj if '''Ping pong''' were enabled.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- using a table for the images that need to be side by side --&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_07_SequenceTab_SequenceFirst_4-8LoopOffset0.gif|none|400px|Five sequential objects, looping, no offset.]] || [[File:OBJReader_08_SequenceTab_SequenceFirst_4-8PingOffset0.gif|400px|Five sequential objects, ping pong, no offset.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; If the sequential object number does not exist, Terragen will display a warning message to alert you.&amp;lt;/li&amp;gt;&lt;br /&gt;
[[File:OBJReader_09_SequenceTab_SeqeuenceFirst_MissingObjects.png|none|916px|Warning message if sequential object is missing.]]&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Sequence last:''' When a supported frame insertion pattern is used in '''Filename''' to load a file sequence, '''Sequence first''' and '''Sequence last''' control the range of numbers that are allowed in the file sequence. For example, if you have files with names MyObject_0001.obj to MyObject_0010.obj and want your animation to use them all, you would set '''Sequence first''' and '''Sequence last''' to 1 and 10 respectively.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;If an '''Offset''' value other than &amp;quot;0&amp;quot; is present, that value will be added to the '''Sequence last''' value to determine which geometry is loaded, factoring in the number of available objects in the sequence and cycling through them based on the '''Loop''' or '''Ping Pong''' mode selected.  For example, with an '''Offset''' value of “1” in a object sequence numbered 1 through 10, MyObject_0001.obj will load on frame 10 if '''Loop''' is enabled, or MyObject_0009.obj will load on frame 10 if '''Ping Pong''' is enabled.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Loop or Ping Pong:''' After Terragen applies '''Offset''' to the current frame number, if the resulting frame number falls outside the range defined by '''Sequence first''' and '''Sequence last''' then '''Loop''' and '''Ping Pong''' are two different ways extend the cycle infinitely, both before the beginning and after the end of the sequence. Upon completion of the sequential object cycle determined by the '''Sequence first''' value and '''Sequence last''' value, the objects can either “loop” back to the '''Sequence first''' object and cycle through the objects as each frame advances, or “ping pong”, that is, reverse the object sequence order until the '''Sequence first''' object is encountered. If neither '''Loop''' nor '''Ping Pong''' are checked then the object will be held at the first or last file in the sequence when the requested frame number falls outside the defined range. &amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_05_SequenceTab_SequenceFirst_1-10LoopOffset0.gif|none|400px|Ten sequential objects, looping, no offset.]] || [[File:OBJReader_10_SequenceTab_LoopPingPong_1-10PingOffset0.gif|400px|Ten sequential objects, Ping Pong, no offset]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Frame offset:''' This value provides a way to load files with sequential numbers that are different from the rendered frame numbers, to shift the timing of the animation or to account for differences in how the frames are numbered in the object filenames. Terragen adds '''Frame offset''' to the project's current frame number to determine which file number to load (with the actual file number being limited to the range defined by '''Sequence first''' and '''Sequence last''' with optional looping or ping-ponging). For example, if the '''Sequence first''' value is &amp;quot;1&amp;quot;, the '''Sequence last''' value is &amp;quot;10&amp;quot;, and the '''Offset value''' is &amp;quot;4&amp;quot;, then MyObject_0005.obj would be loaded on frame 1, MyObject_0006.obj on frame 2, etc. Negative offsets can be used. For example, if the '''Offset''' value is &amp;quot;-1000&amp;quot; (negative), then MyObject_0001.obj would be loaded on frame 1001, MyObject_0002.obj on frame 1002, etc.  &amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_06_SequenceTab_SequenceFirst_1-10LoopOffset4.gif|none|400px|Ten sequential objects, looping, offset is four.]] || [[File:OBJReader_11_SeqeuenceTab_FrameOffset_1-10PingOffset4.gif|400px|Ten sequential objects, Ping Pong, offset is four.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Mesh Modifiers tab ==&lt;br /&gt;
[[File:OBJReader_12_MeshModifiersTab2.png|none|460px|Mesh Modifiers Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Read MDD (motion) file:''' Terragen can apply Motion Designer or “MDD” files created in third-party 3D software packages to an object within the project.  The MDD file contains the position of every vertex in an object, for each frame of an animation.  After an object is animated or otherwise deformed in the third-party 3D software, its vertex positions are “baked”, or saved in the MDD file format.  This allows for complex animation to exist within a Terragen project, that otherwise could not.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_13_MDD_Melt_v002.gif|none|400px|Motion Designer file of animated melting sequence applied to 3D text geometry.]] || [[File:OBJReader_14_MDD_Bat.gif|none|400px|Motion Designer file of animated flap cycle applied to 3D bat object.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_43_MeshModifiers_MDD_Flag.gif|none|400px|Motion Designer file of cloth dynamics simulation.]] || [[File:OBJReader_42_MeshModifiersTab_MDD_WierdWallBulletDynamics_on2s.gif|none|400px|Motion Designer file of bullet dynamics simulation.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Reverse Z (right handed): '''  If the MDD file is facing in the wrong direction, you can reverse the Z axis in order to point it in the right direction.&lt;br /&gt;
[[File:OBJReader_44_MDD_ReverseZ_Bat.gif|none|400px|Effect of enabling the Reverse Z (right handed) parameter.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Mesh displacer:'''  The shader assigned to this parameter displaces the object’s vertices (mesh). For example, a power fractal shader can be used to displace the vertices of the 3D object or a population.  The denser the object’s geometry, or more vertices it has, allows for more subtle deformations to be visible.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_15_MeshModifiersTab_MeshDisplacer_Cattail.gif|none|400px|Animated parameters on a power fractal to deform a single 3D object.]] || [[File:OBJReader_16_MeshModifiersTab_MeshDisplacer_Population.gif|none|400px|Animated parameters on a power fractal to deform a population.]] &lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_17_MeshModifiersTab_MeshDisplacer_NonShaderedLeafs2.PNG|none|400px|Displacement applied to non-shadered objects.]] || [[File:OBJReader_18_MeshModifiersTab_MeshDisplacer_TexturedLeafs2.PNG|none|400px|Displacement applied to textured objects.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Recalculate Normals: '''  The MDD files and shaders assigned to the “Read MDD file” and “Mesh displacer” parameters change the base 3D object’s normals, requiring them to be recomputed in order to render correctly.  The “Recalculate Normals” parameter instructs Terragen how to recompute the normals.&lt;br /&gt;
This popup provides four options because of the many different ways in which 3D software applications, exporters and modeling techniques are used to create geometry and MDD files. The options are:&lt;br /&gt;
[[File:OBJReader_41_MeshModifiersTab_RecalcNormalsParams.png|none|378px|Recalculate Normal options.]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''&amp;lt;u&amp;gt;No:&amp;lt;/u&amp;gt;''' The normals are unchanged and left as they were in the original Wavefront OBJ, Lightwave LWO, or Terragen TGO formatted object.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''&amp;lt;u&amp;gt;Conservative Update:&amp;lt;/u&amp;gt;'''  Only the existing normals are updated. In other words, it relies on the normals to have been mapped to faces in a meaningful way in the original object.  Each recalculated normal is the average of the normals of the faces that use the normal.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Benefits:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Fast.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Preserves creases where edges use per-face normals in the original scene.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
Drawbacks:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Cannot create a smooth surface if normals are not shared between faces&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Cannot create normals where they didn't previously exist. &amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''&amp;lt;u&amp;gt;Smooth + preserve creases:&amp;lt;/u&amp;gt;''' Similar to &amp;quot;Conservative update&amp;quot; except that it preprocesses the model to merge any duplicate normals. After doing this it recalculates each normal using the average of the normals of the faces that use the normal.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Benefits:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Preserves creases where edges used per-face normals in the original model.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
Drawbacks:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt; Cannot create normals where they didn't previously exist.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:OBJReader_MeshModifier_RecalcNormals_SmoothPreserveCreases.png|none|400px|Normals recalculated with Smooth + Preserve creases.]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
'''&amp;lt;u&amp;gt;Smooth everything:&amp;lt;/u&amp;gt;''' All the prior normals are cleared. A new normal is created for every vertex. Each normal is the average of the normals of the faces that use the vertex, therefore it creates a smooth appearance across faces that share vertices with other faces.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Benefits:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;This works with models that didn't define any normals before.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
Drawbacks:&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Does not produce sharp edges unless the faces use separate vertices.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:OBJReader_MeshModifier_RecalcNormals_SmoothEverything.png|none|400px|Normals recomputed with Smooth Everything.]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Surface Shaders Tab ==&lt;br /&gt;
[[File:OBJReader_19_SurfaceShadersTab.png|none|460px|Surface Shaders Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Description:'''  This tab lets you assign a surface shader to texture the object. If there was a .mtl file associated with the OBJ file, a Parts Shader with its associated nodes will be created and assigned to the Surface shader input.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Surface shader:''' Use this parameter to assign a surface shader to the object.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Displacement tolerance'''  If you find that rough or spikey surfaces are showing problems at bucket edges, for example spikes having cut off tops, or gaps in ray traced shadows then increasing this value may help. However this can greatly increase render times. Relatively flat surfaces may render more quickly with smaller values.  The default value is 1. However this is an advanced setting and you should not change it unless you have specific problem you need to address. If you are having problems try starting with 2 and then increase it by small increments until they're resolved. A value of 4 would be considered a high value. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Smooth polygons at terminator:'''  This fixes self-shadow artifacts at the lighting terminator of polygonal objects where the smooth normals are inconsistent with the geometric normal.  This parameter is enabled by default.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[File:OBJReader_20_SurfaceShadersTab_SmoothPolysTerminator_Problem.jpg|none|948px|Comparison before and after Smooth Polygon Terminator enabled.]] --&amp;gt;&lt;br /&gt;
[[File:OBJReader_21_SurfaceShadersTab_SmoothPolysTerminator_OnOff.jpg|none|400px|Comparison Smooth Polygon Terminator enabled and disabled. ]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Darken bumps at terminator:'''  This parameter approximates self-shadow of bump maps at the lighting terminator to reduce the chance of seeing a sharp line where the surface falls into shadow.  This parameter is enabled by default.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;!-- [[File:OBJReader_22_SurfaceShadersTab_DarkenBumpsTerminator_Problem.png|none|400px|Comparison before and after Darken bumps at terminator applied.]] --&amp;gt;&lt;br /&gt;
[[File:OBJReader_23_SurfaceShadersTab_DarkenBumpsTerminbator_OnOff.jpg|none|400px|Comparison with Smooth Polygon Terminator and Darken bumps at terminator enabled.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rendering Tab ==&lt;br /&gt;
[[File:OBJReader_24_RenderingTab.png|none|400px|Rendering Tab]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Render mode:''' An object's render state can be set to “Visible”, “Invisible” or “Holdout”.  &lt;br /&gt;
[[File:OBJReader_25_RenderingTab_RenderType.png|none|148px|Object's render types.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;When set to “Holdout”, an object is visible in the rendered image as a black shape with an alpha value of zero.  When using render layers the object's render state is combined with the group visibility parameter to determine its least visible setting. &amp;quot;Invisible&amp;quot; is less visible than &amp;quot;Holdout&amp;quot;, which is less visible than &amp;quot;Visible&amp;quot;.&amp;lt;/li&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_26_RenderingTab_RenderState.jpg|none|400px|3D objects set to visible, holdout, and invisible.  Render layer set to visible.]] || [[File:OBJReader_27_RenderingTab_RenderStateAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to visible.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_28_RenderingTab_RenderStateHoldout.jpg|none|400px|3D objects set to visible, holdout, and invisible.  Render layer set to holdout.]] || [[File:OBJReader_29_RenderingTab_RenderStateHoldoutAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to holdout.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_30_RenderingTab_RenderStateInvisible.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Render layer set to invisible.]] || [[File:OBJReader_31_RenderingTab_RenderStateInvisibleAlpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Render layer set to invisible.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Visible to other rays:''' When enabled, the object will be taken into account by all the rays determined by the renderer including those from the camera, direct and indirect lighting, etc.  In the example below, a 100% reflective  3D object has been placed behind three coloured spheres in order to mirror the effect of the calculated rays.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_32_RenderingTab_VisibleToOtherRaysOn.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Visible to other rays enabled.]] || [[File:OBJReader_33_RenderingTab_VisibleToOtherRaysON_alpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Visible to other rays enabled.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Cast shadows:''' This should be checked if you want the object to cast shadows.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:OBJReader_34_RenderingTab_CastShadowsOff.jpg|none|400px|3D objects set to visible, holdout,and invisible.  Cast shadows disabled.]] || [[File:OBJReader_35_RenderingTab_CastShadowsOFF_alpha.jpg|none|400px|Alpha channel for 3D objects set to visible, holdout,and invisible.  Cast shadows disabled.]] &amp;lt;/li&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Double-sided surface:''' If this is checked  object surfaces are double sided. A single sided surface is only visible from the &amp;quot;front&amp;quot;, which is the direction the surface normal is pointing. If you look at it from the other direction the surface isn't visible. Double sided surfaces are visible from all directions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Use smooth normals:''' If this is checked the object normals are interpolated to make the surface appear smooth. If it's unchecked the surface will look faceted.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Flip normals:''' Check this to flip or reverse the object normals. You might want to use this on an imported object if it has gaps or strange dark patches when rendered.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Render method''' This popup has three options. &lt;br /&gt;
[[File:OBJReader_36_RenderingTab_RenderMethod.png|none|340px|Render method options]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Default:''' Ray Tracing is the default rendering method for an object.  Typically it results in higher quality and faster rendering.  When displacement is applied to a 3D object the render method should be changed to Force Displacement.  When the object's render method is set to &amp;quot;Default&amp;quot;, the object is rendered according to the Ray trace objects setting in the render node.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Force Displacement:'''  When enabled for the object, its surfaces will be subdivided into micropolygons at render time, which allows the 3D geometry to be displaced correctly but at the expense of slightly longer render times.  &lt;br /&gt;
It is useful when you have some objects you want to render with displacement but you don't want to change how all the rest of your objects are rendered, i.e. Ray traced. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Force Ray Trace:'''  When enabled for the object, its surfaces will be ray traced at render time, even if “Ray trace objects” is disabled in the Renderer settings.  This can be useful when “Ray trace objects” is disabled in the Renderer in order for other 3D objects to use displacement, but you want this object to use Ray tracing for the highest quality rendering and it has not been displaced. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;'''Sorting bias (metres)'''  This parameter gives you control over the order in which objects are rendered when using the micropolygon renderer. This does not apply to objects being rendered with the ray tracer.&lt;br /&gt;
A large positive value, e.g. 10,000,000 (or 1e7) will usually force the object to render first.  A large negative value, e.g. -10,000,000 (or -1e7) will usually force the object to render last, or after the terrain.  This can be useful when rendering large objects with displacement, such as a lake object that lies mostly below the displaced terrain.  By setting the lake object’s sorting bias value to something like -10,000,000 forces it to render after the terrain.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Transform Tab ==&lt;br /&gt;
[[File:TGOReader_01_TransformTab.png|none|470px|Transform tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Translate:''' This sets the position of the object.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Rotate:''' This rotates the object about its origin. The order of the values is heading, pitch then bank.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Scale:''' You can use this parameter to scale the object in the X, Y and Z directions. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Angular Position Tab ==&lt;br /&gt;
[[File:TGOReader_02_AngularPositiontTab.png|none|470px|Angular Position Tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Description:'''  This tab has settings which use angles and distance to set the position of the rock relative to the scene origin. These settings are an alternative to using the Translate setting in the Transform tab. The diagram below shows how all the parameters relate to each other and the origin.&lt;br /&gt;
&lt;br /&gt;
[[File:Angular_position.gif|center|218px|Angular positions]]&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Heading:'''  This angle sets the rotation of the object around the scene origin, in the XY plane, increasing as you turn clockwise. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Elevation:'''  This angle sets the vertical part of the position. You could think of it as the angle above or below the horizon. 90 is straight up, -90 is straight down. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Distance:'''  This sets the distance from the origin, in metres. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Import Tab ==&lt;br /&gt;
[[File:TGOReader_03_ImportTab.png|none|470px|Import Tab.]]&lt;br /&gt;
&lt;br /&gt;
'''Description:''' These parameters apply to .chan/.mov and FBX import.&lt;br /&gt;
&lt;br /&gt;
'''Settings:'''&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import offset:''' This setting allows you to offset the positions imported from the file. As an example, you might want the positions imported from the file to be moved 10 metres in the X direction. To do that enter 10 for the X coordinate and import the file. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import scale:'''  You can use this setting to scale values imported from the file. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;'''Import Chan file:'''  This param specifies the file to be imported. When you a choose a new file you will be prompted to import the file. If you choose not to import it immediately you can click the Import chan File button to perform the import. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Object Nodes]]&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16966</id>
		<title>Terragen Sky Early Access</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16966"/>
		<updated>2025-10-15T16:46:13Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: /* Panorama and Panorama Roller */ Update description in regards to roller.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
This is the online documentation for the Early Release version of Terragen Sky.  &lt;br /&gt;
&lt;br /&gt;
As features are being added or updated on a daily basis, please consider this documentation to be a work-in-progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Menu Bar==&lt;br /&gt;
'''File menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_01_MainMenuFile.jpg|none|800px|File menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''New:''' Starts a new Terragen Sky project with the default values.&lt;br /&gt;
*'''Open:''' Opens a previously saved Terragen Sky project.&lt;br /&gt;
*'''Save As:''' Saves the current project as a Terragen Sky project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_02_MainMenuEdit.jpg|none|800px|Edit menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Undo:''' Undo the last operation.&lt;br /&gt;
*'''Redo:''' Redo the last operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dialog menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_03_MainMenuDialog.jpg|none|800px|Dialog menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Reference image:''' Opens the Reference Images and Projections window.  This allows you to load an image from disk and project it into the project for reference.  Image visibility can be fully opaque, transparent or completely off. The image can be positioned in the project by setting the Altitude, Position, Rotation and Focal length parameters.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:94_GUI_ReferenceImage.jpg|none|900px|Reference Image and Projections window.]]&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_09_ReferenceImageTrans.jpg|none|800px|Reference Image set to transparent.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageOpaque.jpg|none|800px|Reference Image set to opaque.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageSkyPaint.jpg|none|800px|Adding and removing clouds to match the reference image using Sky Paint.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
*'''Strokes:''' When the Sky Paint workspace is active, this option opens the Edit Mode window.  In Edit Mode the size and opacity of brush strokes can be modified, and they can be assigned to different canvases.  For more information, see the Sky Paint section below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UI menu button'''&lt;br /&gt;
[[File:TGSky_20251012_04_MainMenuUI.jpg|none|800px|UI menu. ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
The presets under this menu scale the user interface components accordingly, so that you can adjust the layout to best fit your display device or visual preference.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#0000ff&amp;quot;&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_11_UIMenu90percent.jpg|none|800px|UI at 90% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_12_UIMenu200percent.jpg|none|800px|UI at 200% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Help menu button'''&lt;br /&gt;
[[File:TGSky_20251012_05_MainMenuHelp.jpg|none|800px|Help menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Online Documentation:''' Opens the URL for the Terragen Sky documentation in your browser.&lt;br /&gt;
&lt;br /&gt;
* '''SysInfo button''': Displays the system information including OpenGL Renderer and OpenGL Version.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_13_HelpMenuSys.jpg|none|800px|SysInfo display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''License button''': Displays the license information.  One year of maintenance is included with the purchase of a perpetual license of Terragen.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_14_HelpMenuLicense.jpg|none|800px|License Info display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resizable Docks==&lt;br /&gt;
The left and right docks of the UI are resizable, with optional symmetry between the left and right docks.  Dock symmetry can be toggled by holding '''Shift''' while dragging a dock resizer bar.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_On.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry enabled.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_Off.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry disabled.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lighting Panel==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_01_SunDirection.png|none|468px|Terragen 2025-10-09 default Lighting Panel.]] || [[File:TGSky_20251009_05_SunDirection_MulitSuns.PNG|none|468px|Terragen 2025-10-09 Lighting Panel with multiple Sunlights.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The lighting panel provides complete control over the Sunlights in your project by means of the Light Sources list, a Sun Direction dial, and parameters for each Sunlight.&lt;br /&gt;
&lt;br /&gt;
You can easily add Sunlights to the project by clicking the “+” button below the Light Sources label.  To remove a Sunlight from the list, select it and press the Delete key.&lt;br /&gt;
&lt;br /&gt;
Selecting a Sunlight in the Light Sources list allows you to edit it and any changes are reflected immediately in the UI.&lt;br /&gt;
&lt;br /&gt;
To change the position or elevation of a Sunlight, select it from the list then click and drag anywhere in the Sun Direction disk.  For finer control you can adjust these parameters by dragging their sliders to the left or right.  For very precise control use their rollers and drag left or right, or simply type in the numeric value you desire.&lt;br /&gt;
&lt;br /&gt;
With the Sun Position button enabled in the Sky Viewport Tools you can snap the selected Sunlight directly to where you click in the Viewport.  The name of the currently selected Sunlight appears below the Sun Position button. &lt;br /&gt;
&lt;br /&gt;
As a Sunlight nears the edge of the dial its colour in the UI changes to reflect its proximity to the horizon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_05_SkyViewportToolsSunPos.jpg|none|800px|The selected sunlight is shown on the Sun Position button.]]&lt;br /&gt;
|} &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Sun Direction dial also includes a camera frame and viewport rectangle, represented as lighter-shaded areas with black lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' List of Sunlights'''&lt;br /&gt;
&lt;br /&gt;
*'''Light Sources +:''' Clicking the &amp;quot;'''+'''&amp;quot; button adds a new Sunlight to the project.  The name of the newly added Sunlight is shown in a list below the button and a visual representation of the Sunlight appears in the Sun Direction disk. To remove a Sunlight from the list and project, select it and press the '''Delete''' key.  If only one Sunlight exists in a project it can not be deleted.  You can undo the creation and deletion of Sunlights via the Edit menu or by using '''Ctrl+Z''' on the keyboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sun Direction Dial'''&lt;br /&gt;
&lt;br /&gt;
*'''Orient to Camera/World:''' The Sun Direction dial can be displayed in camera or world orientation.  When the '''Camera''' button is enabled, the camera’s field of view in the Sunlight dial remains facing forward and any Sunlights in the project rotate around the dial as the Camera is rotated or the Panorama Roller is dragged to the left or right.  When the '''World''' button is enabled and the camera is rotated, its field of view in the Sun Direction dial rotates around the dial while any Sunlights remain fixed in their position.&lt;br /&gt;
&lt;br /&gt;
*'''Look Up/Down:''' These buttons indicate the way in which you’re viewing the Sun Direction dial; from above it or below it.  If you imagine the dial to be the sky '''Up''' indicates that you’re below the sky looking up at it, while '''Down''' indicates you’re above the sky looking down at it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Sunlight Parameters'''&lt;br /&gt;
&lt;br /&gt;
*'''Heading:''' This parameter sets the heading of the sun in degrees.  You can think of 0° as North, +90° as East, +-180° as South, and -90° as West.  The parameter includes a slider with a range of -180 to +180 degrees, and a roller which can be dragged to the left or right to adjust its value, or to directly enter a numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Elevation:''' This parameter sets the elevation of the sun in degrees.  You can think of 0° being directly on the horizon, +90° being directly overhead, and -90° being on the underside of the planet.  When negative values are used to simulate a night sky, you can compensate for the darkness by increasing the Exposure value.  The parameter includes a slider with a range of -90 to +90 degrees, and a roller which can be dragged to the left or right to adjust its value, or to directly enter a numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Colour:''' This parameter sets the colour of the selected Sunlight. It consists of one roller for each of the components (red, green, blue) that make up the Sunlight's colour. To change the colour simply drag to the left or right in each roller, or enter a numeric value. Negative values are allowed. The Sun Direction dial will update to reflect the new colour values.&lt;br /&gt;
&lt;br /&gt;
*'''Strength:''' This parameter sets the intensity of the Sunlight.  The default strength value is 5.&lt;br /&gt;
&lt;br /&gt;
*'''Diameter:''' This parameter sets the diameter of the selected Sunlight’s disk.  As the value is changed, the Sun Direction dial will automatically update to show the size of the Sunlight disk. A visible Sunlight disk can be included or excluded from a rendered image by checking the “Save with sun” checkbox under the Renders tab and saving the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Soft shadow:''' When checked the renderer will calculate soft shadows for the selected Sunlight based on the Sunlight's diameter.  This can take longer to render but is more accurate.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sky Viewport Tools==&lt;br /&gt;
[[File:TGSky_20251012_06_SkyViewportToolsSunPos.jpg|none|245px|Sky Viewport Tools.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Sun Position:''' When active, clicking in the main viewport repositions the sun to that location, updating the Sun heading and elevation values.&lt;br /&gt;
&lt;br /&gt;
*'''Exposure:''' When active, clicking and dragging in the main viewport changes the camera’s exposure value, simulating the response to light a real camera might have.  Dragging to the right increases the exposure value and brightens up the image as more light reaches the film.  Dragging to the left decreases the exposure value and darkens the image, much like stopping down the camera lens aperture from f/2 to f/4.  Right-click the exposure button to open a context menu which has the option to reset the exposure value to default.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_07_SkyViewportToolsExposure.jpg|none|450px|Exposure reset.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Camera Zoom:''' When active, clicking and dragging in the main viewport changes the camera’s focal length, which can also be seen in the Camera Focal length parameter.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_08_SkyViewportToolsCamZoom.jpg|none|549px|Right click on the Camera Zoom button to reset the camera zoom. ]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:20_CameraZoomFocalLengths0001.jpg|none|800px|Various camera focal lengths.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cloud Height Diagram==&lt;br /&gt;
The Cloud Height Diagram provides a visual and alternate way of positioning the cloud and haze layers, and camera. Moving an item within the diagram adjusts its altitude.  When one item’s altitude overlaps with another their indicators appear side by side.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:21_CloudHeightDiagram_Default.jpg|none|266px|Default Cloud heights. ]]  || [[File:22_CloudHeightDiagram_Overlap.jpg|none|266px|Overlapping Cloud heights. ]] || [[File:23_CloudHeightDiagram_Staggered.jpg|none|266px|Staggard Cloud heights. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Camera==&lt;br /&gt;
[[File:05_UI_CameraeLens.jpg|none|470px|The Camera.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This parameter controls the height of the virtual camera. Dragging the slider right or left will increase or decrease the camera's altitude. For finer control drag the roller to the right or left, or enter a numeric value. The Cloud Height Diagram will update and show the new altitude of the camera.&lt;br /&gt;
&lt;br /&gt;
*'''Position:'''  This parameter controls the position of the virtual camera in the scene. Each component value (XYZ) may be modified by dragging to the right or left in the rollers, or by entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Rotation phb:'''  This parameter controls the rotation of the virtual camera in the scene. Each component value (pitch, heading, bank) may be modified by dragging to the right or left in the rollers, or by entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Focal length:''' This parameter controls the focal length of the virtual camera lens and is the equivalent to the focal length of a real camera lens. The parameter includes a slider with a range of 0 mm to 300 mm, and a roller which can be dragged tothe left or right to adjust its value, or to directly enter a numeric value.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Panorama and Panorama Roller==&lt;br /&gt;
&lt;br /&gt;
The Panorama displays a “lat-long” (spherical) image or a cube map overview of the entire environment.  The overlaid text provides information about the type and resolution of the environment map, whose resolution depends on the Terragen Sky mode selected. Dragging the roller below the Panorama rotates the environment from -180° to +180°. Clicking with the RMB resets the rotation value to 0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:23_Panoramic_LatLong.jpg|none|800px|The Panorama view displaying LatLong information. ]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:24_Panoramic_CubeMap.jpg|none|800px|The Panorama view displaying CubeMap information.]]&lt;br /&gt;
&lt;br /&gt;
==Viewport==&lt;br /&gt;
The viewport is the main display of the UI.  The Alt key + mouse buttons and dragging in the viewport will change the view.  These are similar to the default bindings in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
Translate forwards/backwards (dolly): Alt+MMB, or Alt+Shift+LMB&lt;br /&gt;
Translate up/down/left right: Alt+RMB, or Alt+Ctrl+LMB&lt;br /&gt;
&lt;br /&gt;
Pressing the Esc key resets the camera’s position and rotation to the values they had when the project was loaded, or created in the case of using New Project.&lt;br /&gt;
&lt;br /&gt;
Below the viewport is the status bar, which displays helpful information, such as the name of the UI component that the mouse is currently pointed at.&lt;br /&gt;
&lt;br /&gt;
[[File:26_MainViewport.JPG|none|800px|The Viewport.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Filmic Tonemap:''' When checked, a tone map is applied to the viewport in much the same way as the Renderers Tonemap settings in Terragen 4.  When unchecked, no tone mapping is applied and you may see clipping in the bright areas of the sky.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:27_ToneMapOn.JPG|none|400px|Tonemap checked.]] || [[File:28_ToneMapOff.JPG|none|400px|Tonemap unchecked.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Enviro map/sphere:''' Inset into the main viewport is an environment shader object.  &amp;lt;!---When the Panorama displays a “lat-long” spherical image this will appear as a flat 2d plane with the environment map applied to it.  When the Panorama displays a cube-map, the object changes to a reflective sphere, which can be useful when rotating the environment map in order to see what’s behind the camera position. --&amp;gt;  This chrome sphere can be useful when rotating the environment map in order to see what's behind the camera position.  You can drag the object around the viewport by clicking on it with the LMB, or resize it using the MMB.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;!--33_EnviroPlane.jpg --&amp;gt;&lt;br /&gt;
[[File:32_EnviroBall.JPG|none|627px|The chrome sphere.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preview Modes (Camera, Camera+, 360+, 360)==&lt;br /&gt;
[[File:52_PreviewMode.jpg|none|602px|Preview modes.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Camera-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''Camera:'''  Use this mode when you want to preview the area you’re looking at as quickly as possible.  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality.   &lt;br /&gt;
&lt;br /&gt;
*'''Camera+:'''  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality, then the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''360/Lighting-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''360 +:'''  Use this mode when you want an approximate 360° render as quickly as possible (e.g. for lighting) but you also want to refine the area within the camera’s view.  In this mode, the entire 360° view is first updated to a minimum resolution, then whatever you’re looking at is refined to the internal target resolution and quality, and finally the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
*'''360:'''  Use this mode when you want a 360° view as quickly as possible (e.g. for lighting).  In this mode, the entire 360° view is updated at a uniform resolution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Parameters==&lt;br /&gt;
The Sky parameters consist of three cloud layers, a Haze layer and an Atmosphere control.  &lt;br /&gt;
&lt;br /&gt;
'''Cloud Layers'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[File:30_SkyParameters_CloudLayers.JPG|602px|Cloud Layer parameters.]] --&amp;gt;&lt;br /&gt;
[[File:48_CloudLayer.jpg|597px|Cloud Layer parameters.]]&lt;br /&gt;
&lt;br /&gt;
*'''Layer # (checkbox):'''  When checked, the layer is active and will appear in the viewport and in renders.&lt;br /&gt;
&lt;br /&gt;
*'''Presets menu (down chevron):''' When clicked, a list of cloud presets is displayed, allowing you to choose the type of clouds to assign to this cloud layer.  See below.&lt;br /&gt;
&lt;br /&gt;
*'''Advanced Settings (right chevron):'''  When clicked, the advanced settings for the selected cloud, haze or atmosphere is displayed.  This feature is not currently implemented.&lt;br /&gt;
&lt;br /&gt;
*'''Seed:''' This value generates the random aspects of the cloud layer.&lt;br /&gt;
&lt;br /&gt;
*'''Coverage:'''  This setting controls the amount of clouds within the cloud layer. Low values reduce the amount of individual clouds and increase the amount of empty space between them. Increasing the value fills up the area with more individual clouds.&lt;br /&gt;
&lt;br /&gt;
*'''Density:'''  This setting controls the transparency or opaqueness of the clouds within the cloud layer. Low values make the clouds look thin and let more light pass through them. Higher values make the clouds look thicker and denser, as well as darker because less light passes through them. &lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This setting controls the height range of the cloud layer from top to bottom.  This corresponds to “Cloud depth” in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This setting controls the height of the cloud in metres above sea level.  For some cloud types this corresponds to the base of the cloud and for others it corresponds to the mid-point between the base and the top.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Presets menu'''&lt;br /&gt;
&lt;br /&gt;
[[File:61_SkyPresets.jpg|none|464px|Presets menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Through the presets menu for Cloud and Haze layers, you have access to the cloud type presets available in Terragen, including Cloud Layer V2, Cloud Layer V3, and Easy Clouds.&lt;br /&gt;
&lt;br /&gt;
*'''High-level:''' These cloud layers default to an altitude of 8,000 metres or more, and are based on Terragen’s Cloud Layer V2 or Easy Clouds presets. When an  Easy Cloud preset is selected, you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types under the cloud layer’s advanced settings.&lt;br /&gt;
&lt;br /&gt;
*'''Mid-level:'''  These cloud layers default to an altitude around 4,000 metres, and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Low-level:'''  These cloud layers default to an altitude around 1,500 - 2,000 metres and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Haze:'''  High-level, Mid-level, and Low-level haze layers are available based on Terragen’s Cloud Layer V2 without a Density shader, tapering or falloff.  It provides a volumetric layer in which you can control the density, thickness and altitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Haze Layer'''&lt;br /&gt;
&lt;br /&gt;
[[File:07_UI_SkyParams_Haze.JPG|none|567px|The Haze layer.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Haze is the appearance of moisture and particulates in the atmosphere. It can be used to simulate a broad range of phenomena such as fog, mist, or dry haze caused by dust and smoke.  The Haze layer is a layer of uniform haze with a prescribed height range, whereas the Atmosphere is a layer of haze with exponential fall-off with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
*'''Haze layer:''' When checked, the haze layer is visible.&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' This is the opacity of the haze layer.&lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This is the height range of the Haze layer from top to bottom, measured in metres.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This is the altitude, specified in metres, at which the bottom of the Haze layer begins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atmosphere'''&lt;br /&gt;
&lt;br /&gt;
[[File:08_UI_SkyParams_Atmo.JPG|none|567px|Atmosphere.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' The exponential fall-off of haze in the atmosphere with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Other buttons'''&lt;br /&gt;
&lt;br /&gt;
[[File:31_SavePreset.JPG|none|602pox|Save presets button.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Save Preset button:''' Clicking this button saves the current settings as a preset, which becomes available in the Presets tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presets Tab==&lt;br /&gt;
[[File:62_PresetsTab.jpg|none|599px|The Presets Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The presets tab is a convenient way to access your favorite Terragen Sky settings.  &lt;br /&gt;
&lt;br /&gt;
To load a preset, simply click on the thumbnail image in the Presets tab, or right click it and select “Load Preset”.&lt;br /&gt;
&lt;br /&gt;
To save a preset, simply press the Save Preset button located at the bottom of the Sky Parameters, and the new preset will be added to the Preset tab. &lt;br /&gt;
&lt;br /&gt;
User presets and presets from third party sources show up under the User Presets or Unregistered categories.&lt;br /&gt;
&lt;br /&gt;
The Planetside Software Presets category displays the presets that ship with Terragen Sky.   You can download them by clicking on the Download button as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[File:63_PresetsTabDownloadBrowser.jpg|none|559px|Presets download button.]]&lt;br /&gt;
&lt;br /&gt;
You can also navigate to their installation directory by clicking on the ellipsis button.&lt;br /&gt;
&lt;br /&gt;
[[File:64_PresetsTabOpenFile.jpg|none|599px|Installation directory button]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Render Tab ==&lt;br /&gt;
[[File:TGSky_20251009_03_Render_AABloom.jpg|none|601px|The Render Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The render tab provides controls for the rendered output, including size and quality settings.&lt;br /&gt;
&lt;br /&gt;
*'''Current View &amp;amp; Spherical:''' These settings provide a dropdown menu of standard image resolutions to choose from.  The width and height of the rendered image will be set to the chosen resolution.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:66_RenderTabResolutions.jpg|none|599px|Composit image of Current and Spherical view resolutions and aspect ratios.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Quality:''' The quality of the rendered image is governed by the four Q buttons.   The higher the Q button value the better the quality of the rendered image, at the expense of a longer render time.&lt;br /&gt;
&lt;br /&gt;
*'''Anti-aliasing bloom:''' When checked this produces a nicer edge on the sun discs in the rendered image. Note that it also increases render times.&lt;br /&gt;
&lt;br /&gt;
*'''Render Image button:''' Click this button to start the render process. When the process is complete, a notification is displayed below the button indicating how long the render took.&lt;br /&gt;
&lt;br /&gt;
*'''Save button:''' Click this button to save the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Save with sun:''' When checked, the sun disc is saved in the rendered image.  Note that to turn the sun disc on or off, the image does not need to be re-rendered.&lt;br /&gt;
&lt;br /&gt;
*'''Auto-save when finished:''' When checked, the image will automatically be saved upon render.&lt;br /&gt;
&lt;br /&gt;
== Export Tab ==&lt;br /&gt;
&lt;br /&gt;
[[File:67_ExportTab-JSON.jpg|none|599px|The Export Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The items on the Export tab allow you to save the project as a Terragen clip file or scene file for further use in Terragen 4.  Additionally, with Live Send 360, you can immediately save the environment map to a file for access by third party software.&lt;br /&gt;
&lt;br /&gt;
'''Export to Terragen 4'''&lt;br /&gt;
*'''Export Clip File:''' Saves the Sky Parameter settings as a clip file which can then be imported into Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
*'''Export Scene file:''' Saves the project, including Sky Parameters, sun and camera, as a scene file which can be opened in Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
'''Live Send 360:''' This feature allows you to export a 2k spherical image to a specific location which is based on the current render state of the viewport, eliminating the need to wait for a final rendered image.  &lt;br /&gt;
&lt;br /&gt;
*'''Set Output File:''' Clicking this button brings up a standard file requestor in which to set the filename and path for the Live Send 360 output.&lt;br /&gt;
&lt;br /&gt;
*'''Send Now:'''  Clicking this button immediately updates the image defined in Set Output File parameter.&lt;br /&gt;
&lt;br /&gt;
*'''Send Image after loading a preset:'''  When checked, the image is immediately updated as soon as a preset is loaded.  When unchecked, you need to click the Send Now button.&lt;br /&gt;
&lt;br /&gt;
*'''Send image every “n” seconds:''' When checked, the image is saved to the output file every “n” seconds that you specify.&lt;br /&gt;
&lt;br /&gt;
*'''Send JSON when Sun moves or Env rotates:''' When checked, a JSON file located in the same folder as the output file, is updated with project information such as the Sun’s heading and elevation.  Third party applications supporting dynamic updating, like Unreal Engine, can access the information and their project assets can be synced with Terragen Sky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Paint Workspace==&lt;br /&gt;
The tools and features under the Sky Paint workspace give you precise control of the shapes and positions of your clouds.&lt;br /&gt;
&lt;br /&gt;
[[File:83_AllSkyPaintTools.jpg|none|800 px |The tools and features of the Sky Paint workspace.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicking on the Sky Paint workspace tab brings up the viewport display menu.&lt;br /&gt;
&lt;br /&gt;
[[File: 74_SkyPaintViewportMenu.jpg | none|470 px|Viewport display menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can set the viewport display to side-by-side, top-and-bottom, or to display the painting viewport only.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_15_SkyPaint_Split-LR.jpg|none|800px|Viewport split set to right and left.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_15_SkyPaint_Split-TB.jpg|none|800px|Viewport split set to top and bottom.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: TGSky_20251012_17_SkyPaint_Split-PaintOnly.jpg|none|800px|Viewport set to Paint only. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canvases:''' &amp;lt;br&amp;gt;&lt;br /&gt;
A canvas is a 360-degree paintable volume which can be painted from multiple viewports. Each project contains multiple canvases. &lt;br /&gt;
[[File: 77_Canvas.jpg |none|900 px|When painting in a cloud or haze layer, the paint indicator turns red.]]&lt;br /&gt;
By default, the &amp;quot;Paint All&amp;quot; canvas is selected.  Paint tools used in this canvas affect all cloud layers and haze layers in the project. This lets you start painting and see immediate results. &lt;br /&gt;
&lt;br /&gt;
There are extra canvases for each cloud layer and haze layer, such as &amp;quot;Cloud 1&amp;quot;, &amp;quot;Cloud 2&amp;quot;, and &amp;quot;Haze Layer&amp;quot;.  When painting in these canvases, paint tools are limited to that specific layer.&lt;br /&gt;
&lt;br /&gt;
When a canvas is selected, the “P” paint indicator and Sky parameters for the affected layer will be highlighted in red.&lt;br /&gt;
&lt;br /&gt;
[[File: 78_Canvas_SkyParams.jpg| none|600 px|When painting in a cloud or haze layer, the layer’s Sky parameters are highlighted in red.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sky Paint Tools:''' &amp;lt;br&amp;gt;&lt;br /&gt;
The Sky Paint Tools allow you to add, remove and modify the cloud and haze layers in your project.  Painting is completely non-destructive and you can edit your strokes at any time.  Everything is undoable.&lt;br /&gt;
[[File: 82_SkyPaintToolsAndSettings.jpg |none|700 px|Paint strokes are displayed in green when using the Cloud Add tool.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Cloud Add''' and '''Cloud Remove''': Paint strokes created with the Cloud Add tool appear in green, while paint strokes created with the Cloud Remove tool are coloured purple.  Both tools allow you to set the brush size and opacity.  You can use the left “[“ and right “]” bracket keys to change the current tool’s brush size.  Paint strokes are grouped together into a layer when their size and opacity are the same.  A new layer is created whenever the size or opacity is changed and a new paint stroke is made.  You can edit the size and opacity of a paint stroke layer by simply hitting the Space Bar to enter into the Edit mode. Within the Edit mode, you can move paint strokes from one canvas to another.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_18_SkyPaint_CloudAddRemove.jpg|none|800px|Brush strokes painted with the Cloud Add tool appear green.  Strokes painted with the Cloud Remove tool are coloured purple.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Erase Points''': The Erase Points tool works like an eraser, allowing you to remove individual points of the curve that makes up the brush stroke.  With the tool selected, simply left click and drag over the points you want to remove from the curve.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 84_EraseTool.jpg | none|800 px |The Erase tool is used to remove points from the brush stroke.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Move''': The Move tool allows you to move entire paint stroke layers. Hovering the cursor over the paint strokes will highlight the current paint stroke layer to move.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: TGSky_20251012_19_SkyPaint_Move_Art-Rat.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Add curves have been moved.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_20_SkyPaint_Move-Remove_Art-Tar.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Remove curves have been moved.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Stir''': The Stir tool allows you to distort the shape of the paint stroke curve.  When selected, the tool displays two dotted circles indicating the extent of the distortion effect upon points that fall within.  Points of the curve within the inner circle are more intensely affected by the strength of the distortion, which gradually falls off by the outer circle.  The “Tool Size” parameter allows you to increase or decrease the area affected by distortion.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: TGSky_20251012_21_SkyPaint_Stir_Art.jpg |none|800 px |The Stir tool displaces the points of the brush stroke curve.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit Mode''': &amp;lt;br&amp;gt;&lt;br /&gt;
Hitting the Space Bar will bring up the Edit Mode.  Any canvas having contained a paint stroke will be listed in the Canvas column.  The Layers column lists the paint stroke layers for that canvas.  You can select an individual layer or use the keyboard shortcuts [K] and [L] to select the previous or next layer.  Pressing the [Delete] key will delete the paint stroke layer.  If you delete a layer accidentally, you can undo the deletion via the main menu Edit dialog, or pressing Ctl-Z.&lt;br /&gt;
With a layer selected you can modify the size of the brush stroke and its opacity.&lt;br /&gt;
[[File: 79_EditMode.jpg | none|800 px|Edit mode]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Painting Viewpoints''': &amp;lt;br&amp;gt;&lt;br /&gt;
You can paint from multiple viewpoints. Up to 10 different camera positions can be stored as a viewpoint, and each viewpoint has its own set of cube maps. These are projected into 3D space and intersect with one another to provide a merged solution to where clouds should be added and removed in 3D space.&lt;br /&gt;
Painting Viewpoints can be selected with the buttons at the top of the Viewport. You can hover over them to preview viewpoints temporarily without switching to them.&lt;br /&gt;
[[File:TGSky_20251012_22_SkyPaint_Viewpoint1_Below.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 1.]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_23_SkyPaint_Viewpoint2_Above.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 2.]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16965</id>
		<title>Terragen Sky Early Access</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16965"/>
		<updated>2025-10-15T16:43:45Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: /* Camera */ Update descriptions in regards to rollers and sliders.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
This is the online documentation for the Early Release version of Terragen Sky.  &lt;br /&gt;
&lt;br /&gt;
As features are being added or updated on a daily basis, please consider this documentation to be a work-in-progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Menu Bar==&lt;br /&gt;
'''File menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_01_MainMenuFile.jpg|none|800px|File menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''New:''' Starts a new Terragen Sky project with the default values.&lt;br /&gt;
*'''Open:''' Opens a previously saved Terragen Sky project.&lt;br /&gt;
*'''Save As:''' Saves the current project as a Terragen Sky project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_02_MainMenuEdit.jpg|none|800px|Edit menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Undo:''' Undo the last operation.&lt;br /&gt;
*'''Redo:''' Redo the last operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dialog menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_03_MainMenuDialog.jpg|none|800px|Dialog menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Reference image:''' Opens the Reference Images and Projections window.  This allows you to load an image from disk and project it into the project for reference.  Image visibility can be fully opaque, transparent or completely off. The image can be positioned in the project by setting the Altitude, Position, Rotation and Focal length parameters.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:94_GUI_ReferenceImage.jpg|none|900px|Reference Image and Projections window.]]&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_09_ReferenceImageTrans.jpg|none|800px|Reference Image set to transparent.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageOpaque.jpg|none|800px|Reference Image set to opaque.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageSkyPaint.jpg|none|800px|Adding and removing clouds to match the reference image using Sky Paint.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
*'''Strokes:''' When the Sky Paint workspace is active, this option opens the Edit Mode window.  In Edit Mode the size and opacity of brush strokes can be modified, and they can be assigned to different canvases.  For more information, see the Sky Paint section below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UI menu button'''&lt;br /&gt;
[[File:TGSky_20251012_04_MainMenuUI.jpg|none|800px|UI menu. ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
The presets under this menu scale the user interface components accordingly, so that you can adjust the layout to best fit your display device or visual preference.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#0000ff&amp;quot;&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_11_UIMenu90percent.jpg|none|800px|UI at 90% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_12_UIMenu200percent.jpg|none|800px|UI at 200% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Help menu button'''&lt;br /&gt;
[[File:TGSky_20251012_05_MainMenuHelp.jpg|none|800px|Help menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Online Documentation:''' Opens the URL for the Terragen Sky documentation in your browser.&lt;br /&gt;
&lt;br /&gt;
* '''SysInfo button''': Displays the system information including OpenGL Renderer and OpenGL Version.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_13_HelpMenuSys.jpg|none|800px|SysInfo display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''License button''': Displays the license information.  One year of maintenance is included with the purchase of a perpetual license of Terragen.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_14_HelpMenuLicense.jpg|none|800px|License Info display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resizable Docks==&lt;br /&gt;
The left and right docks of the UI are resizable, with optional symmetry between the left and right docks.  Dock symmetry can be toggled by holding '''Shift''' while dragging a dock resizer bar.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_On.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry enabled.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_Off.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry disabled.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lighting Panel==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_01_SunDirection.png|none|468px|Terragen 2025-10-09 default Lighting Panel.]] || [[File:TGSky_20251009_05_SunDirection_MulitSuns.PNG|none|468px|Terragen 2025-10-09 Lighting Panel with multiple Sunlights.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The lighting panel provides complete control over the Sunlights in your project by means of the Light Sources list, a Sun Direction dial, and parameters for each Sunlight.&lt;br /&gt;
&lt;br /&gt;
You can easily add Sunlights to the project by clicking the “+” button below the Light Sources label.  To remove a Sunlight from the list, select it and press the Delete key.&lt;br /&gt;
&lt;br /&gt;
Selecting a Sunlight in the Light Sources list allows you to edit it and any changes are reflected immediately in the UI.&lt;br /&gt;
&lt;br /&gt;
To change the position or elevation of a Sunlight, select it from the list then click and drag anywhere in the Sun Direction disk.  For finer control you can adjust these parameters by dragging their sliders to the left or right.  For very precise control use their rollers and drag left or right, or simply type in the numeric value you desire.&lt;br /&gt;
&lt;br /&gt;
With the Sun Position button enabled in the Sky Viewport Tools you can snap the selected Sunlight directly to where you click in the Viewport.  The name of the currently selected Sunlight appears below the Sun Position button. &lt;br /&gt;
&lt;br /&gt;
As a Sunlight nears the edge of the dial its colour in the UI changes to reflect its proximity to the horizon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_05_SkyViewportToolsSunPos.jpg|none|800px|The selected sunlight is shown on the Sun Position button.]]&lt;br /&gt;
|} &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Sun Direction dial also includes a camera frame and viewport rectangle, represented as lighter-shaded areas with black lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' List of Sunlights'''&lt;br /&gt;
&lt;br /&gt;
*'''Light Sources +:''' Clicking the &amp;quot;'''+'''&amp;quot; button adds a new Sunlight to the project.  The name of the newly added Sunlight is shown in a list below the button and a visual representation of the Sunlight appears in the Sun Direction disk. To remove a Sunlight from the list and project, select it and press the '''Delete''' key.  If only one Sunlight exists in a project it can not be deleted.  You can undo the creation and deletion of Sunlights via the Edit menu or by using '''Ctrl+Z''' on the keyboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sun Direction Dial'''&lt;br /&gt;
&lt;br /&gt;
*'''Orient to Camera/World:''' The Sun Direction dial can be displayed in camera or world orientation.  When the '''Camera''' button is enabled, the camera’s field of view in the Sunlight dial remains facing forward and any Sunlights in the project rotate around the dial as the Camera is rotated or the Panorama Roller is dragged to the left or right.  When the '''World''' button is enabled and the camera is rotated, its field of view in the Sun Direction dial rotates around the dial while any Sunlights remain fixed in their position.&lt;br /&gt;
&lt;br /&gt;
*'''Look Up/Down:''' These buttons indicate the way in which you’re viewing the Sun Direction dial; from above it or below it.  If you imagine the dial to be the sky '''Up''' indicates that you’re below the sky looking up at it, while '''Down''' indicates you’re above the sky looking down at it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Sunlight Parameters'''&lt;br /&gt;
&lt;br /&gt;
*'''Heading:''' This parameter sets the heading of the sun in degrees.  You can think of 0° as North, +90° as East, +-180° as South, and -90° as West.  The parameter includes a slider with a range of -180 to +180 degrees, and a roller which can be dragged to the left or right to adjust its value, or to directly enter a numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Elevation:''' This parameter sets the elevation of the sun in degrees.  You can think of 0° being directly on the horizon, +90° being directly overhead, and -90° being on the underside of the planet.  When negative values are used to simulate a night sky, you can compensate for the darkness by increasing the Exposure value.  The parameter includes a slider with a range of -90 to +90 degrees, and a roller which can be dragged to the left or right to adjust its value, or to directly enter a numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Colour:''' This parameter sets the colour of the selected Sunlight. It consists of one roller for each of the components (red, green, blue) that make up the Sunlight's colour. To change the colour simply drag to the left or right in each roller, or enter a numeric value. Negative values are allowed. The Sun Direction dial will update to reflect the new colour values.&lt;br /&gt;
&lt;br /&gt;
*'''Strength:''' This parameter sets the intensity of the Sunlight.  The default strength value is 5.&lt;br /&gt;
&lt;br /&gt;
*'''Diameter:''' This parameter sets the diameter of the selected Sunlight’s disk.  As the value is changed, the Sun Direction dial will automatically update to show the size of the Sunlight disk. A visible Sunlight disk can be included or excluded from a rendered image by checking the “Save with sun” checkbox under the Renders tab and saving the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Soft shadow:''' When checked the renderer will calculate soft shadows for the selected Sunlight based on the Sunlight's diameter.  This can take longer to render but is more accurate.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sky Viewport Tools==&lt;br /&gt;
[[File:TGSky_20251012_06_SkyViewportToolsSunPos.jpg|none|245px|Sky Viewport Tools.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Sun Position:''' When active, clicking in the main viewport repositions the sun to that location, updating the Sun heading and elevation values.&lt;br /&gt;
&lt;br /&gt;
*'''Exposure:''' When active, clicking and dragging in the main viewport changes the camera’s exposure value, simulating the response to light a real camera might have.  Dragging to the right increases the exposure value and brightens up the image as more light reaches the film.  Dragging to the left decreases the exposure value and darkens the image, much like stopping down the camera lens aperture from f/2 to f/4.  Right-click the exposure button to open a context menu which has the option to reset the exposure value to default.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_07_SkyViewportToolsExposure.jpg|none|450px|Exposure reset.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Camera Zoom:''' When active, clicking and dragging in the main viewport changes the camera’s focal length, which can also be seen in the Camera Focal length parameter.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_08_SkyViewportToolsCamZoom.jpg|none|549px|Right click on the Camera Zoom button to reset the camera zoom. ]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:20_CameraZoomFocalLengths0001.jpg|none|800px|Various camera focal lengths.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cloud Height Diagram==&lt;br /&gt;
The Cloud Height Diagram provides a visual and alternate way of positioning the cloud and haze layers, and camera. Moving an item within the diagram adjusts its altitude.  When one item’s altitude overlaps with another their indicators appear side by side.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:21_CloudHeightDiagram_Default.jpg|none|266px|Default Cloud heights. ]]  || [[File:22_CloudHeightDiagram_Overlap.jpg|none|266px|Overlapping Cloud heights. ]] || [[File:23_CloudHeightDiagram_Staggered.jpg|none|266px|Staggard Cloud heights. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Camera==&lt;br /&gt;
[[File:05_UI_CameraeLens.jpg|none|470px|The Camera.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This parameter controls the height of the virtual camera. Dragging the slider right or left will increase or decrease the camera's altitude. For finer control drag the roller to the right or left, or enter a numeric value. The Cloud Height Diagram will update and show the new altitude of the camera.&lt;br /&gt;
&lt;br /&gt;
*'''Position:'''  This parameter controls the position of the virtual camera in the scene. Each component value (XYZ) may be modified by dragging to the right or left in the rollers, or by entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Rotation phb:'''  This parameter controls the rotation of the virtual camera in the scene. Each component value (pitch, heading, bank) may be modified by dragging to the right or left in the rollers, or by entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Focal length:''' This parameter controls the focal length of the virtual camera lens and is the equivalent to the focal length of a real camera lens. The parameter includes a slider with a range of 0 mm to 300 mm, and a roller which can be dragged tothe left or right to adjust its value, or to directly enter a numeric value.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Panorama and Panorama Roller==&lt;br /&gt;
&lt;br /&gt;
The Panorama displays a “lat-long” (spherical) image or a cube map overview of the entire environment.  The overlaid text provides information about the type and resolution of the environment map, whose resolution depends on the Terragen Sky mode selected. Dragging the grey roller below the Panorama rotates the environment from -180° to +180°.  Clicking with the RMB resets the rotation value to 0. .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:23_Panoramic_LatLong.jpg|none|800px|The Panorama view displaying LatLong information. ]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:24_Panoramic_CubeMap.jpg|none|800px|The Panorama view displaying CubeMap information.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Viewport==&lt;br /&gt;
The viewport is the main display of the UI.  The Alt key + mouse buttons and dragging in the viewport will change the view.  These are similar to the default bindings in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
Translate forwards/backwards (dolly): Alt+MMB, or Alt+Shift+LMB&lt;br /&gt;
Translate up/down/left right: Alt+RMB, or Alt+Ctrl+LMB&lt;br /&gt;
&lt;br /&gt;
Pressing the Esc key resets the camera’s position and rotation to the values they had when the project was loaded, or created in the case of using New Project.&lt;br /&gt;
&lt;br /&gt;
Below the viewport is the status bar, which displays helpful information, such as the name of the UI component that the mouse is currently pointed at.&lt;br /&gt;
&lt;br /&gt;
[[File:26_MainViewport.JPG|none|800px|The Viewport.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Filmic Tonemap:''' When checked, a tone map is applied to the viewport in much the same way as the Renderers Tonemap settings in Terragen 4.  When unchecked, no tone mapping is applied and you may see clipping in the bright areas of the sky.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:27_ToneMapOn.JPG|none|400px|Tonemap checked.]] || [[File:28_ToneMapOff.JPG|none|400px|Tonemap unchecked.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Enviro map/sphere:''' Inset into the main viewport is an environment shader object.  &amp;lt;!---When the Panorama displays a “lat-long” spherical image this will appear as a flat 2d plane with the environment map applied to it.  When the Panorama displays a cube-map, the object changes to a reflective sphere, which can be useful when rotating the environment map in order to see what’s behind the camera position. --&amp;gt;  This chrome sphere can be useful when rotating the environment map in order to see what's behind the camera position.  You can drag the object around the viewport by clicking on it with the LMB, or resize it using the MMB.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;!--33_EnviroPlane.jpg --&amp;gt;&lt;br /&gt;
[[File:32_EnviroBall.JPG|none|627px|The chrome sphere.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preview Modes (Camera, Camera+, 360+, 360)==&lt;br /&gt;
[[File:52_PreviewMode.jpg|none|602px|Preview modes.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Camera-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''Camera:'''  Use this mode when you want to preview the area you’re looking at as quickly as possible.  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality.   &lt;br /&gt;
&lt;br /&gt;
*'''Camera+:'''  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality, then the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''360/Lighting-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''360 +:'''  Use this mode when you want an approximate 360° render as quickly as possible (e.g. for lighting) but you also want to refine the area within the camera’s view.  In this mode, the entire 360° view is first updated to a minimum resolution, then whatever you’re looking at is refined to the internal target resolution and quality, and finally the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
*'''360:'''  Use this mode when you want a 360° view as quickly as possible (e.g. for lighting).  In this mode, the entire 360° view is updated at a uniform resolution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Parameters==&lt;br /&gt;
The Sky parameters consist of three cloud layers, a Haze layer and an Atmosphere control.  &lt;br /&gt;
&lt;br /&gt;
'''Cloud Layers'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[File:30_SkyParameters_CloudLayers.JPG|602px|Cloud Layer parameters.]] --&amp;gt;&lt;br /&gt;
[[File:48_CloudLayer.jpg|597px|Cloud Layer parameters.]]&lt;br /&gt;
&lt;br /&gt;
*'''Layer # (checkbox):'''  When checked, the layer is active and will appear in the viewport and in renders.&lt;br /&gt;
&lt;br /&gt;
*'''Presets menu (down chevron):''' When clicked, a list of cloud presets is displayed, allowing you to choose the type of clouds to assign to this cloud layer.  See below.&lt;br /&gt;
&lt;br /&gt;
*'''Advanced Settings (right chevron):'''  When clicked, the advanced settings for the selected cloud, haze or atmosphere is displayed.  This feature is not currently implemented.&lt;br /&gt;
&lt;br /&gt;
*'''Seed:''' This value generates the random aspects of the cloud layer.&lt;br /&gt;
&lt;br /&gt;
*'''Coverage:'''  This setting controls the amount of clouds within the cloud layer. Low values reduce the amount of individual clouds and increase the amount of empty space between them. Increasing the value fills up the area with more individual clouds.&lt;br /&gt;
&lt;br /&gt;
*'''Density:'''  This setting controls the transparency or opaqueness of the clouds within the cloud layer. Low values make the clouds look thin and let more light pass through them. Higher values make the clouds look thicker and denser, as well as darker because less light passes through them. &lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This setting controls the height range of the cloud layer from top to bottom.  This corresponds to “Cloud depth” in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This setting controls the height of the cloud in metres above sea level.  For some cloud types this corresponds to the base of the cloud and for others it corresponds to the mid-point between the base and the top.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Presets menu'''&lt;br /&gt;
&lt;br /&gt;
[[File:61_SkyPresets.jpg|none|464px|Presets menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Through the presets menu for Cloud and Haze layers, you have access to the cloud type presets available in Terragen, including Cloud Layer V2, Cloud Layer V3, and Easy Clouds.&lt;br /&gt;
&lt;br /&gt;
*'''High-level:''' These cloud layers default to an altitude of 8,000 metres or more, and are based on Terragen’s Cloud Layer V2 or Easy Clouds presets. When an  Easy Cloud preset is selected, you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types under the cloud layer’s advanced settings.&lt;br /&gt;
&lt;br /&gt;
*'''Mid-level:'''  These cloud layers default to an altitude around 4,000 metres, and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Low-level:'''  These cloud layers default to an altitude around 1,500 - 2,000 metres and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Haze:'''  High-level, Mid-level, and Low-level haze layers are available based on Terragen’s Cloud Layer V2 without a Density shader, tapering or falloff.  It provides a volumetric layer in which you can control the density, thickness and altitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Haze Layer'''&lt;br /&gt;
&lt;br /&gt;
[[File:07_UI_SkyParams_Haze.JPG|none|567px|The Haze layer.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Haze is the appearance of moisture and particulates in the atmosphere. It can be used to simulate a broad range of phenomena such as fog, mist, or dry haze caused by dust and smoke.  The Haze layer is a layer of uniform haze with a prescribed height range, whereas the Atmosphere is a layer of haze with exponential fall-off with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
*'''Haze layer:''' When checked, the haze layer is visible.&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' This is the opacity of the haze layer.&lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This is the height range of the Haze layer from top to bottom, measured in metres.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This is the altitude, specified in metres, at which the bottom of the Haze layer begins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atmosphere'''&lt;br /&gt;
&lt;br /&gt;
[[File:08_UI_SkyParams_Atmo.JPG|none|567px|Atmosphere.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' The exponential fall-off of haze in the atmosphere with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Other buttons'''&lt;br /&gt;
&lt;br /&gt;
[[File:31_SavePreset.JPG|none|602pox|Save presets button.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Save Preset button:''' Clicking this button saves the current settings as a preset, which becomes available in the Presets tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presets Tab==&lt;br /&gt;
[[File:62_PresetsTab.jpg|none|599px|The Presets Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The presets tab is a convenient way to access your favorite Terragen Sky settings.  &lt;br /&gt;
&lt;br /&gt;
To load a preset, simply click on the thumbnail image in the Presets tab, or right click it and select “Load Preset”.&lt;br /&gt;
&lt;br /&gt;
To save a preset, simply press the Save Preset button located at the bottom of the Sky Parameters, and the new preset will be added to the Preset tab. &lt;br /&gt;
&lt;br /&gt;
User presets and presets from third party sources show up under the User Presets or Unregistered categories.&lt;br /&gt;
&lt;br /&gt;
The Planetside Software Presets category displays the presets that ship with Terragen Sky.   You can download them by clicking on the Download button as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[File:63_PresetsTabDownloadBrowser.jpg|none|559px|Presets download button.]]&lt;br /&gt;
&lt;br /&gt;
You can also navigate to their installation directory by clicking on the ellipsis button.&lt;br /&gt;
&lt;br /&gt;
[[File:64_PresetsTabOpenFile.jpg|none|599px|Installation directory button]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Render Tab ==&lt;br /&gt;
[[File:TGSky_20251009_03_Render_AABloom.jpg|none|601px|The Render Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The render tab provides controls for the rendered output, including size and quality settings.&lt;br /&gt;
&lt;br /&gt;
*'''Current View &amp;amp; Spherical:''' These settings provide a dropdown menu of standard image resolutions to choose from.  The width and height of the rendered image will be set to the chosen resolution.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:66_RenderTabResolutions.jpg|none|599px|Composit image of Current and Spherical view resolutions and aspect ratios.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Quality:''' The quality of the rendered image is governed by the four Q buttons.   The higher the Q button value the better the quality of the rendered image, at the expense of a longer render time.&lt;br /&gt;
&lt;br /&gt;
*'''Anti-aliasing bloom:''' When checked this produces a nicer edge on the sun discs in the rendered image. Note that it also increases render times.&lt;br /&gt;
&lt;br /&gt;
*'''Render Image button:''' Click this button to start the render process. When the process is complete, a notification is displayed below the button indicating how long the render took.&lt;br /&gt;
&lt;br /&gt;
*'''Save button:''' Click this button to save the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Save with sun:''' When checked, the sun disc is saved in the rendered image.  Note that to turn the sun disc on or off, the image does not need to be re-rendered.&lt;br /&gt;
&lt;br /&gt;
*'''Auto-save when finished:''' When checked, the image will automatically be saved upon render.&lt;br /&gt;
&lt;br /&gt;
== Export Tab ==&lt;br /&gt;
&lt;br /&gt;
[[File:67_ExportTab-JSON.jpg|none|599px|The Export Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The items on the Export tab allow you to save the project as a Terragen clip file or scene file for further use in Terragen 4.  Additionally, with Live Send 360, you can immediately save the environment map to a file for access by third party software.&lt;br /&gt;
&lt;br /&gt;
'''Export to Terragen 4'''&lt;br /&gt;
*'''Export Clip File:''' Saves the Sky Parameter settings as a clip file which can then be imported into Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
*'''Export Scene file:''' Saves the project, including Sky Parameters, sun and camera, as a scene file which can be opened in Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
'''Live Send 360:''' This feature allows you to export a 2k spherical image to a specific location which is based on the current render state of the viewport, eliminating the need to wait for a final rendered image.  &lt;br /&gt;
&lt;br /&gt;
*'''Set Output File:''' Clicking this button brings up a standard file requestor in which to set the filename and path for the Live Send 360 output.&lt;br /&gt;
&lt;br /&gt;
*'''Send Now:'''  Clicking this button immediately updates the image defined in Set Output File parameter.&lt;br /&gt;
&lt;br /&gt;
*'''Send Image after loading a preset:'''  When checked, the image is immediately updated as soon as a preset is loaded.  When unchecked, you need to click the Send Now button.&lt;br /&gt;
&lt;br /&gt;
*'''Send image every “n” seconds:''' When checked, the image is saved to the output file every “n” seconds that you specify.&lt;br /&gt;
&lt;br /&gt;
*'''Send JSON when Sun moves or Env rotates:''' When checked, a JSON file located in the same folder as the output file, is updated with project information such as the Sun’s heading and elevation.  Third party applications supporting dynamic updating, like Unreal Engine, can access the information and their project assets can be synced with Terragen Sky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Paint Workspace==&lt;br /&gt;
The tools and features under the Sky Paint workspace give you precise control of the shapes and positions of your clouds.&lt;br /&gt;
&lt;br /&gt;
[[File:83_AllSkyPaintTools.jpg|none|800 px |The tools and features of the Sky Paint workspace.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicking on the Sky Paint workspace tab brings up the viewport display menu.&lt;br /&gt;
&lt;br /&gt;
[[File: 74_SkyPaintViewportMenu.jpg | none|470 px|Viewport display menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can set the viewport display to side-by-side, top-and-bottom, or to display the painting viewport only.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_15_SkyPaint_Split-LR.jpg|none|800px|Viewport split set to right and left.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_15_SkyPaint_Split-TB.jpg|none|800px|Viewport split set to top and bottom.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: TGSky_20251012_17_SkyPaint_Split-PaintOnly.jpg|none|800px|Viewport set to Paint only. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canvases:''' &amp;lt;br&amp;gt;&lt;br /&gt;
A canvas is a 360-degree paintable volume which can be painted from multiple viewports. Each project contains multiple canvases. &lt;br /&gt;
[[File: 77_Canvas.jpg |none|900 px|When painting in a cloud or haze layer, the paint indicator turns red.]]&lt;br /&gt;
By default, the &amp;quot;Paint All&amp;quot; canvas is selected.  Paint tools used in this canvas affect all cloud layers and haze layers in the project. This lets you start painting and see immediate results. &lt;br /&gt;
&lt;br /&gt;
There are extra canvases for each cloud layer and haze layer, such as &amp;quot;Cloud 1&amp;quot;, &amp;quot;Cloud 2&amp;quot;, and &amp;quot;Haze Layer&amp;quot;.  When painting in these canvases, paint tools are limited to that specific layer.&lt;br /&gt;
&lt;br /&gt;
When a canvas is selected, the “P” paint indicator and Sky parameters for the affected layer will be highlighted in red.&lt;br /&gt;
&lt;br /&gt;
[[File: 78_Canvas_SkyParams.jpg| none|600 px|When painting in a cloud or haze layer, the layer’s Sky parameters are highlighted in red.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sky Paint Tools:''' &amp;lt;br&amp;gt;&lt;br /&gt;
The Sky Paint Tools allow you to add, remove and modify the cloud and haze layers in your project.  Painting is completely non-destructive and you can edit your strokes at any time.  Everything is undoable.&lt;br /&gt;
[[File: 82_SkyPaintToolsAndSettings.jpg |none|700 px|Paint strokes are displayed in green when using the Cloud Add tool.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Cloud Add''' and '''Cloud Remove''': Paint strokes created with the Cloud Add tool appear in green, while paint strokes created with the Cloud Remove tool are coloured purple.  Both tools allow you to set the brush size and opacity.  You can use the left “[“ and right “]” bracket keys to change the current tool’s brush size.  Paint strokes are grouped together into a layer when their size and opacity are the same.  A new layer is created whenever the size or opacity is changed and a new paint stroke is made.  You can edit the size and opacity of a paint stroke layer by simply hitting the Space Bar to enter into the Edit mode. Within the Edit mode, you can move paint strokes from one canvas to another.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_18_SkyPaint_CloudAddRemove.jpg|none|800px|Brush strokes painted with the Cloud Add tool appear green.  Strokes painted with the Cloud Remove tool are coloured purple.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Erase Points''': The Erase Points tool works like an eraser, allowing you to remove individual points of the curve that makes up the brush stroke.  With the tool selected, simply left click and drag over the points you want to remove from the curve.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 84_EraseTool.jpg | none|800 px |The Erase tool is used to remove points from the brush stroke.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Move''': The Move tool allows you to move entire paint stroke layers. Hovering the cursor over the paint strokes will highlight the current paint stroke layer to move.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: TGSky_20251012_19_SkyPaint_Move_Art-Rat.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Add curves have been moved.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_20_SkyPaint_Move-Remove_Art-Tar.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Remove curves have been moved.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Stir''': The Stir tool allows you to distort the shape of the paint stroke curve.  When selected, the tool displays two dotted circles indicating the extent of the distortion effect upon points that fall within.  Points of the curve within the inner circle are more intensely affected by the strength of the distortion, which gradually falls off by the outer circle.  The “Tool Size” parameter allows you to increase or decrease the area affected by distortion.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: TGSky_20251012_21_SkyPaint_Stir_Art.jpg |none|800 px |The Stir tool displaces the points of the brush stroke curve.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit Mode''': &amp;lt;br&amp;gt;&lt;br /&gt;
Hitting the Space Bar will bring up the Edit Mode.  Any canvas having contained a paint stroke will be listed in the Canvas column.  The Layers column lists the paint stroke layers for that canvas.  You can select an individual layer or use the keyboard shortcuts [K] and [L] to select the previous or next layer.  Pressing the [Delete] key will delete the paint stroke layer.  If you delete a layer accidentally, you can undo the deletion via the main menu Edit dialog, or pressing Ctl-Z.&lt;br /&gt;
With a layer selected you can modify the size of the brush stroke and its opacity.&lt;br /&gt;
[[File: 79_EditMode.jpg | none|800 px|Edit mode]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Painting Viewpoints''': &amp;lt;br&amp;gt;&lt;br /&gt;
You can paint from multiple viewpoints. Up to 10 different camera positions can be stored as a viewpoint, and each viewpoint has its own set of cube maps. These are projected into 3D space and intersect with one another to provide a merged solution to where clouds should be added and removed in 3D space.&lt;br /&gt;
Painting Viewpoints can be selected with the buttons at the top of the Viewport. You can hover over them to preview viewpoints temporarily without switching to them.&lt;br /&gt;
[[File:TGSky_20251012_22_SkyPaint_Viewpoint1_Below.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 1.]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_23_SkyPaint_Viewpoint2_Above.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 2.]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16964</id>
		<title>Terragen Sky Early Access</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16964"/>
		<updated>2025-10-15T16:40:35Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: /* Lighting Panel */ Update descriptions in regards to rollers and sliders.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
This is the online documentation for the Early Release version of Terragen Sky.  &lt;br /&gt;
&lt;br /&gt;
As features are being added or updated on a daily basis, please consider this documentation to be a work-in-progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Menu Bar==&lt;br /&gt;
'''File menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_01_MainMenuFile.jpg|none|800px|File menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''New:''' Starts a new Terragen Sky project with the default values.&lt;br /&gt;
*'''Open:''' Opens a previously saved Terragen Sky project.&lt;br /&gt;
*'''Save As:''' Saves the current project as a Terragen Sky project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_02_MainMenuEdit.jpg|none|800px|Edit menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Undo:''' Undo the last operation.&lt;br /&gt;
*'''Redo:''' Redo the last operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dialog menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_03_MainMenuDialog.jpg|none|800px|Dialog menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Reference image:''' Opens the Reference Images and Projections window.  This allows you to load an image from disk and project it into the project for reference.  Image visibility can be fully opaque, transparent or completely off. The image can be positioned in the project by setting the Altitude, Position, Rotation and Focal length parameters.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:94_GUI_ReferenceImage.jpg|none|900px|Reference Image and Projections window.]]&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_09_ReferenceImageTrans.jpg|none|800px|Reference Image set to transparent.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageOpaque.jpg|none|800px|Reference Image set to opaque.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageSkyPaint.jpg|none|800px|Adding and removing clouds to match the reference image using Sky Paint.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
*'''Strokes:''' When the Sky Paint workspace is active, this option opens the Edit Mode window.  In Edit Mode the size and opacity of brush strokes can be modified, and they can be assigned to different canvases.  For more information, see the Sky Paint section below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UI menu button'''&lt;br /&gt;
[[File:TGSky_20251012_04_MainMenuUI.jpg|none|800px|UI menu. ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
The presets under this menu scale the user interface components accordingly, so that you can adjust the layout to best fit your display device or visual preference.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#0000ff&amp;quot;&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_11_UIMenu90percent.jpg|none|800px|UI at 90% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_12_UIMenu200percent.jpg|none|800px|UI at 200% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Help menu button'''&lt;br /&gt;
[[File:TGSky_20251012_05_MainMenuHelp.jpg|none|800px|Help menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Online Documentation:''' Opens the URL for the Terragen Sky documentation in your browser.&lt;br /&gt;
&lt;br /&gt;
* '''SysInfo button''': Displays the system information including OpenGL Renderer and OpenGL Version.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_13_HelpMenuSys.jpg|none|800px|SysInfo display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''License button''': Displays the license information.  One year of maintenance is included with the purchase of a perpetual license of Terragen.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_14_HelpMenuLicense.jpg|none|800px|License Info display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resizable Docks==&lt;br /&gt;
The left and right docks of the UI are resizable, with optional symmetry between the left and right docks.  Dock symmetry can be toggled by holding '''Shift''' while dragging a dock resizer bar.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_On.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry enabled.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_Off.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry disabled.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lighting Panel==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_01_SunDirection.png|none|468px|Terragen 2025-10-09 default Lighting Panel.]] || [[File:TGSky_20251009_05_SunDirection_MulitSuns.PNG|none|468px|Terragen 2025-10-09 Lighting Panel with multiple Sunlights.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The lighting panel provides complete control over the Sunlights in your project by means of the Light Sources list, a Sun Direction dial, and parameters for each Sunlight.&lt;br /&gt;
&lt;br /&gt;
You can easily add Sunlights to the project by clicking the “+” button below the Light Sources label.  To remove a Sunlight from the list, select it and press the Delete key.&lt;br /&gt;
&lt;br /&gt;
Selecting a Sunlight in the Light Sources list allows you to edit it and any changes are reflected immediately in the UI.&lt;br /&gt;
&lt;br /&gt;
To change the position or elevation of a Sunlight, select it from the list then click and drag anywhere in the Sun Direction disk.  For finer control you can adjust these parameters by dragging their sliders to the left or right.  For very precise control use their rollers and drag left or right, or simply type in the numeric value you desire.&lt;br /&gt;
&lt;br /&gt;
With the Sun Position button enabled in the Sky Viewport Tools you can snap the selected Sunlight directly to where you click in the Viewport.  The name of the currently selected Sunlight appears below the Sun Position button. &lt;br /&gt;
&lt;br /&gt;
As a Sunlight nears the edge of the dial its colour in the UI changes to reflect its proximity to the horizon.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_05_SkyViewportToolsSunPos.jpg|none|800px|The selected sunlight is shown on the Sun Position button.]]&lt;br /&gt;
|} &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Sun Direction dial also includes a camera frame and viewport rectangle, represented as lighter-shaded areas with black lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' List of Sunlights'''&lt;br /&gt;
&lt;br /&gt;
*'''Light Sources +:''' Clicking the &amp;quot;'''+'''&amp;quot; button adds a new Sunlight to the project.  The name of the newly added Sunlight is shown in a list below the button and a visual representation of the Sunlight appears in the Sun Direction disk. To remove a Sunlight from the list and project, select it and press the '''Delete''' key.  If only one Sunlight exists in a project it can not be deleted.  You can undo the creation and deletion of Sunlights via the Edit menu or by using '''Ctrl+Z''' on the keyboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sun Direction Dial'''&lt;br /&gt;
&lt;br /&gt;
*'''Orient to Camera/World:''' The Sun Direction dial can be displayed in camera or world orientation.  When the '''Camera''' button is enabled, the camera’s field of view in the Sunlight dial remains facing forward and any Sunlights in the project rotate around the dial as the Camera is rotated or the Panorama Roller is dragged to the left or right.  When the '''World''' button is enabled and the camera is rotated, its field of view in the Sun Direction dial rotates around the dial while any Sunlights remain fixed in their position.&lt;br /&gt;
&lt;br /&gt;
*'''Look Up/Down:''' These buttons indicate the way in which you’re viewing the Sun Direction dial; from above it or below it.  If you imagine the dial to be the sky '''Up''' indicates that you’re below the sky looking up at it, while '''Down''' indicates you’re above the sky looking down at it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Sunlight Parameters'''&lt;br /&gt;
&lt;br /&gt;
*'''Heading:''' This parameter sets the heading of the sun in degrees.  You can think of 0° as North, +90° as East, +-180° as South, and -90° as West.  The parameter includes a slider with a range of -180 to +180 degrees, and a roller which can be dragged to the left or right to adjust its value, or to directly enter a numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Elevation:''' This parameter sets the elevation of the sun in degrees.  You can think of 0° being directly on the horizon, +90° being directly overhead, and -90° being on the underside of the planet.  When negative values are used to simulate a night sky, you can compensate for the darkness by increasing the Exposure value.  The parameter includes a slider with a range of -90 to +90 degrees, and a roller which can be dragged to the left or right to adjust its value, or to directly enter a numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Colour:''' This parameter sets the colour of the selected Sunlight. It consists of one roller for each of the components (red, green, blue) that make up the Sunlight's colour. To change the colour simply drag to the left or right in each roller, or enter a numeric value. Negative values are allowed. The Sun Direction dial will update to reflect the new colour values.&lt;br /&gt;
&lt;br /&gt;
*'''Strength:''' This parameter sets the intensity of the Sunlight.  The default strength value is 5.&lt;br /&gt;
&lt;br /&gt;
*'''Diameter:''' This parameter sets the diameter of the selected Sunlight’s disk.  As the value is changed, the Sun Direction dial will automatically update to show the size of the Sunlight disk. A visible Sunlight disk can be included or excluded from a rendered image by checking the “Save with sun” checkbox under the Renders tab and saving the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Soft shadow:''' When checked the renderer will calculate soft shadows for the selected Sunlight based on the Sunlight's diameter.  This can take longer to render but is more accurate.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sky Viewport Tools==&lt;br /&gt;
[[File:TGSky_20251012_06_SkyViewportToolsSunPos.jpg|none|245px|Sky Viewport Tools.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Sun Position:''' When active, clicking in the main viewport repositions the sun to that location, updating the Sun heading and elevation values.&lt;br /&gt;
&lt;br /&gt;
*'''Exposure:''' When active, clicking and dragging in the main viewport changes the camera’s exposure value, simulating the response to light a real camera might have.  Dragging to the right increases the exposure value and brightens up the image as more light reaches the film.  Dragging to the left decreases the exposure value and darkens the image, much like stopping down the camera lens aperture from f/2 to f/4.  Right-click the exposure button to open a context menu which has the option to reset the exposure value to default.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_07_SkyViewportToolsExposure.jpg|none|450px|Exposure reset.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Camera Zoom:''' When active, clicking and dragging in the main viewport changes the camera’s focal length, which can also be seen in the Camera Focal length parameter.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_08_SkyViewportToolsCamZoom.jpg|none|549px|Right click on the Camera Zoom button to reset the camera zoom. ]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:20_CameraZoomFocalLengths0001.jpg|none|800px|Various camera focal lengths.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cloud Height Diagram==&lt;br /&gt;
The Cloud Height Diagram provides a visual and alternate way of positioning the cloud and haze layers, and camera. Moving an item within the diagram adjusts its altitude.  When one item’s altitude overlaps with another their indicators appear side by side.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:21_CloudHeightDiagram_Default.jpg|none|266px|Default Cloud heights. ]]  || [[File:22_CloudHeightDiagram_Overlap.jpg|none|266px|Overlapping Cloud heights. ]] || [[File:23_CloudHeightDiagram_Staggered.jpg|none|266px|Staggard Cloud heights. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Camera==&lt;br /&gt;
[[File:05_UI_CameraeLens.jpg|none|470px|The Camera.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This parameter controls the height of the virtual camera. Dragging the slider to the right increases the altitude of the camera and updates the preview window and Cloud Height Diagram, while dragging to the left decreases the camera’s altitude.&lt;br /&gt;
&lt;br /&gt;
*'''Position:'''  This parameter controls the position of the virtual camera in the scene.  XYZ position values may be modified by dragging the sliders to the left or right, or by directly clicking on a value and entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Rotation phb:'''  This parameter controls the rotation of the virtual camera in the scene.  Pitch, heading,  and bank values may be modified by dragging the sliders to the left or right, or by directly clicking on a value and entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Focal length:''' This parameter controls the focal length of the virtual camera lens and is the equivalent to the focal length of a real camera lens.  The parameter includes a slider ranging from 0 mm to 300 mm, and a numerical input field in which you can enter any value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panorama and Panorama Roller==&lt;br /&gt;
&lt;br /&gt;
The Panorama displays a “lat-long” (spherical) image or a cube map overview of the entire environment.  The overlaid text provides information about the type and resolution of the environment map, whose resolution depends on the Terragen Sky mode selected. Dragging the grey roller below the Panorama rotates the environment from -180° to +180°.  Clicking with the RMB resets the rotation value to 0. .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:23_Panoramic_LatLong.jpg|none|800px|The Panorama view displaying LatLong information. ]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:24_Panoramic_CubeMap.jpg|none|800px|The Panorama view displaying CubeMap information.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Viewport==&lt;br /&gt;
The viewport is the main display of the UI.  The Alt key + mouse buttons and dragging in the viewport will change the view.  These are similar to the default bindings in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
Translate forwards/backwards (dolly): Alt+MMB, or Alt+Shift+LMB&lt;br /&gt;
Translate up/down/left right: Alt+RMB, or Alt+Ctrl+LMB&lt;br /&gt;
&lt;br /&gt;
Pressing the Esc key resets the camera’s position and rotation to the values they had when the project was loaded, or created in the case of using New Project.&lt;br /&gt;
&lt;br /&gt;
Below the viewport is the status bar, which displays helpful information, such as the name of the UI component that the mouse is currently pointed at.&lt;br /&gt;
&lt;br /&gt;
[[File:26_MainViewport.JPG|none|800px|The Viewport.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Filmic Tonemap:''' When checked, a tone map is applied to the viewport in much the same way as the Renderers Tonemap settings in Terragen 4.  When unchecked, no tone mapping is applied and you may see clipping in the bright areas of the sky.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:27_ToneMapOn.JPG|none|400px|Tonemap checked.]] || [[File:28_ToneMapOff.JPG|none|400px|Tonemap unchecked.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Enviro map/sphere:''' Inset into the main viewport is an environment shader object.  &amp;lt;!---When the Panorama displays a “lat-long” spherical image this will appear as a flat 2d plane with the environment map applied to it.  When the Panorama displays a cube-map, the object changes to a reflective sphere, which can be useful when rotating the environment map in order to see what’s behind the camera position. --&amp;gt;  This chrome sphere can be useful when rotating the environment map in order to see what's behind the camera position.  You can drag the object around the viewport by clicking on it with the LMB, or resize it using the MMB.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;!--33_EnviroPlane.jpg --&amp;gt;&lt;br /&gt;
[[File:32_EnviroBall.JPG|none|627px|The chrome sphere.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preview Modes (Camera, Camera+, 360+, 360)==&lt;br /&gt;
[[File:52_PreviewMode.jpg|none|602px|Preview modes.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Camera-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''Camera:'''  Use this mode when you want to preview the area you’re looking at as quickly as possible.  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality.   &lt;br /&gt;
&lt;br /&gt;
*'''Camera+:'''  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality, then the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''360/Lighting-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''360 +:'''  Use this mode when you want an approximate 360° render as quickly as possible (e.g. for lighting) but you also want to refine the area within the camera’s view.  In this mode, the entire 360° view is first updated to a minimum resolution, then whatever you’re looking at is refined to the internal target resolution and quality, and finally the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
*'''360:'''  Use this mode when you want a 360° view as quickly as possible (e.g. for lighting).  In this mode, the entire 360° view is updated at a uniform resolution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Parameters==&lt;br /&gt;
The Sky parameters consist of three cloud layers, a Haze layer and an Atmosphere control.  &lt;br /&gt;
&lt;br /&gt;
'''Cloud Layers'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[File:30_SkyParameters_CloudLayers.JPG|602px|Cloud Layer parameters.]] --&amp;gt;&lt;br /&gt;
[[File:48_CloudLayer.jpg|597px|Cloud Layer parameters.]]&lt;br /&gt;
&lt;br /&gt;
*'''Layer # (checkbox):'''  When checked, the layer is active and will appear in the viewport and in renders.&lt;br /&gt;
&lt;br /&gt;
*'''Presets menu (down chevron):''' When clicked, a list of cloud presets is displayed, allowing you to choose the type of clouds to assign to this cloud layer.  See below.&lt;br /&gt;
&lt;br /&gt;
*'''Advanced Settings (right chevron):'''  When clicked, the advanced settings for the selected cloud, haze or atmosphere is displayed.  This feature is not currently implemented.&lt;br /&gt;
&lt;br /&gt;
*'''Seed:''' This value generates the random aspects of the cloud layer.&lt;br /&gt;
&lt;br /&gt;
*'''Coverage:'''  This setting controls the amount of clouds within the cloud layer. Low values reduce the amount of individual clouds and increase the amount of empty space between them. Increasing the value fills up the area with more individual clouds.&lt;br /&gt;
&lt;br /&gt;
*'''Density:'''  This setting controls the transparency or opaqueness of the clouds within the cloud layer. Low values make the clouds look thin and let more light pass through them. Higher values make the clouds look thicker and denser, as well as darker because less light passes through them. &lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This setting controls the height range of the cloud layer from top to bottom.  This corresponds to “Cloud depth” in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This setting controls the height of the cloud in metres above sea level.  For some cloud types this corresponds to the base of the cloud and for others it corresponds to the mid-point between the base and the top.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Presets menu'''&lt;br /&gt;
&lt;br /&gt;
[[File:61_SkyPresets.jpg|none|464px|Presets menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Through the presets menu for Cloud and Haze layers, you have access to the cloud type presets available in Terragen, including Cloud Layer V2, Cloud Layer V3, and Easy Clouds.&lt;br /&gt;
&lt;br /&gt;
*'''High-level:''' These cloud layers default to an altitude of 8,000 metres or more, and are based on Terragen’s Cloud Layer V2 or Easy Clouds presets. When an  Easy Cloud preset is selected, you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types under the cloud layer’s advanced settings.&lt;br /&gt;
&lt;br /&gt;
*'''Mid-level:'''  These cloud layers default to an altitude around 4,000 metres, and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Low-level:'''  These cloud layers default to an altitude around 1,500 - 2,000 metres and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Haze:'''  High-level, Mid-level, and Low-level haze layers are available based on Terragen’s Cloud Layer V2 without a Density shader, tapering or falloff.  It provides a volumetric layer in which you can control the density, thickness and altitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Haze Layer'''&lt;br /&gt;
&lt;br /&gt;
[[File:07_UI_SkyParams_Haze.JPG|none|567px|The Haze layer.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Haze is the appearance of moisture and particulates in the atmosphere. It can be used to simulate a broad range of phenomena such as fog, mist, or dry haze caused by dust and smoke.  The Haze layer is a layer of uniform haze with a prescribed height range, whereas the Atmosphere is a layer of haze with exponential fall-off with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
*'''Haze layer:''' When checked, the haze layer is visible.&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' This is the opacity of the haze layer.&lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This is the height range of the Haze layer from top to bottom, measured in metres.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This is the altitude, specified in metres, at which the bottom of the Haze layer begins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atmosphere'''&lt;br /&gt;
&lt;br /&gt;
[[File:08_UI_SkyParams_Atmo.JPG|none|567px|Atmosphere.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' The exponential fall-off of haze in the atmosphere with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Other buttons'''&lt;br /&gt;
&lt;br /&gt;
[[File:31_SavePreset.JPG|none|602pox|Save presets button.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Save Preset button:''' Clicking this button saves the current settings as a preset, which becomes available in the Presets tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presets Tab==&lt;br /&gt;
[[File:62_PresetsTab.jpg|none|599px|The Presets Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The presets tab is a convenient way to access your favorite Terragen Sky settings.  &lt;br /&gt;
&lt;br /&gt;
To load a preset, simply click on the thumbnail image in the Presets tab, or right click it and select “Load Preset”.&lt;br /&gt;
&lt;br /&gt;
To save a preset, simply press the Save Preset button located at the bottom of the Sky Parameters, and the new preset will be added to the Preset tab. &lt;br /&gt;
&lt;br /&gt;
User presets and presets from third party sources show up under the User Presets or Unregistered categories.&lt;br /&gt;
&lt;br /&gt;
The Planetside Software Presets category displays the presets that ship with Terragen Sky.   You can download them by clicking on the Download button as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[File:63_PresetsTabDownloadBrowser.jpg|none|559px|Presets download button.]]&lt;br /&gt;
&lt;br /&gt;
You can also navigate to their installation directory by clicking on the ellipsis button.&lt;br /&gt;
&lt;br /&gt;
[[File:64_PresetsTabOpenFile.jpg|none|599px|Installation directory button]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Render Tab ==&lt;br /&gt;
[[File:TGSky_20251009_03_Render_AABloom.jpg|none|601px|The Render Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The render tab provides controls for the rendered output, including size and quality settings.&lt;br /&gt;
&lt;br /&gt;
*'''Current View &amp;amp; Spherical:''' These settings provide a dropdown menu of standard image resolutions to choose from.  The width and height of the rendered image will be set to the chosen resolution.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:66_RenderTabResolutions.jpg|none|599px|Composit image of Current and Spherical view resolutions and aspect ratios.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Quality:''' The quality of the rendered image is governed by the four Q buttons.   The higher the Q button value the better the quality of the rendered image, at the expense of a longer render time.&lt;br /&gt;
&lt;br /&gt;
*'''Anti-aliasing bloom:''' When checked this produces a nicer edge on the sun discs in the rendered image. Note that it also increases render times.&lt;br /&gt;
&lt;br /&gt;
*'''Render Image button:''' Click this button to start the render process. When the process is complete, a notification is displayed below the button indicating how long the render took.&lt;br /&gt;
&lt;br /&gt;
*'''Save button:''' Click this button to save the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Save with sun:''' When checked, the sun disc is saved in the rendered image.  Note that to turn the sun disc on or off, the image does not need to be re-rendered.&lt;br /&gt;
&lt;br /&gt;
*'''Auto-save when finished:''' When checked, the image will automatically be saved upon render.&lt;br /&gt;
&lt;br /&gt;
== Export Tab ==&lt;br /&gt;
&lt;br /&gt;
[[File:67_ExportTab-JSON.jpg|none|599px|The Export Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The items on the Export tab allow you to save the project as a Terragen clip file or scene file for further use in Terragen 4.  Additionally, with Live Send 360, you can immediately save the environment map to a file for access by third party software.&lt;br /&gt;
&lt;br /&gt;
'''Export to Terragen 4'''&lt;br /&gt;
*'''Export Clip File:''' Saves the Sky Parameter settings as a clip file which can then be imported into Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
*'''Export Scene file:''' Saves the project, including Sky Parameters, sun and camera, as a scene file which can be opened in Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
'''Live Send 360:''' This feature allows you to export a 2k spherical image to a specific location which is based on the current render state of the viewport, eliminating the need to wait for a final rendered image.  &lt;br /&gt;
&lt;br /&gt;
*'''Set Output File:''' Clicking this button brings up a standard file requestor in which to set the filename and path for the Live Send 360 output.&lt;br /&gt;
&lt;br /&gt;
*'''Send Now:'''  Clicking this button immediately updates the image defined in Set Output File parameter.&lt;br /&gt;
&lt;br /&gt;
*'''Send Image after loading a preset:'''  When checked, the image is immediately updated as soon as a preset is loaded.  When unchecked, you need to click the Send Now button.&lt;br /&gt;
&lt;br /&gt;
*'''Send image every “n” seconds:''' When checked, the image is saved to the output file every “n” seconds that you specify.&lt;br /&gt;
&lt;br /&gt;
*'''Send JSON when Sun moves or Env rotates:''' When checked, a JSON file located in the same folder as the output file, is updated with project information such as the Sun’s heading and elevation.  Third party applications supporting dynamic updating, like Unreal Engine, can access the information and their project assets can be synced with Terragen Sky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Paint Workspace==&lt;br /&gt;
The tools and features under the Sky Paint workspace give you precise control of the shapes and positions of your clouds.&lt;br /&gt;
&lt;br /&gt;
[[File:83_AllSkyPaintTools.jpg|none|800 px |The tools and features of the Sky Paint workspace.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicking on the Sky Paint workspace tab brings up the viewport display menu.&lt;br /&gt;
&lt;br /&gt;
[[File: 74_SkyPaintViewportMenu.jpg | none|470 px|Viewport display menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can set the viewport display to side-by-side, top-and-bottom, or to display the painting viewport only.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_15_SkyPaint_Split-LR.jpg|none|800px|Viewport split set to right and left.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_15_SkyPaint_Split-TB.jpg|none|800px|Viewport split set to top and bottom.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: TGSky_20251012_17_SkyPaint_Split-PaintOnly.jpg|none|800px|Viewport set to Paint only. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canvases:''' &amp;lt;br&amp;gt;&lt;br /&gt;
A canvas is a 360-degree paintable volume which can be painted from multiple viewports. Each project contains multiple canvases. &lt;br /&gt;
[[File: 77_Canvas.jpg |none|900 px|When painting in a cloud or haze layer, the paint indicator turns red.]]&lt;br /&gt;
By default, the &amp;quot;Paint All&amp;quot; canvas is selected.  Paint tools used in this canvas affect all cloud layers and haze layers in the project. This lets you start painting and see immediate results. &lt;br /&gt;
&lt;br /&gt;
There are extra canvases for each cloud layer and haze layer, such as &amp;quot;Cloud 1&amp;quot;, &amp;quot;Cloud 2&amp;quot;, and &amp;quot;Haze Layer&amp;quot;.  When painting in these canvases, paint tools are limited to that specific layer.&lt;br /&gt;
&lt;br /&gt;
When a canvas is selected, the “P” paint indicator and Sky parameters for the affected layer will be highlighted in red.&lt;br /&gt;
&lt;br /&gt;
[[File: 78_Canvas_SkyParams.jpg| none|600 px|When painting in a cloud or haze layer, the layer’s Sky parameters are highlighted in red.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sky Paint Tools:''' &amp;lt;br&amp;gt;&lt;br /&gt;
The Sky Paint Tools allow you to add, remove and modify the cloud and haze layers in your project.  Painting is completely non-destructive and you can edit your strokes at any time.  Everything is undoable.&lt;br /&gt;
[[File: 82_SkyPaintToolsAndSettings.jpg |none|700 px|Paint strokes are displayed in green when using the Cloud Add tool.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Cloud Add''' and '''Cloud Remove''': Paint strokes created with the Cloud Add tool appear in green, while paint strokes created with the Cloud Remove tool are coloured purple.  Both tools allow you to set the brush size and opacity.  You can use the left “[“ and right “]” bracket keys to change the current tool’s brush size.  Paint strokes are grouped together into a layer when their size and opacity are the same.  A new layer is created whenever the size or opacity is changed and a new paint stroke is made.  You can edit the size and opacity of a paint stroke layer by simply hitting the Space Bar to enter into the Edit mode. Within the Edit mode, you can move paint strokes from one canvas to another.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_18_SkyPaint_CloudAddRemove.jpg|none|800px|Brush strokes painted with the Cloud Add tool appear green.  Strokes painted with the Cloud Remove tool are coloured purple.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Erase Points''': The Erase Points tool works like an eraser, allowing you to remove individual points of the curve that makes up the brush stroke.  With the tool selected, simply left click and drag over the points you want to remove from the curve.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 84_EraseTool.jpg | none|800 px |The Erase tool is used to remove points from the brush stroke.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Move''': The Move tool allows you to move entire paint stroke layers. Hovering the cursor over the paint strokes will highlight the current paint stroke layer to move.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: TGSky_20251012_19_SkyPaint_Move_Art-Rat.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Add curves have been moved.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_20_SkyPaint_Move-Remove_Art-Tar.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Remove curves have been moved.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Stir''': The Stir tool allows you to distort the shape of the paint stroke curve.  When selected, the tool displays two dotted circles indicating the extent of the distortion effect upon points that fall within.  Points of the curve within the inner circle are more intensely affected by the strength of the distortion, which gradually falls off by the outer circle.  The “Tool Size” parameter allows you to increase or decrease the area affected by distortion.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: TGSky_20251012_21_SkyPaint_Stir_Art.jpg |none|800 px |The Stir tool displaces the points of the brush stroke curve.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit Mode''': &amp;lt;br&amp;gt;&lt;br /&gt;
Hitting the Space Bar will bring up the Edit Mode.  Any canvas having contained a paint stroke will be listed in the Canvas column.  The Layers column lists the paint stroke layers for that canvas.  You can select an individual layer or use the keyboard shortcuts [K] and [L] to select the previous or next layer.  Pressing the [Delete] key will delete the paint stroke layer.  If you delete a layer accidentally, you can undo the deletion via the main menu Edit dialog, or pressing Ctl-Z.&lt;br /&gt;
With a layer selected you can modify the size of the brush stroke and its opacity.&lt;br /&gt;
[[File: 79_EditMode.jpg | none|800 px|Edit mode]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Painting Viewpoints''': &amp;lt;br&amp;gt;&lt;br /&gt;
You can paint from multiple viewpoints. Up to 10 different camera positions can be stored as a viewpoint, and each viewpoint has its own set of cube maps. These are projected into 3D space and intersect with one another to provide a merged solution to where clouds should be added and removed in 3D space.&lt;br /&gt;
Painting Viewpoints can be selected with the buttons at the top of the Viewport. You can hover over them to preview viewpoints temporarily without switching to them.&lt;br /&gt;
[[File:TGSky_20251012_22_SkyPaint_Viewpoint1_Below.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 1.]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_23_SkyPaint_Viewpoint2_Above.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 2.]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16963</id>
		<title>Terragen Sky Early Access</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16963"/>
		<updated>2025-10-14T10:01:48Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: /* Sky Paint Workspace */  Update images with Terragen Sky v2025-10-12 UI&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
This is the online documentation for the Early Release version of Terragen Sky.  &lt;br /&gt;
&lt;br /&gt;
As features are being added or updated on a daily basis, please consider this documentation to be a work-in-progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Menu Bar==&lt;br /&gt;
'''File menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_01_MainMenuFile.jpg|none|800px|File menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''New:''' Starts a new Terragen Sky project with the default values.&lt;br /&gt;
*'''Open:''' Opens a previously saved Terragen Sky project.&lt;br /&gt;
*'''Save As:''' Saves the current project as a Terragen Sky project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_02_MainMenuEdit.jpg|none|800px|Edit menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Undo:''' Undo the last operation.&lt;br /&gt;
*'''Redo:''' Redo the last operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dialog menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_03_MainMenuDialog.jpg|none|800px|Dialog menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Reference image:''' Opens the Reference Images and Projections window.  This allows you to load an image from disk and project it into the project for reference.  Image visibility can be fully opaque, transparent or completely off. The image can be positioned in the project by setting the Altitude, Position, Rotation and Focal length parameters.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:94_GUI_ReferenceImage.jpg|none|900px|Reference Image and Projections window.]]&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_09_ReferenceImageTrans.jpg|none|800px|Reference Image set to transparent.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageOpaque.jpg|none|800px|Reference Image set to opaque.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageSkyPaint.jpg|none|800px|Adding and removing clouds to match the reference image using Sky Paint.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
*'''Strokes:''' When the Sky Paint workspace is active, this option opens the Edit Mode window.  In Edit Mode the size and opacity of brush strokes can be modified, and they can be assigned to different canvases.  For more information, see the Sky Paint section below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UI menu button'''&lt;br /&gt;
[[File:TGSky_20251012_04_MainMenuUI.jpg|none|800px|UI menu. ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
The presets under this menu scale the user interface components accordingly, so that you can adjust the layout to best fit your display device or visual preference.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#0000ff&amp;quot;&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_11_UIMenu90percent.jpg|none|800px|UI at 90% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_12_UIMenu200percent.jpg|none|800px|UI at 200% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Help menu button'''&lt;br /&gt;
[[File:TGSky_20251012_05_MainMenuHelp.jpg|none|800px|Help menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Online Documentation:''' Opens the URL for the Terragen Sky documentation in your browser.&lt;br /&gt;
&lt;br /&gt;
* '''SysInfo button''': Displays the system information including OpenGL Renderer and OpenGL Version.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_13_HelpMenuSys.jpg|none|800px|SysInfo display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''License button''': Displays the license information.  One year of maintenance is included with the purchase of a perpetual license of Terragen.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_14_HelpMenuLicense.jpg|none|800px|License Info display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resizable Docks==&lt;br /&gt;
The left and right docks of the UI are resizable, with optional symmetry between the left and right docks.  Dock symmetry can be toggled by holding '''Shift''' while dragging a dock resizer bar.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_On.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry enabled.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_Off.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry disabled.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lighting Panel==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_01_SunDirection.png|none|468px|Terragen 2025-10-09 default Lighting Panel.]] || [[File:TGSky_20251009_05_SunDirection_MulitSuns.PNG|none|468px|Terragen 2025-10-09 Lighting Panel with multiple Sunlights.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The lighting panel provides complete control over the Sunlights in your project by means of the Light Sources list, a Sun Direction dial, and parameters for each Sunlight.&lt;br /&gt;
&lt;br /&gt;
You can easily add Sunlights to the project by clicking the “+” button below the Light Sources label.  To remove a Sunlight from the list, select it and press the Delete key.&lt;br /&gt;
&lt;br /&gt;
Selecting a Sunlight in the Light Sources list allows you to edit it and any changes are reflected immediately in the UI.&lt;br /&gt;
&lt;br /&gt;
To change the position of a Sunlight, select it from the list then click and drag anywhere in the Sun Direction disk.  As a Sunlight nears the edge of the dial its colour in the UI changes to reflect its proximity to the horizon.  Note, you can also change the position and elevation of the Sunlight via its parameter rollers, or by clicking anywhere in the Viewport when the Sky Viewport Tools is set to Sun Position.  The name of the currently selected Sunlight appears below the Sun Position button as well.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_05_SkyViewportToolsSunPos.jpg|none|800px|The selected sunlight is shown on the Sun Position button.]]&lt;br /&gt;
|} &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Sun Direction dial also includes a camera frame and viewport rectangle, represented as lighter-shaded areas with black lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' List of Sunlights'''&lt;br /&gt;
&lt;br /&gt;
*'''Light Sources +:''' Clicking the &amp;quot;'''+'''&amp;quot; button adds a new Sunlight to the project.  The name of the newly added Sunlight is shown in a list below the button and a visual representation of the Sunlight appears in the Sun Direction disk. To remove a Sunlight from the list and project, select it and press the '''Delete''' key.  If only one Sunlight exists in a project it can not be deleted.  You can undo the creation and deletion of Sunlights via the Edit menu or by using '''Ctrl+Z''' on the keyboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sun Direction Dial'''&lt;br /&gt;
&lt;br /&gt;
*'''Orient to Camera/World:''' The Sun Direction dial can be displayed in camera or world orientation.  When the '''Camera''' button is enabled, the camera’s field of view in the Sunlight dial remains facing forward and any Sunlights in the project rotate around the dial as the Camera is rotated or the Panorama Roller is dragged to the left or right.  When the '''World''' button is enabled and the camera is rotated, its field of view in the Sun Direction dial rotates around the dial while any Sunlights remain fixed in their position.&lt;br /&gt;
&lt;br /&gt;
*'''Look Up/Down:''' These buttons indicate the way in which you’re viewing the Sun Direction dial; from above it or below it.  If you imagine the dial to be the sky '''Up''' indicates that you’re below the sky looking up at it, while '''Down''' indicates you’re above the sky looking down at it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Sunlight Parameters'''&lt;br /&gt;
&lt;br /&gt;
*'''Heading:''' This parameter sets the heading of the sun in degrees.  You can think of 0° as North, +90° as East, +-180° as South, and -90° as West.  The parameter can be used as a slider with a range of -180 to +180 degrees, or by clicking on the numerical value to directly input an amount.&lt;br /&gt;
&lt;br /&gt;
*'''Elevation:''' This parameter sets the elevation of the sun in degrees.  You can think of 0° being directly on the horizon, +90° being directly overhead, and -90° being on the underside of the planet.  When negative values are used to simulate a night sky, you can compensate for the darkness by increasing the Exposure value.  The parameter can be used as a slider with a range of -90 to +90 degrees, or by clicking on the numerical value to directly input an amount.&lt;br /&gt;
&lt;br /&gt;
*'''Colour:''' This parameter sets the colour of the selected Sunlight. The input allows you to set the value for the individual red, green and blue components that make up the Sunlight’s colour. Negative values are allowed. In the Sun Direction dial, the colour of the Sunlight will change as the colour value is changed.&lt;br /&gt;
&lt;br /&gt;
*'''Strength:''' This parameter sets the intensity of the Sunlight.  The default strength value is 5.&lt;br /&gt;
&lt;br /&gt;
*'''Diameter:''' This parameter sets the diameter of the selected Sunlight’s disk.  As the value is changed, the Sun Direction dial will automatically update to show the size of the Sunlight disk. A visible Sunlight disk can be included or excluded from a rendered image by checking the “Save with sun” checkbox under the Renders tab and saving the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Soft shadow:''' When checked the renderer will calculate soft shadows for the selected Sunlight based on the Sunlight's diameter.  This can take longer to render but is more accurate.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sky Viewport Tools==&lt;br /&gt;
[[File:TGSky_20251012_06_SkyViewportToolsSunPos.jpg|none|245px|Sky Viewport Tools.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Sun Position:''' When active, clicking in the main viewport repositions the sun to that location, updating the Sun heading and elevation values.&lt;br /&gt;
&lt;br /&gt;
*'''Exposure:''' When active, clicking and dragging in the main viewport changes the camera’s exposure value, simulating the response to light a real camera might have.  Dragging to the right increases the exposure value and brightens up the image as more light reaches the film.  Dragging to the left decreases the exposure value and darkens the image, much like stopping down the camera lens aperture from f/2 to f/4.  Right-click the exposure button to open a context menu which has the option to reset the exposure value to default.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_07_SkyViewportToolsExposure.jpg|none|450px|Exposure reset.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Camera Zoom:''' When active, clicking and dragging in the main viewport changes the camera’s focal length, which can also be seen in the Camera Focal length parameter.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_08_SkyViewportToolsCamZoom.jpg|none|549px|Right click on the Camera Zoom button to reset the camera zoom. ]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:20_CameraZoomFocalLengths0001.jpg|none|800px|Various camera focal lengths.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cloud Height Diagram==&lt;br /&gt;
The Cloud Height Diagram provides a visual and alternate way of positioning the cloud and haze layers, and camera. Moving an item within the diagram adjusts its altitude.  When one item’s altitude overlaps with another their indicators appear side by side.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:21_CloudHeightDiagram_Default.jpg|none|266px|Default Cloud heights. ]]  || [[File:22_CloudHeightDiagram_Overlap.jpg|none|266px|Overlapping Cloud heights. ]] || [[File:23_CloudHeightDiagram_Staggered.jpg|none|266px|Staggard Cloud heights. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Camera==&lt;br /&gt;
[[File:05_UI_CameraeLens.jpg|none|470px|The Camera.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This parameter controls the height of the virtual camera. Dragging the slider to the right increases the altitude of the camera and updates the preview window and Cloud Height Diagram, while dragging to the left decreases the camera’s altitude.&lt;br /&gt;
&lt;br /&gt;
*'''Position:'''  This parameter controls the position of the virtual camera in the scene.  XYZ position values may be modified by dragging the sliders to the left or right, or by directly clicking on a value and entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Rotation phb:'''  This parameter controls the rotation of the virtual camera in the scene.  Pitch, heading,  and bank values may be modified by dragging the sliders to the left or right, or by directly clicking on a value and entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Focal length:''' This parameter controls the focal length of the virtual camera lens and is the equivalent to the focal length of a real camera lens.  The parameter includes a slider ranging from 0 mm to 300 mm, and a numerical input field in which you can enter any value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panorama and Panorama Roller==&lt;br /&gt;
&lt;br /&gt;
The Panorama displays a “lat-long” (spherical) image or a cube map overview of the entire environment.  The overlaid text provides information about the type and resolution of the environment map, whose resolution depends on the Terragen Sky mode selected. Dragging the grey roller below the Panorama rotates the environment from -180° to +180°.  Clicking with the RMB resets the rotation value to 0. .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:23_Panoramic_LatLong.jpg|none|800px|The Panorama view displaying LatLong information. ]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:24_Panoramic_CubeMap.jpg|none|800px|The Panorama view displaying CubeMap information.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Viewport==&lt;br /&gt;
The viewport is the main display of the UI.  The Alt key + mouse buttons and dragging in the viewport will change the view.  These are similar to the default bindings in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
Translate forwards/backwards (dolly): Alt+MMB, or Alt+Shift+LMB&lt;br /&gt;
Translate up/down/left right: Alt+RMB, or Alt+Ctrl+LMB&lt;br /&gt;
&lt;br /&gt;
Pressing the Esc key resets the camera’s position and rotation to the values they had when the project was loaded, or created in the case of using New Project.&lt;br /&gt;
&lt;br /&gt;
Below the viewport is the status bar, which displays helpful information, such as the name of the UI component that the mouse is currently pointed at.&lt;br /&gt;
&lt;br /&gt;
[[File:26_MainViewport.JPG|none|800px|The Viewport.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Filmic Tonemap:''' When checked, a tone map is applied to the viewport in much the same way as the Renderers Tonemap settings in Terragen 4.  When unchecked, no tone mapping is applied and you may see clipping in the bright areas of the sky.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:27_ToneMapOn.JPG|none|400px|Tonemap checked.]] || [[File:28_ToneMapOff.JPG|none|400px|Tonemap unchecked.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Enviro map/sphere:''' Inset into the main viewport is an environment shader object.  &amp;lt;!---When the Panorama displays a “lat-long” spherical image this will appear as a flat 2d plane with the environment map applied to it.  When the Panorama displays a cube-map, the object changes to a reflective sphere, which can be useful when rotating the environment map in order to see what’s behind the camera position. --&amp;gt;  This chrome sphere can be useful when rotating the environment map in order to see what's behind the camera position.  You can drag the object around the viewport by clicking on it with the LMB, or resize it using the MMB.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;!--33_EnviroPlane.jpg --&amp;gt;&lt;br /&gt;
[[File:32_EnviroBall.JPG|none|627px|The chrome sphere.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preview Modes (Camera, Camera+, 360+, 360)==&lt;br /&gt;
[[File:52_PreviewMode.jpg|none|602px|Preview modes.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Camera-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''Camera:'''  Use this mode when you want to preview the area you’re looking at as quickly as possible.  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality.   &lt;br /&gt;
&lt;br /&gt;
*'''Camera+:'''  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality, then the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''360/Lighting-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''360 +:'''  Use this mode when you want an approximate 360° render as quickly as possible (e.g. for lighting) but you also want to refine the area within the camera’s view.  In this mode, the entire 360° view is first updated to a minimum resolution, then whatever you’re looking at is refined to the internal target resolution and quality, and finally the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
*'''360:'''  Use this mode when you want a 360° view as quickly as possible (e.g. for lighting).  In this mode, the entire 360° view is updated at a uniform resolution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Parameters==&lt;br /&gt;
The Sky parameters consist of three cloud layers, a Haze layer and an Atmosphere control.  &lt;br /&gt;
&lt;br /&gt;
'''Cloud Layers'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[File:30_SkyParameters_CloudLayers.JPG|602px|Cloud Layer parameters.]] --&amp;gt;&lt;br /&gt;
[[File:48_CloudLayer.jpg|597px|Cloud Layer parameters.]]&lt;br /&gt;
&lt;br /&gt;
*'''Layer # (checkbox):'''  When checked, the layer is active and will appear in the viewport and in renders.&lt;br /&gt;
&lt;br /&gt;
*'''Presets menu (down chevron):''' When clicked, a list of cloud presets is displayed, allowing you to choose the type of clouds to assign to this cloud layer.  See below.&lt;br /&gt;
&lt;br /&gt;
*'''Advanced Settings (right chevron):'''  When clicked, the advanced settings for the selected cloud, haze or atmosphere is displayed.  This feature is not currently implemented.&lt;br /&gt;
&lt;br /&gt;
*'''Seed:''' This value generates the random aspects of the cloud layer.&lt;br /&gt;
&lt;br /&gt;
*'''Coverage:'''  This setting controls the amount of clouds within the cloud layer. Low values reduce the amount of individual clouds and increase the amount of empty space between them. Increasing the value fills up the area with more individual clouds.&lt;br /&gt;
&lt;br /&gt;
*'''Density:'''  This setting controls the transparency or opaqueness of the clouds within the cloud layer. Low values make the clouds look thin and let more light pass through them. Higher values make the clouds look thicker and denser, as well as darker because less light passes through them. &lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This setting controls the height range of the cloud layer from top to bottom.  This corresponds to “Cloud depth” in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This setting controls the height of the cloud in metres above sea level.  For some cloud types this corresponds to the base of the cloud and for others it corresponds to the mid-point between the base and the top.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Presets menu'''&lt;br /&gt;
&lt;br /&gt;
[[File:61_SkyPresets.jpg|none|464px|Presets menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Through the presets menu for Cloud and Haze layers, you have access to the cloud type presets available in Terragen, including Cloud Layer V2, Cloud Layer V3, and Easy Clouds.&lt;br /&gt;
&lt;br /&gt;
*'''High-level:''' These cloud layers default to an altitude of 8,000 metres or more, and are based on Terragen’s Cloud Layer V2 or Easy Clouds presets. When an  Easy Cloud preset is selected, you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types under the cloud layer’s advanced settings.&lt;br /&gt;
&lt;br /&gt;
*'''Mid-level:'''  These cloud layers default to an altitude around 4,000 metres, and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Low-level:'''  These cloud layers default to an altitude around 1,500 - 2,000 metres and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Haze:'''  High-level, Mid-level, and Low-level haze layers are available based on Terragen’s Cloud Layer V2 without a Density shader, tapering or falloff.  It provides a volumetric layer in which you can control the density, thickness and altitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Haze Layer'''&lt;br /&gt;
&lt;br /&gt;
[[File:07_UI_SkyParams_Haze.JPG|none|567px|The Haze layer.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Haze is the appearance of moisture and particulates in the atmosphere. It can be used to simulate a broad range of phenomena such as fog, mist, or dry haze caused by dust and smoke.  The Haze layer is a layer of uniform haze with a prescribed height range, whereas the Atmosphere is a layer of haze with exponential fall-off with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
*'''Haze layer:''' When checked, the haze layer is visible.&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' This is the opacity of the haze layer.&lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This is the height range of the Haze layer from top to bottom, measured in metres.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This is the altitude, specified in metres, at which the bottom of the Haze layer begins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atmosphere'''&lt;br /&gt;
&lt;br /&gt;
[[File:08_UI_SkyParams_Atmo.JPG|none|567px|Atmosphere.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' The exponential fall-off of haze in the atmosphere with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Other buttons'''&lt;br /&gt;
&lt;br /&gt;
[[File:31_SavePreset.JPG|none|602pox|Save presets button.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Save Preset button:''' Clicking this button saves the current settings as a preset, which becomes available in the Presets tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presets Tab==&lt;br /&gt;
[[File:62_PresetsTab.jpg|none|599px|The Presets Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The presets tab is a convenient way to access your favorite Terragen Sky settings.  &lt;br /&gt;
&lt;br /&gt;
To load a preset, simply click on the thumbnail image in the Presets tab, or right click it and select “Load Preset”.&lt;br /&gt;
&lt;br /&gt;
To save a preset, simply press the Save Preset button located at the bottom of the Sky Parameters, and the new preset will be added to the Preset tab. &lt;br /&gt;
&lt;br /&gt;
User presets and presets from third party sources show up under the User Presets or Unregistered categories.&lt;br /&gt;
&lt;br /&gt;
The Planetside Software Presets category displays the presets that ship with Terragen Sky.   You can download them by clicking on the Download button as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[File:63_PresetsTabDownloadBrowser.jpg|none|559px|Presets download button.]]&lt;br /&gt;
&lt;br /&gt;
You can also navigate to their installation directory by clicking on the ellipsis button.&lt;br /&gt;
&lt;br /&gt;
[[File:64_PresetsTabOpenFile.jpg|none|599px|Installation directory button]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Render Tab ==&lt;br /&gt;
[[File:TGSky_20251009_03_Render_AABloom.jpg|none|601px|The Render Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The render tab provides controls for the rendered output, including size and quality settings.&lt;br /&gt;
&lt;br /&gt;
*'''Current View &amp;amp; Spherical:''' These settings provide a dropdown menu of standard image resolutions to choose from.  The width and height of the rendered image will be set to the chosen resolution.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:66_RenderTabResolutions.jpg|none|599px|Composit image of Current and Spherical view resolutions and aspect ratios.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Quality:''' The quality of the rendered image is governed by the four Q buttons.   The higher the Q button value the better the quality of the rendered image, at the expense of a longer render time.&lt;br /&gt;
&lt;br /&gt;
*'''Anti-aliasing bloom:''' When checked this produces a nicer edge on the sun discs in the rendered image. Note that it also increases render times.&lt;br /&gt;
&lt;br /&gt;
*'''Render Image button:''' Click this button to start the render process. When the process is complete, a notification is displayed below the button indicating how long the render took.&lt;br /&gt;
&lt;br /&gt;
*'''Save button:''' Click this button to save the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Save with sun:''' When checked, the sun disc is saved in the rendered image.  Note that to turn the sun disc on or off, the image does not need to be re-rendered.&lt;br /&gt;
&lt;br /&gt;
*'''Auto-save when finished:''' When checked, the image will automatically be saved upon render.&lt;br /&gt;
&lt;br /&gt;
== Export Tab ==&lt;br /&gt;
&lt;br /&gt;
[[File:67_ExportTab-JSON.jpg|none|599px|The Export Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The items on the Export tab allow you to save the project as a Terragen clip file or scene file for further use in Terragen 4.  Additionally, with Live Send 360, you can immediately save the environment map to a file for access by third party software.&lt;br /&gt;
&lt;br /&gt;
'''Export to Terragen 4'''&lt;br /&gt;
*'''Export Clip File:''' Saves the Sky Parameter settings as a clip file which can then be imported into Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
*'''Export Scene file:''' Saves the project, including Sky Parameters, sun and camera, as a scene file which can be opened in Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
'''Live Send 360:''' This feature allows you to export a 2k spherical image to a specific location which is based on the current render state of the viewport, eliminating the need to wait for a final rendered image.  &lt;br /&gt;
&lt;br /&gt;
*'''Set Output File:''' Clicking this button brings up a standard file requestor in which to set the filename and path for the Live Send 360 output.&lt;br /&gt;
&lt;br /&gt;
*'''Send Now:'''  Clicking this button immediately updates the image defined in Set Output File parameter.&lt;br /&gt;
&lt;br /&gt;
*'''Send Image after loading a preset:'''  When checked, the image is immediately updated as soon as a preset is loaded.  When unchecked, you need to click the Send Now button.&lt;br /&gt;
&lt;br /&gt;
*'''Send image every “n” seconds:''' When checked, the image is saved to the output file every “n” seconds that you specify.&lt;br /&gt;
&lt;br /&gt;
*'''Send JSON when Sun moves or Env rotates:''' When checked, a JSON file located in the same folder as the output file, is updated with project information such as the Sun’s heading and elevation.  Third party applications supporting dynamic updating, like Unreal Engine, can access the information and their project assets can be synced with Terragen Sky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Paint Workspace==&lt;br /&gt;
The tools and features under the Sky Paint workspace give you precise control of the shapes and positions of your clouds.&lt;br /&gt;
&lt;br /&gt;
[[File:83_AllSkyPaintTools.jpg|none|800 px |The tools and features of the Sky Paint workspace.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicking on the Sky Paint workspace tab brings up the viewport display menu.&lt;br /&gt;
&lt;br /&gt;
[[File: 74_SkyPaintViewportMenu.jpg | none|470 px|Viewport display menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can set the viewport display to side-by-side, top-and-bottom, or to display the painting viewport only.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_15_SkyPaint_Split-LR.jpg|none|800px|Viewport split set to right and left.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_15_SkyPaint_Split-TB.jpg|none|800px|Viewport split set to top and bottom.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: TGSky_20251012_17_SkyPaint_Split-PaintOnly.jpg|none|800px|Viewport set to Paint only. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canvases:''' &amp;lt;br&amp;gt;&lt;br /&gt;
A canvas is a 360-degree paintable volume which can be painted from multiple viewports. Each project contains multiple canvases. &lt;br /&gt;
[[File: 77_Canvas.jpg |none|900 px|When painting in a cloud or haze layer, the paint indicator turns red.]]&lt;br /&gt;
By default, the &amp;quot;Paint All&amp;quot; canvas is selected.  Paint tools used in this canvas affect all cloud layers and haze layers in the project. This lets you start painting and see immediate results. &lt;br /&gt;
&lt;br /&gt;
There are extra canvases for each cloud layer and haze layer, such as &amp;quot;Cloud 1&amp;quot;, &amp;quot;Cloud 2&amp;quot;, and &amp;quot;Haze Layer&amp;quot;.  When painting in these canvases, paint tools are limited to that specific layer.&lt;br /&gt;
&lt;br /&gt;
When a canvas is selected, the “P” paint indicator and Sky parameters for the affected layer will be highlighted in red.&lt;br /&gt;
&lt;br /&gt;
[[File: 78_Canvas_SkyParams.jpg| none|600 px|When painting in a cloud or haze layer, the layer’s Sky parameters are highlighted in red.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sky Paint Tools:''' &amp;lt;br&amp;gt;&lt;br /&gt;
The Sky Paint Tools allow you to add, remove and modify the cloud and haze layers in your project.  Painting is completely non-destructive and you can edit your strokes at any time.  Everything is undoable.&lt;br /&gt;
[[File: 82_SkyPaintToolsAndSettings.jpg |none|700 px|Paint strokes are displayed in green when using the Cloud Add tool.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Cloud Add''' and '''Cloud Remove''': Paint strokes created with the Cloud Add tool appear in green, while paint strokes created with the Cloud Remove tool are coloured purple.  Both tools allow you to set the brush size and opacity.  You can use the left “[“ and right “]” bracket keys to change the current tool’s brush size.  Paint strokes are grouped together into a layer when their size and opacity are the same.  A new layer is created whenever the size or opacity is changed and a new paint stroke is made.  You can edit the size and opacity of a paint stroke layer by simply hitting the Space Bar to enter into the Edit mode. Within the Edit mode, you can move paint strokes from one canvas to another.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_18_SkyPaint_CloudAddRemove.jpg|none|800px|Brush strokes painted with the Cloud Add tool appear green.  Strokes painted with the Cloud Remove tool are coloured purple.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Erase Points''': The Erase Points tool works like an eraser, allowing you to remove individual points of the curve that makes up the brush stroke.  With the tool selected, simply left click and drag over the points you want to remove from the curve.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 84_EraseTool.jpg | none|800 px |The Erase tool is used to remove points from the brush stroke.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Move''': The Move tool allows you to move entire paint stroke layers. Hovering the cursor over the paint strokes will highlight the current paint stroke layer to move.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: TGSky_20251012_19_SkyPaint_Move_Art-Rat.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Add curves have been moved.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: TGSky_20251012_20_SkyPaint_Move-Remove_Art-Tar.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Remove curves have been moved.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Stir''': The Stir tool allows you to distort the shape of the paint stroke curve.  When selected, the tool displays two dotted circles indicating the extent of the distortion effect upon points that fall within.  Points of the curve within the inner circle are more intensely affected by the strength of the distortion, which gradually falls off by the outer circle.  The “Tool Size” parameter allows you to increase or decrease the area affected by distortion.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: TGSky_20251012_21_SkyPaint_Stir_Art.jpg |none|800 px |The Stir tool displaces the points of the brush stroke curve.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit Mode''': &amp;lt;br&amp;gt;&lt;br /&gt;
Hitting the Space Bar will bring up the Edit Mode.  Any canvas having contained a paint stroke will be listed in the Canvas column.  The Layers column lists the paint stroke layers for that canvas.  You can select an individual layer or use the keyboard shortcuts [K] and [L] to select the previous or next layer.  Pressing the [Delete] key will delete the paint stroke layer.  If you delete a layer accidentally, you can undo the deletion via the main menu Edit dialog, or pressing Ctl-Z.&lt;br /&gt;
With a layer selected you can modify the size of the brush stroke and its opacity.&lt;br /&gt;
[[File: 79_EditMode.jpg | none|800 px|Edit mode]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Painting Viewpoints''': &amp;lt;br&amp;gt;&lt;br /&gt;
You can paint from multiple viewpoints. Up to 10 different camera positions can be stored as a viewpoint, and each viewpoint has its own set of cube maps. These are projected into 3D space and intersect with one another to provide a merged solution to where clouds should be added and removed in 3D space.&lt;br /&gt;
Painting Viewpoints can be selected with the buttons at the top of the Viewport. You can hover over them to preview viewpoints temporarily without switching to them.&lt;br /&gt;
[[File:TGSky_20251012_22_SkyPaint_Viewpoint1_Below.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 1.]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_23_SkyPaint_Viewpoint2_Above.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 2.]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_23_SkyPaint_Viewpoint2_Above.jpg&amp;diff=16962</id>
		<title>File:TGSky 20251012 23 SkyPaint Viewpoint2 Above.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_23_SkyPaint_Viewpoint2_Above.jpg&amp;diff=16962"/>
		<updated>2025-10-14T09:56:47Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Viewpoint Above&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Viewpoint Above&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_22_SkyPaint_Viewpoint1_Below.jpg&amp;diff=16961</id>
		<title>File:TGSky 20251012 22 SkyPaint Viewpoint1 Below.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_22_SkyPaint_Viewpoint1_Below.jpg&amp;diff=16961"/>
		<updated>2025-10-14T09:56:16Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Viewpoint below&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Viewpoint below&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_21_SkyPaint_Stir_Art.jpg&amp;diff=16960</id>
		<title>File:TGSky 20251012 21 SkyPaint Stir Art.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_21_SkyPaint_Stir_Art.jpg&amp;diff=16960"/>
		<updated>2025-10-14T09:55:45Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Stir Art&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Stir Art&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_20_SkyPaint_Move-Remove_Art-Tar.jpg&amp;diff=16959</id>
		<title>File:TGSky 20251012 20 SkyPaint Move-Remove Art-Tar.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_20_SkyPaint_Move-Remove_Art-Tar.jpg&amp;diff=16959"/>
		<updated>2025-10-14T09:55:09Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Remove Art Tar&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Remove Art Tar&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_19_SkyPaint_Move_Art-Rat.jpg&amp;diff=16958</id>
		<title>File:TGSky 20251012 19 SkyPaint Move Art-Rat.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_19_SkyPaint_Move_Art-Rat.jpg&amp;diff=16958"/>
		<updated>2025-10-14T09:54:35Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Move Art Rat&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Move Art Rat&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_18_SkyPaint_CloudAddRemove.jpg&amp;diff=16957</id>
		<title>File:TGSky 20251012 18 SkyPaint CloudAddRemove.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_18_SkyPaint_CloudAddRemove.jpg&amp;diff=16957"/>
		<updated>2025-10-14T09:53:20Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Cloud add remove&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Cloud add remove&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_17_SkyPaint_Split-PaintOnly.jpg&amp;diff=16956</id>
		<title>File:TGSky 20251012 17 SkyPaint Split-PaintOnly.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_17_SkyPaint_Split-PaintOnly.jpg&amp;diff=16956"/>
		<updated>2025-10-14T09:52:40Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Split Paint Only&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Split Paint Only&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_15_SkyPaint_Split-TB.jpg&amp;diff=16955</id>
		<title>File:TGSky 20251012 15 SkyPaint Split-TB.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_15_SkyPaint_Split-TB.jpg&amp;diff=16955"/>
		<updated>2025-10-14T09:52:10Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Split top bottom&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Split top bottom&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_15_SkyPaint_Split-LR.jpg&amp;diff=16954</id>
		<title>File:TGSky 20251012 15 SkyPaint Split-LR.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_15_SkyPaint_Split-LR.jpg&amp;diff=16954"/>
		<updated>2025-10-14T09:51:36Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Sky Paint - Split left right&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Sky Paint - Split left right&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16953</id>
		<title>Terragen Sky Early Access</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=Terragen_Sky_Early_Access&amp;diff=16953"/>
		<updated>2025-10-14T08:09:45Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: /* Menu Bar */  Updated images and alt desc with Terragen Sky 2025-10-12 UI&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Overview==&lt;br /&gt;
This is the online documentation for the Early Release version of Terragen Sky.  &lt;br /&gt;
&lt;br /&gt;
As features are being added or updated on a daily basis, please consider this documentation to be a work-in-progress.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Menu Bar==&lt;br /&gt;
'''File menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_01_MainMenuFile.jpg|none|800px|File menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''New:''' Starts a new Terragen Sky project with the default values.&lt;br /&gt;
*'''Open:''' Opens a previously saved Terragen Sky project.&lt;br /&gt;
*'''Save As:''' Saves the current project as a Terragen Sky project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_02_MainMenuEdit.jpg|none|800px|Edit menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Undo:''' Undo the last operation.&lt;br /&gt;
*'''Redo:''' Redo the last operation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Dialog menu button'''&lt;br /&gt;
&lt;br /&gt;
[[File:TGSky_20251012_03_MainMenuDialog.jpg|none|800px|Dialog menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Reference image:''' Opens the Reference Images and Projections window.  This allows you to load an image from disk and project it into the project for reference.  Image visibility can be fully opaque, transparent or completely off. The image can be positioned in the project by setting the Altitude, Position, Rotation and Focal length parameters.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:94_GUI_ReferenceImage.jpg|none|900px|Reference Image and Projections window.]]&lt;br /&gt;
&amp;lt;ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_09_ReferenceImageTrans.jpg|none|800px|Reference Image set to transparent.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageOpaque.jpg|none|800px|Reference Image set to opaque.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_10_ReferenceImageSkyPaint.jpg|none|800px|Adding and removing clouds to match the reference image using Sky Paint.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
*'''Strokes:''' When the Sky Paint workspace is active, this option opens the Edit Mode window.  In Edit Mode the size and opacity of brush strokes can be modified, and they can be assigned to different canvases.  For more information, see the Sky Paint section below.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''UI menu button'''&lt;br /&gt;
[[File:TGSky_20251012_04_MainMenuUI.jpg|none|800px|UI menu. ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
The presets under this menu scale the user interface components accordingly, so that you can adjust the layout to best fit your display device or visual preference.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#0000ff&amp;quot;&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_11_UIMenu90percent.jpg|none|800px|UI at 90% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_12_UIMenu200percent.jpg|none|800px|UI at 200% ]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Help menu button'''&lt;br /&gt;
[[File:TGSky_20251012_05_MainMenuHelp.jpg|none|800px|Help menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Online Documentation:''' Opens the URL for the Terragen Sky documentation in your browser.&lt;br /&gt;
&lt;br /&gt;
* '''SysInfo button''': Displays the system information including OpenGL Renderer and OpenGL Version.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_13_HelpMenuSys.jpg|none|800px|SysInfo display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br/n&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''License button''': Displays the license information.  One year of maintenance is included with the purchase of a perpetual license of Terragen.  Click anywhere outside the information window to close it and return to the main interface.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_14_HelpMenuLicense.jpg|none|800px|License Info display.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Resizable Docks==&lt;br /&gt;
The left and right docks of the UI are resizable, with optional symmetry between the left and right docks.  Dock symmetry can be toggled by holding '''Shift''' while dragging a dock resizer bar.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_On.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry enabled.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_04_UI_Symetry_Off.jpg|none|800px|Terragen Sky 2025-10-09 UI with Dock symmetry disabled.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Lighting Panel==&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251009_01_SunDirection.png|none|468px|Terragen 2025-10-09 default Lighting Panel.]] || [[File:TGSky_20251009_05_SunDirection_MulitSuns.PNG|none|468px|Terragen 2025-10-09 Lighting Panel with multiple Sunlights.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The lighting panel provides complete control over the Sunlights in your project by means of the Light Sources list, a Sun Direction dial, and parameters for each Sunlight.&lt;br /&gt;
&lt;br /&gt;
You can easily add Sunlights to the project by clicking the “+” button below the Light Sources label.  To remove a Sunlight from the list, select it and press the Delete key.&lt;br /&gt;
&lt;br /&gt;
Selecting a Sunlight in the Light Sources list allows you to edit it and any changes are reflected immediately in the UI.&lt;br /&gt;
&lt;br /&gt;
To change the position of a Sunlight, select it from the list then click and drag anywhere in the Sun Direction disk.  As a Sunlight nears the edge of the dial its colour in the UI changes to reflect its proximity to the horizon.  Note, you can also change the position and elevation of the Sunlight via its parameter rollers, or by clicking anywhere in the Viewport when the Sky Viewport Tools is set to Sun Position.  The name of the currently selected Sunlight appears below the Sun Position button as well.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:TGSky_20251012_05_SkyViewportToolsSunPos.jpg|none|800px|The selected sunlight is shown on the Sun Position button.]]&lt;br /&gt;
|} &amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Sun Direction dial also includes a camera frame and viewport rectangle, represented as lighter-shaded areas with black lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' List of Sunlights'''&lt;br /&gt;
&lt;br /&gt;
*'''Light Sources +:''' Clicking the &amp;quot;'''+'''&amp;quot; button adds a new Sunlight to the project.  The name of the newly added Sunlight is shown in a list below the button and a visual representation of the Sunlight appears in the Sun Direction disk. To remove a Sunlight from the list and project, select it and press the '''Delete''' key.  If only one Sunlight exists in a project it can not be deleted.  You can undo the creation and deletion of Sunlights via the Edit menu or by using '''Ctrl+Z''' on the keyboard.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sun Direction Dial'''&lt;br /&gt;
&lt;br /&gt;
*'''Orient to Camera/World:''' The Sun Direction dial can be displayed in camera or world orientation.  When the '''Camera''' button is enabled, the camera’s field of view in the Sunlight dial remains facing forward and any Sunlights in the project rotate around the dial as the Camera is rotated or the Panorama Roller is dragged to the left or right.  When the '''World''' button is enabled and the camera is rotated, its field of view in the Sun Direction dial rotates around the dial while any Sunlights remain fixed in their position.&lt;br /&gt;
&lt;br /&gt;
*'''Look Up/Down:''' These buttons indicate the way in which you’re viewing the Sun Direction dial; from above it or below it.  If you imagine the dial to be the sky '''Up''' indicates that you’re below the sky looking up at it, while '''Down''' indicates you’re above the sky looking down at it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' Sunlight Parameters'''&lt;br /&gt;
&lt;br /&gt;
*'''Heading:''' This parameter sets the heading of the sun in degrees.  You can think of 0° as North, +90° as East, +-180° as South, and -90° as West.  The parameter can be used as a slider with a range of -180 to +180 degrees, or by clicking on the numerical value to directly input an amount.&lt;br /&gt;
&lt;br /&gt;
*'''Elevation:''' This parameter sets the elevation of the sun in degrees.  You can think of 0° being directly on the horizon, +90° being directly overhead, and -90° being on the underside of the planet.  When negative values are used to simulate a night sky, you can compensate for the darkness by increasing the Exposure value.  The parameter can be used as a slider with a range of -90 to +90 degrees, or by clicking on the numerical value to directly input an amount.&lt;br /&gt;
&lt;br /&gt;
*'''Colour:''' This parameter sets the colour of the selected Sunlight. The input allows you to set the value for the individual red, green and blue components that make up the Sunlight’s colour. Negative values are allowed. In the Sun Direction dial, the colour of the Sunlight will change as the colour value is changed.&lt;br /&gt;
&lt;br /&gt;
*'''Strength:''' This parameter sets the intensity of the Sunlight.  The default strength value is 5.&lt;br /&gt;
&lt;br /&gt;
*'''Diameter:''' This parameter sets the diameter of the selected Sunlight’s disk.  As the value is changed, the Sun Direction dial will automatically update to show the size of the Sunlight disk. A visible Sunlight disk can be included or excluded from a rendered image by checking the “Save with sun” checkbox under the Renders tab and saving the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Soft shadow:''' When checked the renderer will calculate soft shadows for the selected Sunlight based on the Sunlight's diameter.  This can take longer to render but is more accurate.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sky Viewport Tools==&lt;br /&gt;
[[File:TGSky_20251012_06_SkyViewportToolsSunPos.jpg|none|245px|Sky Viewport Tools.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Sun Position:''' When active, clicking in the main viewport repositions the sun to that location, updating the Sun heading and elevation values.&lt;br /&gt;
&lt;br /&gt;
*'''Exposure:''' When active, clicking and dragging in the main viewport changes the camera’s exposure value, simulating the response to light a real camera might have.  Dragging to the right increases the exposure value and brightens up the image as more light reaches the film.  Dragging to the left decreases the exposure value and darkens the image, much like stopping down the camera lens aperture from f/2 to f/4.  Right-click the exposure button to open a context menu which has the option to reset the exposure value to default.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_07_SkyViewportToolsExposure.jpg|none|450px|Exposure reset.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Camera Zoom:''' When active, clicking and dragging in the main viewport changes the camera’s focal length, which can also be seen in the Camera Focal length parameter.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:TGSky_20251012_08_SkyViewportToolsCamZoom.jpg|none|549px|Right click on the Camera Zoom button to reset the camera zoom. ]] &amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:20_CameraZoomFocalLengths0001.jpg|none|800px|Various camera focal lengths.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Cloud Height Diagram==&lt;br /&gt;
The Cloud Height Diagram provides a visual and alternate way of positioning the cloud and haze layers, and camera. Moving an item within the diagram adjusts its altitude.  When one item’s altitude overlaps with another their indicators appear side by side.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:21_CloudHeightDiagram_Default.jpg|none|266px|Default Cloud heights. ]]  || [[File:22_CloudHeightDiagram_Overlap.jpg|none|266px|Overlapping Cloud heights. ]] || [[File:23_CloudHeightDiagram_Staggered.jpg|none|266px|Staggard Cloud heights. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Camera==&lt;br /&gt;
[[File:05_UI_CameraeLens.jpg|none|470px|The Camera.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This parameter controls the height of the virtual camera. Dragging the slider to the right increases the altitude of the camera and updates the preview window and Cloud Height Diagram, while dragging to the left decreases the camera’s altitude.&lt;br /&gt;
&lt;br /&gt;
*'''Position:'''  This parameter controls the position of the virtual camera in the scene.  XYZ position values may be modified by dragging the sliders to the left or right, or by directly clicking on a value and entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Rotation phb:'''  This parameter controls the rotation of the virtual camera in the scene.  Pitch, heading,  and bank values may be modified by dragging the sliders to the left or right, or by directly clicking on a value and entering a new numeric value.&lt;br /&gt;
&lt;br /&gt;
*'''Focal length:''' This parameter controls the focal length of the virtual camera lens and is the equivalent to the focal length of a real camera lens.  The parameter includes a slider ranging from 0 mm to 300 mm, and a numerical input field in which you can enter any value.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Panorama and Panorama Roller==&lt;br /&gt;
&lt;br /&gt;
The Panorama displays a “lat-long” (spherical) image or a cube map overview of the entire environment.  The overlaid text provides information about the type and resolution of the environment map, whose resolution depends on the Terragen Sky mode selected. Dragging the grey roller below the Panorama rotates the environment from -180° to +180°.  Clicking with the RMB resets the rotation value to 0. .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:23_Panoramic_LatLong.jpg|none|800px|The Panorama view displaying LatLong information. ]]&amp;lt;br /n&amp;gt;&lt;br /&gt;
[[File:24_Panoramic_CubeMap.jpg|none|800px|The Panorama view displaying CubeMap information.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Viewport==&lt;br /&gt;
The viewport is the main display of the UI.  The Alt key + mouse buttons and dragging in the viewport will change the view.  These are similar to the default bindings in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
Translate forwards/backwards (dolly): Alt+MMB, or Alt+Shift+LMB&lt;br /&gt;
Translate up/down/left right: Alt+RMB, or Alt+Ctrl+LMB&lt;br /&gt;
&lt;br /&gt;
Pressing the Esc key resets the camera’s position and rotation to the values they had when the project was loaded, or created in the case of using New Project.&lt;br /&gt;
&lt;br /&gt;
Below the viewport is the status bar, which displays helpful information, such as the name of the UI component that the mouse is currently pointed at.&lt;br /&gt;
&lt;br /&gt;
[[File:26_MainViewport.JPG|none|800px|The Viewport.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Filmic Tonemap:''' When checked, a tone map is applied to the viewport in much the same way as the Renderers Tonemap settings in Terragen 4.  When unchecked, no tone mapping is applied and you may see clipping in the bright areas of the sky.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File:27_ToneMapOn.JPG|none|400px|Tonemap checked.]] || [[File:28_ToneMapOff.JPG|none|400px|Tonemap unchecked.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Enviro map/sphere:''' Inset into the main viewport is an environment shader object.  &amp;lt;!---When the Panorama displays a “lat-long” spherical image this will appear as a flat 2d plane with the environment map applied to it.  When the Panorama displays a cube-map, the object changes to a reflective sphere, which can be useful when rotating the environment map in order to see what’s behind the camera position. --&amp;gt;  This chrome sphere can be useful when rotating the environment map in order to see what's behind the camera position.  You can drag the object around the viewport by clicking on it with the LMB, or resize it using the MMB.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;!--33_EnviroPlane.jpg --&amp;gt;&lt;br /&gt;
[[File:32_EnviroBall.JPG|none|627px|The chrome sphere.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Preview Modes (Camera, Camera+, 360+, 360)==&lt;br /&gt;
[[File:52_PreviewMode.jpg|none|602px|Preview modes.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Camera-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''Camera:'''  Use this mode when you want to preview the area you’re looking at as quickly as possible.  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality.   &lt;br /&gt;
&lt;br /&gt;
*'''Camera+:'''  In this mode, whatever you’re looking at is progressively refined up to an internal target resolution and quality, then the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''360/Lighting-Priority Modes:'''&lt;br /&gt;
&lt;br /&gt;
*'''360 +:'''  Use this mode when you want an approximate 360° render as quickly as possible (e.g. for lighting) but you also want to refine the area within the camera’s view.  In this mode, the entire 360° view is first updated to a minimum resolution, then whatever you’re looking at is refined to the internal target resolution and quality, and finally the rest of the 360° view is updated and refined until everything is at the internal target resolution and quality.&lt;br /&gt;
&lt;br /&gt;
*'''360:'''  Use this mode when you want a 360° view as quickly as possible (e.g. for lighting).  In this mode, the entire 360° view is updated at a uniform resolution.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Parameters==&lt;br /&gt;
The Sky parameters consist of three cloud layers, a Haze layer and an Atmosphere control.  &lt;br /&gt;
&lt;br /&gt;
'''Cloud Layers'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- [[File:30_SkyParameters_CloudLayers.JPG|602px|Cloud Layer parameters.]] --&amp;gt;&lt;br /&gt;
[[File:48_CloudLayer.jpg|597px|Cloud Layer parameters.]]&lt;br /&gt;
&lt;br /&gt;
*'''Layer # (checkbox):'''  When checked, the layer is active and will appear in the viewport and in renders.&lt;br /&gt;
&lt;br /&gt;
*'''Presets menu (down chevron):''' When clicked, a list of cloud presets is displayed, allowing you to choose the type of clouds to assign to this cloud layer.  See below.&lt;br /&gt;
&lt;br /&gt;
*'''Advanced Settings (right chevron):'''  When clicked, the advanced settings for the selected cloud, haze or atmosphere is displayed.  This feature is not currently implemented.&lt;br /&gt;
&lt;br /&gt;
*'''Seed:''' This value generates the random aspects of the cloud layer.&lt;br /&gt;
&lt;br /&gt;
*'''Coverage:'''  This setting controls the amount of clouds within the cloud layer. Low values reduce the amount of individual clouds and increase the amount of empty space between them. Increasing the value fills up the area with more individual clouds.&lt;br /&gt;
&lt;br /&gt;
*'''Density:'''  This setting controls the transparency or opaqueness of the clouds within the cloud layer. Low values make the clouds look thin and let more light pass through them. Higher values make the clouds look thicker and denser, as well as darker because less light passes through them. &lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This setting controls the height range of the cloud layer from top to bottom.  This corresponds to “Cloud depth” in Terragen 4.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This setting controls the height of the cloud in metres above sea level.  For some cloud types this corresponds to the base of the cloud and for others it corresponds to the mid-point between the base and the top.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Presets menu'''&lt;br /&gt;
&lt;br /&gt;
[[File:61_SkyPresets.jpg|none|464px|Presets menu]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Through the presets menu for Cloud and Haze layers, you have access to the cloud type presets available in Terragen, including Cloud Layer V2, Cloud Layer V3, and Easy Clouds.&lt;br /&gt;
&lt;br /&gt;
*'''High-level:''' These cloud layers default to an altitude of 8,000 metres or more, and are based on Terragen’s Cloud Layer V2 or Easy Clouds presets. When an  Easy Cloud preset is selected, you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types under the cloud layer’s advanced settings.&lt;br /&gt;
&lt;br /&gt;
*'''Mid-level:'''  These cloud layers default to an altitude around 4,000 metres, and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Low-level:'''  These cloud layers default to an altitude around 1,500 - 2,000 metres and are based on Terragen’s Easy Cloud presets.  Under the cloud layer’s advanced settings you can further choose between Cumulus, Altocumulus Castellanus, and Stratocumulus cloud types.&lt;br /&gt;
&lt;br /&gt;
*'''Haze:'''  High-level, Mid-level, and Low-level haze layers are available based on Terragen’s Cloud Layer V2 without a Density shader, tapering or falloff.  It provides a volumetric layer in which you can control the density, thickness and altitude.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Haze Layer'''&lt;br /&gt;
&lt;br /&gt;
[[File:07_UI_SkyParams_Haze.JPG|none|567px|The Haze layer.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Haze is the appearance of moisture and particulates in the atmosphere. It can be used to simulate a broad range of phenomena such as fog, mist, or dry haze caused by dust and smoke.  The Haze layer is a layer of uniform haze with a prescribed height range, whereas the Atmosphere is a layer of haze with exponential fall-off with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
*'''Haze layer:''' When checked, the haze layer is visible.&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' This is the opacity of the haze layer.&lt;br /&gt;
&lt;br /&gt;
*'''Thickness:''' This is the height range of the Haze layer from top to bottom, measured in metres.&lt;br /&gt;
&lt;br /&gt;
*'''Altitude:''' This is the altitude, specified in metres, at which the bottom of the Haze layer begins.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Atmosphere'''&lt;br /&gt;
&lt;br /&gt;
[[File:08_UI_SkyParams_Atmo.JPG|none|567px|Atmosphere.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Haze density:''' The exponential fall-off of haze in the atmosphere with respect to height above sea level.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Other buttons'''&lt;br /&gt;
&lt;br /&gt;
[[File:31_SavePreset.JPG|none|602pox|Save presets button.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Save Preset button:''' Clicking this button saves the current settings as a preset, which becomes available in the Presets tab.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Presets Tab==&lt;br /&gt;
[[File:62_PresetsTab.jpg|none|599px|The Presets Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The presets tab is a convenient way to access your favorite Terragen Sky settings.  &lt;br /&gt;
&lt;br /&gt;
To load a preset, simply click on the thumbnail image in the Presets tab, or right click it and select “Load Preset”.&lt;br /&gt;
&lt;br /&gt;
To save a preset, simply press the Save Preset button located at the bottom of the Sky Parameters, and the new preset will be added to the Preset tab. &lt;br /&gt;
&lt;br /&gt;
User presets and presets from third party sources show up under the User Presets or Unregistered categories.&lt;br /&gt;
&lt;br /&gt;
The Planetside Software Presets category displays the presets that ship with Terragen Sky.   You can download them by clicking on the Download button as shown in the image below.&lt;br /&gt;
&lt;br /&gt;
[[File:63_PresetsTabDownloadBrowser.jpg|none|559px|Presets download button.]]&lt;br /&gt;
&lt;br /&gt;
You can also navigate to their installation directory by clicking on the ellipsis button.&lt;br /&gt;
&lt;br /&gt;
[[File:64_PresetsTabOpenFile.jpg|none|599px|Installation directory button]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Render Tab ==&lt;br /&gt;
[[File:TGSky_20251009_03_Render_AABloom.jpg|none|601px|The Render Tab.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The render tab provides controls for the rendered output, including size and quality settings.&lt;br /&gt;
&lt;br /&gt;
*'''Current View &amp;amp; Spherical:''' These settings provide a dropdown menu of standard image resolutions to choose from.  The width and height of the rendered image will be set to the chosen resolution.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:66_RenderTabResolutions.jpg|none|599px|Composit image of Current and Spherical view resolutions and aspect ratios.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*'''Quality:''' The quality of the rendered image is governed by the four Q buttons.   The higher the Q button value the better the quality of the rendered image, at the expense of a longer render time.&lt;br /&gt;
&lt;br /&gt;
*'''Anti-aliasing bloom:''' When checked this produces a nicer edge on the sun discs in the rendered image. Note that it also increases render times.&lt;br /&gt;
&lt;br /&gt;
*'''Render Image button:''' Click this button to start the render process. When the process is complete, a notification is displayed below the button indicating how long the render took.&lt;br /&gt;
&lt;br /&gt;
*'''Save button:''' Click this button to save the rendered image.&lt;br /&gt;
&lt;br /&gt;
*'''Save with sun:''' When checked, the sun disc is saved in the rendered image.  Note that to turn the sun disc on or off, the image does not need to be re-rendered.&lt;br /&gt;
&lt;br /&gt;
*'''Auto-save when finished:''' When checked, the image will automatically be saved upon render.&lt;br /&gt;
&lt;br /&gt;
== Export Tab ==&lt;br /&gt;
&lt;br /&gt;
[[File:67_ExportTab-JSON.jpg|none|599px|The Export Tab]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The items on the Export tab allow you to save the project as a Terragen clip file or scene file for further use in Terragen 4.  Additionally, with Live Send 360, you can immediately save the environment map to a file for access by third party software.&lt;br /&gt;
&lt;br /&gt;
'''Export to Terragen 4'''&lt;br /&gt;
*'''Export Clip File:''' Saves the Sky Parameter settings as a clip file which can then be imported into Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
*'''Export Scene file:''' Saves the project, including Sky Parameters, sun and camera, as a scene file which can be opened in Terragen 4 for further manipulation.&lt;br /&gt;
&lt;br /&gt;
'''Live Send 360:''' This feature allows you to export a 2k spherical image to a specific location which is based on the current render state of the viewport, eliminating the need to wait for a final rendered image.  &lt;br /&gt;
&lt;br /&gt;
*'''Set Output File:''' Clicking this button brings up a standard file requestor in which to set the filename and path for the Live Send 360 output.&lt;br /&gt;
&lt;br /&gt;
*'''Send Now:'''  Clicking this button immediately updates the image defined in Set Output File parameter.&lt;br /&gt;
&lt;br /&gt;
*'''Send Image after loading a preset:'''  When checked, the image is immediately updated as soon as a preset is loaded.  When unchecked, you need to click the Send Now button.&lt;br /&gt;
&lt;br /&gt;
*'''Send image every “n” seconds:''' When checked, the image is saved to the output file every “n” seconds that you specify.&lt;br /&gt;
&lt;br /&gt;
*'''Send JSON when Sun moves or Env rotates:''' When checked, a JSON file located in the same folder as the output file, is updated with project information such as the Sun’s heading and elevation.  Third party applications supporting dynamic updating, like Unreal Engine, can access the information and their project assets can be synced with Terragen Sky.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sky Paint Workspace==&lt;br /&gt;
The tools and features under the Sky Paint workspace give you precise control of the shapes and positions of your clouds.&lt;br /&gt;
&lt;br /&gt;
[[File:83_AllSkyPaintTools.jpg|none|800 px |The tools and features of the Sky Paint workspace.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clicking on the Sky Paint workspace tab brings up the viewport display menu.&lt;br /&gt;
&lt;br /&gt;
[[File: 74_SkyPaintViewportMenu.jpg | none|470 px|Viewport display menu.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can set the viewport display to side-by-side, top-and-bottom, or to display the painting viewport only.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[File: 85_SkyPaintViewportLeftRight.jpg|none|800px|Viewport split set to right and left.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: 75_SkyPaintViewportTopBot.jpg|none|800px|Viewport split set to top and bottom.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: 76_SkyPaintViewportPaintOnly.jpg|none|800px|Viewport set to Paint only. ]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Canvases:''' &amp;lt;br&amp;gt;&lt;br /&gt;
A canvas is a 360-degree paintable volume which can be painted from multiple viewports. Each project contains multiple canvases. &lt;br /&gt;
[[File: 77_Canvas.jpg |none|900 px|When painting in a cloud or haze layer, the paint indicator turns red.]]&lt;br /&gt;
By default, the &amp;quot;Paint All&amp;quot; canvas is selected.  Paint tools used in this canvas affect all cloud layers and haze layers in the project. This lets you start painting and see immediate results. &lt;br /&gt;
&lt;br /&gt;
There are extra canvases for each cloud layer and haze layer, such as &amp;quot;Cloud 1&amp;quot;, &amp;quot;Cloud 2&amp;quot;, and &amp;quot;Haze Layer&amp;quot;.  When painting in these canvases, paint tools are limited to that specific layer.&lt;br /&gt;
&lt;br /&gt;
When a canvas is selected, the “P” paint indicator and Sky parameters for the affected layer will be highlighted in red.&lt;br /&gt;
&lt;br /&gt;
[[File: 78_Canvas_SkyParams.jpg| none|600 px|When painting in a cloud or haze layer, the layer’s Sky parameters are highlighted in red.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Sky Paint Tools:''' &amp;lt;br&amp;gt;&lt;br /&gt;
The Sky Paint Tools allow you to add, remove and modify the cloud and haze layers in your project.  Painting is completely non-destructive and you can edit your strokes at any time.  Everything is undoable.&lt;br /&gt;
[[File: 82_SkyPaintToolsAndSettings.jpg |none|700 px|Paint strokes are displayed in green when using the Cloud Add tool.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Cloud Add''' and '''Cloud Remove''': Paint strokes created with the Cloud Add tool appear in green, while paint strokes created with the Cloud Remove tool are coloured purple.  Both tools allow you to set the brush size and opacity.  You can use the left “[“ and right “]” bracket keys to change the current tool’s brush size.  Paint strokes are grouped together into a layer when their size and opacity are the same.  A new layer is created whenever the size or opacity is changed and a new paint stroke is made.  You can edit the size and opacity of a paint stroke layer by simply hitting the Space Bar to enter into the Edit mode. Within the Edit mode, you can move paint strokes from one canvas to another.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File:89_Add-Remove_Cloud.jpg|none|800px|Brush strokes painted with the Cloud Add tool appear green.  Strokes painted with the Cloud Remove tool are coloured purple.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Erase Points''': The Erase Points tool works like an eraser, allowing you to remove individual points of the curve that makes up the brush stroke.  With the tool selected, simply left click and drag over the points you want to remove from the curve.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 84_EraseTool.jpg | none|800 px |The Erase tool is used to remove points from the brush stroke.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Move''': The Move tool allows you to move entire paint stroke layers. Hovering the cursor over the paint strokes will highlight the current paint stroke layer to move.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| [[ File: 86_Move_Cloud_Add.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Add curves have been moved.]]&lt;br /&gt;
|-&lt;br /&gt;
| [[File: 87_Move_Cloud_Remove.jpg |none|800 px |With the Move tool you can rearrange brush stroke curves.  Here the Cloud Remove curves have been moved.]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''Stir''': The Stir tool allows you to distort the shape of the paint stroke curve.  When selected, the tool displays two dotted circles indicating the extent of the distortion effect upon points that fall within.  Points of the curve within the inner circle are more intensely affected by the strength of the distortion, which gradually falls off by the outer circle.  The “Tool Size” parameter allows you to increase or decrease the area affected by distortion.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
[[File: 88_Stir_Cloud_Add.jpg |none|800 px |The Stir tool displaces the points of the brush stroke curve.]]&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Edit Mode''': &amp;lt;br&amp;gt;&lt;br /&gt;
Hitting the Space Bar will bring up the Edit Mode.  Any canvas having contained a paint stroke will be listed in the Canvas column.  The Layers column lists the paint stroke layers for that canvas.  You can select an individual layer or use the keyboard shortcuts [K] and [L] to select the previous or next layer.  Pressing the [Delete] key will delete the paint stroke layer.  If you delete a layer accidentally, you can undo the deletion via the main menu Edit dialog, or pressing Ctl-Z.&lt;br /&gt;
With a layer selected you can modify the size of the brush stroke and its opacity.&lt;br /&gt;
[[File: 79_EditMode.jpg | none|800 px|Edit mode]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Painting Viewpoints''': &amp;lt;br&amp;gt;&lt;br /&gt;
You can paint from multiple viewpoints. Up to 10 different camera positions can be stored as a viewpoint, and each viewpoint has its own set of cube maps. These are projected into 3D space and intersect with one another to provide a merged solution to where clouds should be added and removed in 3D space.&lt;br /&gt;
Painting Viewpoints can be selected with the buttons at the top of the Viewport. You can hover over them to preview viewpoints temporarily without switching to them.&lt;br /&gt;
[[File:98_SkyPaint_Viewpoint1.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 1.]]&amp;lt;br/n&amp;gt;&lt;br /&gt;
[[File:99_SkyPaint_Viewpoint2.jpg|none|800px|Sky Paint workspace viewed from Viewpoint 2.]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
	<entry>
		<id>https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_14_HelpMenuLicense.jpg&amp;diff=16952</id>
		<title>File:TGSky 20251012 14 HelpMenuLicense.jpg</title>
		<link rel="alternate" type="text/html" href="https://planetside.co.uk/wiki/index.php?title=File:TGSky_20251012_14_HelpMenuLicense.jpg&amp;diff=16952"/>
		<updated>2025-10-14T08:04:50Z</updated>

		<summary type="html">&lt;p&gt;Redmaw: Terragen Sky 2025-10-12 UI update for Main Menu Help - License&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Terragen Sky 2025-10-12 UI update for Main Menu Help - License&lt;/div&gt;</summary>
		<author><name>Redmaw</name></author>
		
	</entry>
</feed>