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)
{
}
}
}