OmegaEngine API  1.0.3
Public Member Functions | Public Attributes | Protected Member Functions | Properties | List of all members
OmegaEngine.Graphics.Shaders.PostShader Class Reference

A shader that is applied to the complete scene after rendering. More...

Inheritance diagram for OmegaEngine.Graphics.Shaders.PostShader:
OmegaEngine.Graphics.Shaders.Shader OmegaEngine.EngineElement OmegaEngine.Graphics.Shaders.PostBleachShader OmegaEngine.Graphics.Shaders.PostBlurShader OmegaEngine.Graphics.Shaders.PostCameraShakeShader OmegaEngine.Graphics.Shaders.PostColorCorrectionShader OmegaEngine.Graphics.Shaders.PostHaloShader OmegaEngine.Graphics.Shaders.PostRadialBlurShader OmegaEngine.Graphics.Shaders.PostScratchedFilmShader OmegaEngine.Graphics.Shaders.PostSepiaShader

Public Member Functions

virtual void Apply (Action render, Size sceneSize, RenderTarget sceneMap)
 Applies a post-screen shader to a scene More...
 
- Public Member Functions inherited from OmegaEngine.Graphics.Shaders.Shader
void LoadShaderFile (string path)
 Loads an Effect from an More...
 
void Inject (string path)
 Replaces the loaded shader with a new one loaded from a file at run time. More...
 
override string ToString ()
 
void OnLostDevice ()
 Called when the device has been lost. More...
 
void OnResetDevice ()
 Called when the device has been reset. More...
 
- Public Member Functions inherited from OmegaEngine.EngineElement
void Dispose ()
 

Public Attributes

virtual bool OverlayRendering => false
 Does this post-screen shader use overlay rendering instead of a scene map? More...
 
- Public Attributes inherited from OmegaEngine.EngineElement
bool IsEngineSet => _engine != null
 true if the Engine has been set. More...
 

Protected Member Functions

virtual void RunPasses (Action render, Size sceneSize, RenderTarget sceneMap)
 Runs the actual shader passes More...
 
- Protected Member Functions inherited from OmegaEngine.Graphics.Shaders.Shader
void ExecuteScript (IEnumerable< SasScriptCommand > script, Action render, Size sceneSize, RenderTarget sceneMap, bool passScipt)
 Executes a SAS script block More...
 
void ExecuteScript (IEnumerable< SasScriptCommand > script, Action render=null, Size sceneSize=new Size(), RenderTarget sceneMap=null)
 Executes a SAS post-screen shader technique script block More...
 
void SetShaderParameter< T > (string name, T value)
 Sets a specific shader parameter. Automatically defers the action if Effect has not been set yet. More...
 
void SetShaderParameter (string name, Color value)
 Sets a specific shader parameter. Automatically defers the action if Effect has not been set yet. More...
 
override void OnEngineSet ()
 Hook that is calld when Engine is set for the first time.
 
override void OnDispose ()
 Hook that is called when the object needs to dispose its internal resources.
 
- Protected Member Functions inherited from OmegaEngine.EngineElement
void RegisterChild (EngineElement element, bool autoDispose=true)
 Registers a child EngineElement for automatic Engine setting and Dispose calling. More...
 
void UnregisterChild (EngineElement element)
 Unregisters a child EngineElement (opposite of RegisterChild). More...
 

Properties

bool Enabled = true [get, set]
 Shall this post-screen effect be applied? More...
 
- Properties inherited from OmegaEngine.Graphics.Shaders.Shader
Effect Effect [get, set]
 The Direct3D effect for this shader More...
 
- Properties inherited from OmegaEngine.EngineElement
Engine Engine [get, set]
 The Engine instance used by this object. Must be set before using the object. May not be changed once it has been set! More...
 
bool IsDisposed [get]
 Indicates whether this object has been disposed and can therefore no longer be used. More...
 

Additional Inherited Members

- Protected Attributes inherited from OmegaEngine.Graphics.Shaders.Shader
ScriptEffectType ScriptType
 The type of shader the SAS scripts were written for More...
 
IList< SasScriptCommandGlobalScript
 A list of commands composing the global SAS script More...
 
readonly Dictionary< EffectHandle, IList< SasScriptCommand > > Techniques = new Dictionary<EffectHandle, IList<SasScriptCommand>>()
 A list of techniques and their SAS scripts More...
 
readonly Dictionary< EffectHandle, IList< SasScriptCommand > > Passes = new Dictionary<EffectHandle, IList<SasScriptCommand>>()
 A list of passes and their SAS scripts More...
 
ParameterInfo [] ParameterInfos
 A list of annotated shader parameters More...
 

Detailed Description

A shader that is applied to the complete scene after rendering.

See also
View.PostShaders

Member Function Documentation

◆ Apply()

virtual void OmegaEngine.Graphics.Shaders.PostShader.Apply ( Action  render,
Size  sceneSize,
RenderTarget  sceneMap 
)
inlinevirtual

Applies a post-screen shader to a scene

Parameters
renderThe delegate to call back for rendering the output
sceneSizeThe size of the scene on the screen - leave empty for fullscreen
sceneMapA texture containing the rendered scene, null if the shader doesn't need it

◆ RunPasses()

virtual void OmegaEngine.Graphics.Shaders.PostShader.RunPasses ( Action  render,
Size  sceneSize,
RenderTarget  sceneMap 
)
inlineprotectedvirtual

Runs the actual shader passes

Parameters
renderThe render delegate (is called once for every shader pass)
sceneSizeThe size of the scene on the screen - leave empty for fullscreen
sceneMapA texture containing the rendered scene, null if the shader doesn't need it

Reimplemented in OmegaEngine.Graphics.Shaders.PostGlowShader.

Member Data Documentation

◆ OverlayRendering

virtual bool OmegaEngine.Graphics.Shaders.PostShader.OverlayRendering => false

Does this post-screen shader use overlay rendering instead of a scene map?

Property Documentation

◆ Enabled

bool OmegaEngine.Graphics.Shaders.PostShader.Enabled = true
getset

Shall this post-screen effect be applied?


The documentation for this class was generated from the following file: