interface Tinman.Engine.Rendering.IRenderEffectBase

Base interface for classes that represent a render effect, implemented as a GPU program.

The IBeginEnd.Begin and IBeginEnd.End methods of IRenderEffectBase may only be called between paired IBeginEnd.Begin / IBeginEnd.End of the owning IGraphicsContext.

Public / Methods


public method Apply → ()

Applies all changes that have been made to render effect parameters since the last call to Pass.


public method Initialize → ()

returns → bool

true if the object has been initialized,
false if the object has already been initialized before.

Initializes the object, if necessary.


If a graphics subsystem error has occurred.


public method Pass → (1)

pass in : int32

The pass index.

returns → bool

true if the current render effect pass has changed to pass in,
false if pass in already is the current pass.

Begins to render the given effect pass.


public method PassAvailable → (1)

pass in : int32

The pass index.

returns → bool

true if the render effect pass is available,
false if not.

Checks if the given render effect pass is available in the current graphics context.

A render effect may provide advanced techniques that may not be applicable to old graphics APIs (e.g. hardware tessellation on Direct3D 9). This method is used to determine if a specific pass is supported.

Public / Attributes


public attribute DataFlow → (get)

value : Graph<string>

The data flow.

Constructs a graph that describes the data flow between the shader objects of this effect.


public attribute PassCount → (get)

value : int32

The number of effect passed.

The number of effect passes.


public attribute PassCurrent → (get)

value : int32

The current pass or -1 if none.

The current pass.