Urho
1.0.0.0
Urho.RefCounted
Rendering path definition.
rendering and any post-processing on a Viewport is defined by its RenderPath object, which can either be read from an XML file or be created programmatically.
The render path consists of rendertarget definitions and commands. The commands are executed in order to yield the rendering result. Each command outputs either to the destination rendertarget & viewport (default if output definition is omitted), or one of the named rendertargets. MRT output is also possible. If the rendertarget is a cube map,
the face to render to (0-5) can also be specified.
A rendertarget's size can be either absolute or multiply or divide the destination viewport size. The multiplier or divisor does not need to be an integer number. Furthermore, a rendertarget can be declared "persistent" so that it will not be mixed with other rendertargets of the same size and format, and its contents can be assumed to be available also on subsequent frames.
Note that if you already have created a named rendertarget texture in code and have stored it into the resource cache by using you can use it directly as an output (by referring to its name) without requiring a rendertarget definition for it.
The available commands are:
-
clear: Clear any of color, depth and stencil. Color clear can optionally use the fog color from the Zone visible at the far clip distance.
-
scenepass: Render scene objects whose contains the specified pass. Will either be front-to-back ordered with state sorting, or back-to-front ordered with no state sorting. For deferred rendering, object lightmasks can be optionally marked to the stencil buffer. Vertex lights can optionally be handled during a pass, if it has the necessary shader combinations. Textures global to the pass can be bound to free texture units; these can either be the viewport, a named rendertarget, or a texture resource identified with its pathname.
-
quad: Render a viewport-sized quad using the specified shaders and compilation defines. Textures can be bound and additionally shader parameters and the blend mode (default=replace) can be specified.
-
forwardlights: Render per-pixel forward lighting for opaque objects with the specified pass name. Shadow maps are also rendered as necessary.
-
lightvolumes: Render deferred light volumes using the specified shaders. G-buffer textures can be bound as necessary.
-
renderui: Render the UI into the output rendertarget. Using this will cause the default %UI render to the backbuffer to be skipped.
A render path can be loaded from a main XML file by calling , after which other XML files (for example one for each post-processing effect) can be appended to it by calling . Rendertargets and commands can be enabled or disabled by calling to switch eg. a post-processing effect on or off. To aid in this, both can be identified by tag names, for example the bloom effect uses the tag "Bloom" for all of its rendertargets and commands.
It is legal to both write to the destination viewport and sample from it during the same command: pingpong copies of its contents will be made automatically. If the viewport has hardware multisampling on, the multisampled backbuffer will be resolved to a texture before sampling it.
Constructor
1.0.0.0
To be added.
To be added.
Constructor
1.0.0.0
Pointer to the raw unmanaged Urho object.
Constructs a new instance of Urho.RenderPath, given a raw pointer to an unmanaged object
This creates a new managed wrapper for the type using the raw pointer to an unmanaged object.
Objects that are created in this fashion get registered with the UrhoSharp runtime.
This is intended to be used by the UrhoSharp runtime, and is not intended to be used by users.
Constructor
1.0.0.0
Pass UrhoObjectFlag.Empty.
Empty constructor, chain to this constructor when you provide your own constructor that sets the handle field.
This constructor should be invoked by your code if you provide your own constructor that sets the handle field.
This essentially circumvents the default path that creates a new object and sets the handle and does not call RegisterObject on the target, you must do this on your own constructor.
You would typically chain to this constructor from your own, and then set the handle to the unmanaged object from your code, and then register your object.
Method
1.0.0.0
System.Boolean
To be added.
To be added.
To be added.
To be added.
Method
1.0.0.0
Urho.RenderPath
Clone the rendering path.
To be added.
To be added.
Method
1.0.0.0
Urho.RenderPathCommand*
To be added.
Return command at index, or null if does not exist.
To be added.
To be added.
Method
1.0.0.0
System.Boolean
To be added.
To be added.
To be added.
To be added.
Property
1.0.0.0
System.UInt32
Return number of commands.
To be added.
To be added.
Property
1.0.0.0
System.UInt32
Return number of rendertargets.
To be added.
To be added.
Method
1.0.0.0
System.Void
To be added.
Remove a command by index.
To be added.
Method
1.0.0.0
System.Void
To be added.
Remove commands by tag name.
To be added.
Method
1.0.0.0
System.Void
To be added.
Remove a rendertarget by name.
To be added.
Method
1.0.0.0
System.Void
To be added.
Remove a rendertarget by index.
To be added.
Method
1.0.0.0
System.Void
To be added.
Remove rendertargets by tag name.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Enable/disable commands and rendertargets by tag.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
To be added.
Set a shader parameter in all commands that define it.
To be added.
Method
1.0.0.0
System.Void
To be added.
Toggle enabled state of commands and rendertargets by tag.
To be added.