#region usings using OpenTK; using SM.Base.Scene; using SM.Base.Window; #endregion namespace SM.Base.PostProcess { /// /// Basis for a post process effect /// public abstract class PostProcessEffect { /// /// This contains the transformation matrix for post process effects. /// public static Matrix4 Mvp = Matrix4.Identity; /// /// This contains the pipeline this instance is currently active. /// protected RenderPipeline Pipeline; /// /// Initialize the effect. /// /// public void Initilize(RenderPipeline pipeline) { Pipeline = pipeline; InitProcess(); } /// /// Method, to initialize the shader. /// protected virtual void InitProcess() { } /// /// Method to draw the actual effect. /// public abstract void Draw(DrawContext context); /// /// Event, when the scene changed. /// public virtual void SceneChanged(GenericScene scene) { } } }