using System.Collections; using System.Collections.Generic; using System.Diagnostics; using OpenTK; using OpenTK.Graphics.OpenGL4; using SM.Base.Objects.Static; using SM.Base.Scene; using SM.OGL.Framebuffer; using SM.OGL.Shaders; namespace SM.Base.PostProcess { /// /// Basis for a post process effect /// public abstract class PostProcessEffect { internal static Matrix4 Mvp; internal static Matrix4 Model; /// /// Method, to initialize the shader. /// public virtual void Init() {} /// /// Method, to initialize the shader. /// public virtual void Init(Framebuffer main) { Init(); } /// /// Method to draw the actual effect. /// /// The framebuffer, that was used. /// The framebuffer, the system should draw to. public abstract void Draw(Framebuffer main, Framebuffer target); /// /// Event, when the scene changed. /// public virtual void SceneChanged(GenericScene scene) { } } }