Difference between revisions of "Get Position in Texture"

From Terragen Documentation from Planetside Software
Jump to: navigation, search
(Get Position in Texture)
(Get Position in Texture)
Line 4: Line 4:
 
[[Image:drex_module_40_image_0.png|485pxpx|Get Position in Texture]]
 
[[Image:drex_module_40_image_0.png|485pxpx|Get Position in Texture]]
  
Provides the "Position In Texture" of the current [[Render State]]. The [[Render State]] is affected by any shaders which were called before this function is called, among other things. Get Position in Texture provides the 3D texture coordinates at the current point. On imported objects such as OBJs or TGOs, these coordinates are often the UV texture coordinates (where X = U, Y = V, Z = 0). On terrains these coordinates are initially set to the position on the flat planet from which the terrain was displaced, but may be updated by [[Compute Terrain]] or [[Tex Coords From XYZ]] nodes to provide fully 3D texture coordinates.
+
Provides the "Position In Texture" of the current [[Render State]]. The [[Render State]] is affected by any shaders which were called before this function is called, among other things. Get Position in Texture provides the 3D texture coordinates at the current point. On imported objects such as OBJs or TGOs, these coordinates are often the UV texture coordinates (where X = U, Y = V, Z = 0). On terrains these coordinates are initially set to the position on the flat planet from which the terrain was displaced, but may be updated by [[Compute Terrain]] or [[Tex Coords From XYZ]] nodes to provide fully 3D texture coordinates. [[Transform Shader]] and [[Warp Shader]] modify Position in Texture for any networks connected to their Shader inputs, and other shaders may do so.
 +
 
 +
Get Position in Texture has a couple of advantages over [[Get Position]]. First, in a typical Terragen 2 scene, Position in Texture is set by [[Compute Terrain]] or [[Tex Coords From XYZ]] to provide a consistent value between displacement contexts and colour/lighting contexts for any shaders that are computed after those nodes. Second, in order for [[Transform Shader]] and [[Warp Shader]] to have any effect on networks connected to their Shader inputs, those networks must use Position in Texture.
 +
 
 +
In contexts where Position in Texture has not been updated (e.g. displacement before Compute Terrain or Tex Coords From XYZ), [[Get Position]] may be more useful.
  
 
The Input connection is not used by this node.
 
The Input connection is not used by this node.
 
__NOTOC__
 
__NOTOC__
 
<!-- imported from file: module_40.html-->
 
<!-- imported from file: module_40.html-->

Revision as of 01:19, 2 May 2011

Get Position in Texture[edit]

Get Position in Texture

Provides the "Position In Texture" of the current Render State. The Render State is affected by any shaders which were called before this function is called, among other things. Get Position in Texture provides the 3D texture coordinates at the current point. On imported objects such as OBJs or TGOs, these coordinates are often the UV texture coordinates (where X = U, Y = V, Z = 0). On terrains these coordinates are initially set to the position on the flat planet from which the terrain was displaced, but may be updated by Compute Terrain or Tex Coords From XYZ nodes to provide fully 3D texture coordinates. Transform Shader and Warp Shader modify Position in Texture for any networks connected to their Shader inputs, and other shaders may do so.

Get Position in Texture has a couple of advantages over Get Position. First, in a typical Terragen 2 scene, Position in Texture is set by Compute Terrain or Tex Coords From XYZ to provide a consistent value between displacement contexts and colour/lighting contexts for any shaders that are computed after those nodes. Second, in order for Transform Shader and Warp Shader to have any effect on networks connected to their Shader inputs, those networks must use Position in Texture.

In contexts where Position in Texture has not been updated (e.g. displacement before Compute Terrain or Tex Coords From XYZ), Get Position may be more useful.

The Input connection is not used by this node.


Literally, to change the position of something. In graphics terminology to displace a surface is to modify its geometric (3D) structure using reference data of some kind. For example, a grayscale image might be taken as input, with black areas indicating no displacement of the surface, and white indicating maximum displacement. In Terragen 2 displacement is used to create all terrain by taking heightfield or procedural data as input and using it to displace the normally flat sphere of the planet.

A single object or device in the node network which generates or modifies data and may accept input data or create output data or both, depending on its function. Nodes usually have their own settings which control the data they create or how they modify data passing through them. Nodes are connected together in a network to perform work in a network-based user interface. In Terragen 2 nodes are connected together to describe a scene.