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 → ()

returns → bool

true if changes have been applied to render effect parameters,
false if there are no changes.

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 → int32

2 if the render effect pass has changed to pass in,
1 if changes have been applied to render effect parameters of the same pass,
0 if there are no changes.

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 passes.

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.