IRenderEffectBase

Description

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

Apply


[BeginEnd]
public method Apply → ()

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

Initialize


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.

RenderException

If a graphics subsystem error has occurred.

Pass


[BeginEnd]
public method Pass → (1)

pass in : int32

[0..IRenderEffectBase.PassCount-1]
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.

Pass​Available


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

Data​Flow


[OwnerReturn]
public attribute DataFlow → (get)

value : Graph<string>

[not-null]
The data flow.

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

Pass​Count


public attribute PassCount → (get)

value : int32

[>=0]
The number of effect passed.

The number of effect passes.

Pass​Current


public attribute PassCurrent → (get)

value : int32

[-1..IRenderEffectBase.PassCount-1]
The current pass or -1 if none.

The current pass.