OmegaEngine API
1.0.3
|
A shader that controls the look of a PositionableRenderable's surface More...
Public Member Functions | |
virtual void | Apply (Action render, XMaterial material, Camera camera, params LightSource[] lights) |
Applies the shader to the content in the render delegate 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 () |
Protected Member Functions | |
void | SetupLight (PointLight light, int index, XMaterial material) |
Transfer lighting data from a PointLight to the shader More... | |
void | SetupLight (DirectionalLight light, int index, XMaterial material) |
Transfer lighting data from a DirectionalLight to the shader More... | |
virtual void | RunPasses (Action render, XMaterial material, params LightSource[] lights) |
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... | |
Additional Inherited Members | |
Public Attributes inherited from OmegaEngine.EngineElement | |
bool | IsEngineSet => _engine != null |
true if the Engine has been set. More... | |
Protected Attributes inherited from OmegaEngine.Graphics.Shaders.Shader | |
ScriptEffectType | ScriptType |
The type of shader the SAS scripts were written for More... | |
IList< SasScriptCommand > | GlobalScript |
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... | |
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... | |
A shader that controls the look of a PositionableRenderable's surface
|
inlinevirtual |
Applies the shader to the content in the render delegate
render | The render delegate (is called once for every shader pass) |
material | The material to be used by this shader; null for device texture |
camera | The camera for transformation information |
lights | An array of all lights this shader should consider |
Reimplemented in OmegaEngine.Graphics.Shaders.WaterShader, OmegaEngine.Graphics.Shaders.ParticleShader, OmegaEngine.Graphics.Shaders.TerrainShader, and OmegaEngine.Graphics.Shaders.GeneralShader.
|
inlineprotectedvirtual |
Runs the actual shader passes
render | The render delegate (is called once for every shader pass) |
material | The material to be used by this shader; null for device texture |
lights | An array of all lights this shader should consider; null for no lighting |
Reimplemented in OmegaEngine.Graphics.Shaders.LightingShader.
|
inlineprotected |
Transfer lighting data from a PointLight to the shader
light | The PointLight to get the information from |
index | The light index in the shader to set |
material | The currently active material |
|
inlineprotected |
Transfer lighting data from a DirectionalLight to the shader
light | The DirectionalLight to get the information from |
index | The light index in the shader to set |
material | The currently active material |