~ Moved code around in files. SM.Base: + PostProcessing-system + OnInitialization() for Scenes. + Shader-Extensions + Added option to not react while unfocused to the window. + Added Screenshots to the window. + Connected the log system to the SM.OGL-action system. ~ Replaced IShader with abstract MaterialShader. ~ When a log compression folder doesn't exist, it will create one. SM.OGL: + Added support for UniformArrays + Added ShaderPreProcessing + Added Shader Extensions. + Added Debug actions. + SM.OGL settings ~ Framebuffer Size is automaticly changed, when the window and scale is set. SM2D: + Added easy shader drawing.
48 lines
No EOL
1.3 KiB
C#
48 lines
No EOL
1.3 KiB
C#
#region usings
|
|
|
|
using OpenTK.Graphics.OpenGL4;
|
|
|
|
#endregion
|
|
|
|
namespace SM.OGL.Texture
|
|
{
|
|
/// <summary>
|
|
/// Works as a basis for textures.
|
|
/// </summary>
|
|
public abstract class TextureBase : GLObject
|
|
{
|
|
/// <inheritdoc />
|
|
protected override bool AutoCompile { get; } = true;
|
|
|
|
/// <inheritdoc />
|
|
public override ObjectLabelIdentifier TypeIdentifier { get; } = ObjectLabelIdentifier.Texture;
|
|
|
|
/// <summary>
|
|
/// The texture filter.
|
|
/// <para>Default: <see cref="TextureMinFilter.Linear" /></para>
|
|
/// </summary>
|
|
public virtual TextureMinFilter Filter { get; set; } = TextureMinFilter.Linear;
|
|
|
|
/// <summary>
|
|
/// The wrap mode.
|
|
/// <para>Default: <see cref="TextureWrapMode.Repeat" /></para>
|
|
/// </summary>
|
|
public virtual TextureWrapMode WrapMode { get; set; } = TextureWrapMode.Repeat;
|
|
|
|
/// <summary>
|
|
/// The Width of the texture
|
|
/// </summary>
|
|
public int Width { get; protected set; }
|
|
|
|
/// <summary>
|
|
/// The height of the texture
|
|
/// </summary>
|
|
public int Height { get; protected set; }
|
|
|
|
public override void Dispose()
|
|
{
|
|
base.Dispose();
|
|
GL.DeleteTexture(_id);
|
|
}
|
|
}
|
|
} |