2021-26-03
+ Texture compression ~ General spring cleaning
This commit is contained in:
parent
bf1118c261
commit
7afec9c9ef
8 changed files with 42 additions and 32 deletions
|
|
@ -13,8 +13,8 @@ namespace SM.Base.Controls
|
|||
/// </summary>
|
||||
public static class Keyboard
|
||||
{
|
||||
internal static KeyboardState? _keyboardState;
|
||||
internal static List<Key> _lastPressedKeys = new List<Key>();
|
||||
private static KeyboardState? _keyboardState;
|
||||
private static List<Key> _lastPressedKeys = new List<Key>();
|
||||
|
||||
/// <summary>
|
||||
/// True, when ANY key pressed.
|
||||
|
|
|
|||
|
|
@ -15,8 +15,8 @@ namespace SM.Base.Controls
|
|||
/// </summary>
|
||||
public class Mouse
|
||||
{
|
||||
internal static MouseState? _mouseState;
|
||||
internal static List<MouseButton> _lastButtonsPressed = new List<MouseButton>();
|
||||
private static MouseState? _mouseState;
|
||||
private static List<MouseButton> _lastButtonsPressed = new List<MouseButton>();
|
||||
|
||||
/// <summary>
|
||||
/// The current position of the mouse in the screen.
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ namespace SM.Base.Drawing.Particles
|
|||
/// <summary>
|
||||
/// The maximum speed of the particles
|
||||
/// </summary>
|
||||
public float MaxSpeed = 1;
|
||||
public float MaxSpeed = 50;
|
||||
|
||||
/// <summary>
|
||||
/// This contains all important information for each particle.
|
||||
|
|
@ -67,13 +67,14 @@ namespace SM.Base.Drawing.Particles
|
|||
public abstract Func<TDirection, ParticleContext, TDirection> MovementCalculation { get; set; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool UpdateActive { get; set; }
|
||||
public bool UpdateActive {
|
||||
get => timer.Active;
|
||||
set { return; }
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public void Update(UpdateContext context)
|
||||
{
|
||||
if (!timer.Running) return;
|
||||
|
||||
ParticleContext particleContext = new ParticleContext
|
||||
{
|
||||
Timer = timer
|
||||
|
|
|
|||
|
|
@ -15,6 +15,21 @@ namespace SM.Base.Textures
|
|||
/// </summary>
|
||||
public class Texture : TextureBase
|
||||
{
|
||||
static HintMode _hintMode;
|
||||
/// <summary>
|
||||
/// Defines the texture quailty.
|
||||
/// <para>It won't change already compiled textures!</para>
|
||||
/// </summary>
|
||||
public static HintMode TextureQuality
|
||||
{
|
||||
get => _hintMode;
|
||||
set
|
||||
{
|
||||
_hintMode = value;
|
||||
GL.Hint(HintTarget.TextureCompressionHint, value);
|
||||
}
|
||||
}
|
||||
|
||||
private int? _height;
|
||||
private int? _width;
|
||||
|
||||
|
|
@ -116,7 +131,7 @@ namespace SM.Base.Textures
|
|||
var transparenz = map.PixelFormat == PixelFormat.Format32bppArgb;
|
||||
|
||||
GL.TexImage2D(TextureTarget.Texture2D, 0,
|
||||
transparenz ? PixelInternalFormat.Rgba : PixelInternalFormat.Rgb,
|
||||
transparenz ? PixelInternalFormat.CompressedRgba : PixelInternalFormat.CompressedRgb,
|
||||
data.Width, data.Height, 0,
|
||||
transparenz ? OpenTK.Graphics.OpenGL4.PixelFormat.Bgra : OpenTK.Graphics.OpenGL4.PixelFormat.Bgr,
|
||||
PixelType.UnsignedByte, data.Scan0);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ namespace SM.OGL
|
|||
/// <summary>
|
||||
/// Checks for OpenGL errors, while allowing to put stuff before and behind it.
|
||||
/// </summary>
|
||||
/// <param name="formating"></param>
|
||||
/// <param name="formating">To decided where to put the error code into, just enter "%code%" to that specific place.</param>
|
||||
/// <returns></returns>
|
||||
public static bool CheckGLErrors(string formating)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ namespace SM.OGL.Shaders
|
|||
foreach (ShaderFile file in Fragment)
|
||||
GL.DetachShader(shader, file);
|
||||
|
||||
GLDebugging.CheckGLErrors($"Error at detaching '{shader.GetType()}'");
|
||||
GLDebugging.CheckGLErrors($"Error at detaching '{shader.GetType()}': %code%");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -14,6 +14,11 @@ namespace SM2D.Drawing
|
|||
/// <inheritdoc />
|
||||
public override Func<Vector2, ParticleContext, Vector2> MovementCalculation { get; set; } = ParticleMovement.Default2D;
|
||||
|
||||
/// <summary>
|
||||
/// The direction the particles should travel.
|
||||
/// </summary>
|
||||
public Vector2? Direction;
|
||||
|
||||
/// <inheritdoc />
|
||||
public DrawParticles(TimeSpan duration) : base(duration)
|
||||
{
|
||||
|
|
@ -25,7 +30,7 @@ namespace SM2D.Drawing
|
|||
return new ParticleStruct<Vector2>()
|
||||
{
|
||||
Matrix = Matrix4.CreateScale(1),
|
||||
Direction = new Vector2(Randomize.GetFloat(-1, 1), Randomize.GetFloat(-1, 1)),
|
||||
Direction = Direction.GetValueOrDefault(new Vector2(Randomize.GetFloat(-1, 1), Randomize.GetFloat(-1, 1))),
|
||||
Speed = Randomize.GetFloat(MaxSpeed)
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue