commit 0c94b168d2beaacca0599f98ef11e695fb13a44f Author: avery Date: Tue Mar 10 21:03:03 2026 -0400 2D Renderer V1.0B diff --git a/.idea/.idea.2DRenderer/.idea/.gitignore b/.idea/.idea.2DRenderer/.idea/.gitignore new file mode 100644 index 0000000..60463c8 --- /dev/null +++ b/.idea/.idea.2DRenderer/.idea/.gitignore @@ -0,0 +1,13 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Rider ignored files +/modules.xml +/projectSettingsUpdater.xml +/contentModel.xml +/.idea.2DRenderer.iml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.idea.2DRenderer/.idea/dictionaries/project.xml b/.idea/.idea.2DRenderer/.idea/dictionaries/project.xml new file mode 100644 index 0000000..505a707 --- /dev/null +++ b/.idea/.idea.2DRenderer/.idea/dictionaries/project.xml @@ -0,0 +1,7 @@ + + + + awperative + + + \ No newline at end of file diff --git a/.idea/.idea.2DRenderer/.idea/indexLayout.xml b/.idea/.idea.2DRenderer/.idea/indexLayout.xml new file mode 100644 index 0000000..7b08163 --- /dev/null +++ b/.idea/.idea.2DRenderer/.idea/indexLayout.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/.idea.2DRenderer/.idea/misc.xml b/.idea/.idea.2DRenderer/.idea/misc.xml new file mode 100644 index 0000000..104c42f --- /dev/null +++ b/.idea/.idea.2DRenderer/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/.idea/.idea.2DRenderer/.idea/vcs.xml b/.idea/.idea.2DRenderer/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/.idea.2DRenderer/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/2DRenderer.sln b/2DRenderer.sln new file mode 100644 index 0000000..2fd4334 --- /dev/null +++ b/2DRenderer.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "2DRenderer", "2DRenderer\2DRenderer.csproj", "{FC946AFB-4F3F-459B-8EBB-9AADEE689FEA}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FC946AFB-4F3F-459B-8EBB-9AADEE689FEA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FC946AFB-4F3F-459B-8EBB-9AADEE689FEA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FC946AFB-4F3F-459B-8EBB-9AADEE689FEA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FC946AFB-4F3F-459B-8EBB-9AADEE689FEA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/2DRenderer.sln.DotSettings.user b/2DRenderer.sln.DotSettings.user new file mode 100644 index 0000000..ee7002e --- /dev/null +++ b/2DRenderer.sln.DotSettings.user @@ -0,0 +1,2 @@ + + True \ No newline at end of file diff --git a/2DRenderer/2DRenderer.csproj b/2DRenderer/2DRenderer.csproj new file mode 100644 index 0000000..8fc8b29 --- /dev/null +++ b/2DRenderer/2DRenderer.csproj @@ -0,0 +1,26 @@ + + + + net9.0 + _2DRenderer + enable + enable + + + + + + + + + + + + + + + ..\..\..\Build\Kernel\net8.0\AwperativeKernel.dll + + + + diff --git a/2DRenderer/Camera2D.cs b/2DRenderer/Camera2D.cs new file mode 100644 index 0000000..55c2069 --- /dev/null +++ b/2DRenderer/Camera2D.cs @@ -0,0 +1,209 @@ +using System.Reflection; +using AwperativeKernel; +using OpenTK.Graphics.OpenGL; +using OpenTK.Mathematics; +using OpenTK.Windowing.Common; +using StbImageSharp; + + +namespace Awperative.Renderer2D; + + +public class Camera2D : Component, IDisposable +{ + + + + /// Handle of the vertex array object + [MarkerAttributes.GLHandle] + internal int vertexArray; + + /// Handle of the buffer where all the instances are stored + [MarkerAttributes.GLHandle] + internal int instanceBuffer; + + + /// All sprites the camera is currently rendering + public List Sprites = []; + + /// Information on how sprite textures are organized, each index has a number corresponding to the amount of sprites with each texture + public List TextureGroups = []; + + + /// Background color of the camera + public static Color4 Background { + get => _background; + set { + _background = value; + GL.ClearColor(_background); + } + } private static Color4 _background; + + + + + + /// Initializes the camera! + public void Create() { + + instanceBuffer = GL.GenBuffer(); + GL.BindBuffer(BufferTarget.ArrayBuffer, instanceBuffer); + GL.BufferData(BufferTarget.ArrayBuffer, 0, 0, BufferUsage.DynamicDraw); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + + #region Vertex Array Object + + vertexArray = GL.GenVertexArray(); + GL.BindVertexArray(vertexArray); + + GL.BindBuffer(BufferTarget.ArrayBuffer, Renderer2DProfile.VertexBufferHandle); + GL.VertexAttribPointer(0, 2, VertexAttribPointerType.Float, false, 2 * sizeof(float), 0); + GL.EnableVertexAttribArray(0); + + + GL.BindBuffer(BufferTarget.ArrayBuffer, instanceBuffer); + + + GL.VertexAttribPointer(1, 2, VertexAttribPointerType.Float, false, 9 * sizeof(float), 0); + GL.EnableVertexAttribArray(1); + GL.VertexAttribDivisor(1, 1); + + GL.VertexAttribPointer(2, 2, VertexAttribPointerType.Float, false, 9 * sizeof(float), 2 * sizeof(float)); + GL.EnableVertexAttribArray(2); + GL.VertexAttribDivisor(2, 1); + + GL.VertexAttribPointer(3, 1, VertexAttribPointerType.Float, false, 9 * sizeof(float), 4 * sizeof(float)); + GL.EnableVertexAttribArray(3); + GL.VertexAttribDivisor(3, 1); + + GL.VertexAttribPointer(4, 4, VertexAttribPointerType.Float, false, 9 * sizeof(float), 5 * sizeof(float)); + GL.EnableVertexAttribArray(4); + GL.VertexAttribDivisor(4, 1); + + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + GL.BindVertexArray(0); + + #endregion + + OnResize(new ResizeEventArgs(AwperativeBase.Size.X, AwperativeBase.Size.Y)); + AwperativeBase.Resize += OnResize; + + MapTextures(); + } + + + + /// Clears OpenGL of leftover buffers + public void Dispose() { + GL.DeleteBuffer(instanceBuffer); + GL.DeleteVertexArray(vertexArray); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + GL.BindVertexArray(0); + GC.SuppressFinalize(this); + } + + + + /// Fixes viewport info and updates uniforms + private void OnResize(ResizeEventArgs e) { + GL.Viewport(0, 0, e.Width, e.Height); + int uniform = GL.GetUniformLocation(Renderer2DProfile.ProgramHandle, "viewport"); + GL.UseProgram(Renderer2DProfile.ProgramHandle); + GL.Uniform2f(uniform, e.Width, e.Height); + GL.UseProgram(0); + } + + + /// Registers a sprite into the camera + internal void Add(Sprite2D sprite) { + sprite.Index = Sprites.Count; + Sprites.Add(sprite); + + MapTextures(); + } + + + /// Removes a sprite from the camera + internal void Remove(Sprite2D __sprite) { + Sprites.Remove(__sprite); + + MapTextures(); + } + + + /// Maps textures and updates the OpenGL buffer! Also sorts all sprites belonging to the camera by texture order; to minimize swapping + public void MapTextures() { + + List InstanceData = []; + + Sprites.Sort(Renderer2DProfile.TextureSorter); + TextureGroups.Clear(); + + Texture2D currentTexture = null; + int currentCount = 0; + + for(int i = 0; i < Sprites.Count; i++) { + if (Sprites[i].source != null) { + //todo: tex crop + if (currentTexture == null) { + currentTexture = Sprites[i].source; + } else if (Sprites[i].source != currentTexture) { + + if (currentTexture.Handle != -1) { + TextureGroups.Add(currentCount); + } + + currentTexture = Sprites[i].source; + currentCount = 0; + } + + InstanceData.AddRange([Sprites[i].X, Sprites[i].Y, Sprites[i].Width, Sprites[i].Height, Sprites[i].Rotation, + Sprites[i].cropX, Sprites[i].cropY, Sprites[i].cropWidth, Sprites[i].cropHeight + ]); + } else { + InstanceData.AddRange([..new int[9]]); + } + + Sprites[i].Index = i; + currentCount++; + } + + TextureGroups.Add(currentCount); + + GL.BindBuffer(BufferTarget.ArrayBuffer, instanceBuffer); + GL.BufferData(BufferTarget.ArrayBuffer, InstanceData.Count * sizeof(float), InstanceData.ToArray(), BufferUsage.DynamicDraw); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + + + + /// Draws all the sprites belonging to the camera + public void Draw() { + + GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit); + GL.ActiveTexture(TextureUnit.Texture0); + + int instances = 0; + foreach (int group in TextureGroups) { + + Texture2D tex = Sprites[instances].source; + if(tex == null) continue; + + GL.BindTexture(TextureTarget.Texture2d, tex.Handle); + + GL.UseProgram(Renderer2DProfile.ProgramHandle); + GL.BindVertexArray(vertexArray); + GL.BindBuffer(BufferTarget.ElementArrayBuffer, Renderer2DProfile.IndexBufferHandle); + GL.DrawElementsInstancedBaseInstance(PrimitiveType.Triangles, 6, DrawElementsType.UnsignedInt, 0, group, (uint) instances); + instances += group; + + GL.BindVertexArray(0); + GL.UseProgram(0); + } + + AwperativeBase.SwapBuffers(); + } + + + +} \ No newline at end of file diff --git a/2DRenderer/Fragment.glsl b/2DRenderer/Fragment.glsl new file mode 100644 index 0000000..c0faee4 --- /dev/null +++ b/2DRenderer/Fragment.glsl @@ -0,0 +1,22 @@ +#version 330 core + +out vec4 fragColor; + +in vec2 texuv; +in vec4 crop; + +uniform sampler2D ftexture; + +void main() { + + float fixX = texuv.x / 2 + .5; + float fixY = texuv.y / 2 + .5f; + + float cropX = fixX * crop.z; + float cropY = fixY * crop.w; + + float offX = cropX + crop.x; + float offY = cropY + crop.y; + + fragColor = texture(ftexture, vec2(offX, offY)); +} diff --git a/2DRenderer/MarkerAttributes.cs b/2DRenderer/MarkerAttributes.cs new file mode 100644 index 0000000..3144745 --- /dev/null +++ b/2DRenderer/MarkerAttributes.cs @@ -0,0 +1,9 @@ +namespace Awperative.Renderer2D; + + +public static class MarkerAttributes +{ + /// Shows that the given object is an OpenGL handle + [AttributeUsage(AttributeTargets.All)] + public class GLHandle : Attribute {} +} \ No newline at end of file diff --git a/2DRenderer/Renderer2DProfile.cs b/2DRenderer/Renderer2DProfile.cs new file mode 100644 index 0000000..a258cf2 --- /dev/null +++ b/2DRenderer/Renderer2DProfile.cs @@ -0,0 +1,114 @@ +using System.Reflection; +using OpenTK.Graphics.OpenGL; + + +namespace Awperative.Renderer2D; + + +public static class Renderer2DProfile +{ + /// Handle of index buffer + [MarkerAttributes.GLHandle] + public static readonly int IndexBufferHandle; + + /// Vertex buffer handle + [MarkerAttributes.GLHandle] + public static readonly int VertexBufferHandle; + + + + /// Program handle + [MarkerAttributes.GLHandle] + public static readonly int ProgramHandle; + + public static readonly float[] Vertices = [ + 1, 1, + -1, 1, + 1, -1, + -1, -1 + ]; + + public static readonly int[] Indices = [ + 3, 2, 1, + 1, 0, 2 + ]; + + public static readonly Comparer TextureSorter = Comparer.Create((a, b) => { + + if(a.source == b.source) return 0; + if (a.source == null) return -1; + if (b.source == null) return 1; + + int result = a.source.Handle.CompareTo(b.source.Handle); + return result != 0 ? result : a.GetHashCode().CompareTo(b.GetHashCode()); + }); + + static Renderer2DProfile() { + + #region Shader And Program Creation + + ProgramHandle = GL.CreateProgram(); + GL.UseProgram(ProgramHandle); + + + Assembly currentAssembly = Assembly.GetExecutingAssembly(); + + + int vertexShader, fragmentShader; + + using (StreamReader vertexStreamReader = new(currentAssembly.GetManifestResourceStream("_2DRenderer.Vertex.glsl"))) { + vertexShader = GL.CreateShader(ShaderType.VertexShader); + GL.ShaderSource(vertexShader, vertexStreamReader.ReadToEnd()); + GL.CompileShader(vertexShader); + GL.AttachShader(ProgramHandle, vertexShader); + } + + using (StreamReader fragmentStreamReader = new(currentAssembly.GetManifestResourceStream("_2DRenderer.Fragment.glsl"))) { + fragmentShader = GL.CreateShader(ShaderType.FragmentShader); + GL.ShaderSource(fragmentShader, fragmentStreamReader.ReadToEnd()); + GL.CompileShader(fragmentShader); + GL.AttachShader(ProgramHandle, fragmentShader); + } + + GL.LinkProgram(ProgramHandle); + + GL.DetachShader(ProgramHandle, vertexShader); + GL.DeleteShader(vertexShader); + + GL.DetachShader(ProgramHandle, fragmentShader); + GL.DeleteShader(fragmentShader); + + GL.Uniform1i(GL.GetUniformLocation(ProgramHandle, "ftexture"), 0); + GL.UseProgram(0); + + + #endregion + + #region Buffer Creation + + + IndexBufferHandle = GL.GenBuffer(); + GL.BindBuffer(BufferTarget.ElementArrayBuffer, IndexBufferHandle); + GL.BufferData(BufferTarget.ElementArrayBuffer, Indices.Length * sizeof(int), Indices, BufferUsage.StaticDraw); + GL.BindBuffer(BufferTarget.ElementArrayBuffer, 0); + + VertexBufferHandle = GL.GenBuffer(); + GL.BindBuffer(BufferTarget.ArrayBuffer, VertexBufferHandle); + GL.BufferData(BufferTarget.ArrayBuffer, Vertices.Length * sizeof(float), Vertices, BufferUsage.DynamicDraw); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + + + #endregion + + } + + public static void Dispose() { + GL.DeleteProgram(ProgramHandle); + + GL.DeleteBuffer(IndexBufferHandle); + GL.DeleteBuffer(VertexBufferHandle); + + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + +} \ No newline at end of file diff --git a/2DRenderer/Sprite2D.cs b/2DRenderer/Sprite2D.cs new file mode 100644 index 0000000..439c5a4 --- /dev/null +++ b/2DRenderer/Sprite2D.cs @@ -0,0 +1,167 @@ +using AwperativeKernel; +using OpenTK.Graphics.OpenGLES2; +using OpenTK.Graphics.Wgl; + + +namespace Awperative.Renderer2D; + + +public class Sprite2D : Component +{ + + //vec4 color, vec2 pos, vec2 scale, float rot + //9 THINGS + + public float X { + get => _x; + set { + _x = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float), sizeof(float), in _x); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _x; + + + + public float Y { + get => _y; + set { + _y = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float) + sizeof(float), sizeof(float), in _y); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _y; + + + + public float Width { + get => _width; + set { + _width = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float) + 2 * sizeof(float), sizeof(float), in _width); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _width; + + + + public float Height { + get => _height; + set { + _height = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float) + 3 * sizeof(float), sizeof(float), in _height); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _height; + + + + public float Rotation { + get => _rotation; + set { + _rotation = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float) + 4 * sizeof(float), sizeof(float), in _rotation); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _rotation; + + internal int Index; + + public Camera2D cam; + + public Texture2D source { get; private set; } + + public float cropX { + get => _cropX; + set { + _cropX = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float) + 5 * sizeof(float), sizeof(float), in _cropX); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _cropX; + + + public float cropY { + get => _cropY; + set { + _cropY = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float) + 6 * sizeof(float), sizeof(float), in _cropY); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _cropY; + + + + public float cropWidth { + get => _cropWidth; + set { + _cropWidth = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float) + 7 * sizeof(float), sizeof(float), in _cropWidth); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _cropWidth; + + + public float cropHeight { + get => _cropHeight; + set { + _cropHeight = value; + GL.BindBuffer(BufferTarget.ArrayBuffer, cam.instanceBuffer); + GL.BufferSubData(BufferTarget.ArrayBuffer, Index * 9 * sizeof(float) + 4 * sizeof(float), sizeof(float), in _cropHeight); + GL.BindBuffer(BufferTarget.ArrayBuffer, 0); + } + } private float _cropHeight; + + + public void Create() { + _x = 0; + _y = 0; + _width = 1; + _height = 1; + _rotation = 0; + source = new Texture2D(); + + _cropWidth = 1; + _cropHeight = 1; + _cropX = 0; + _cropY = 0; + + cam = Scene.Get(); + + if (cam == null) { + Debug.LogError("No Camera2D found!"); + }else cam.Add(this); + } + + //todo: add flipping sprites + //todo: particles and debugging + + public void SetTexture(Texture2D texture) { + source = texture; + } + + + public void CropToSheet(int __index) { + if (source is not SpriteSheet2D spriteSheet) return; + + int tilesPerRow = source.width / (spriteSheet.cellWidth + spriteSheet.tileSpacingX); + + + int x = __index % tilesPerRow * (spriteSheet.cellWidth + spriteSheet.tileSpacingX); + int y = __index / tilesPerRow * (spriteSheet.cellHeight + spriteSheet.tileSpacingY); + + cropX = (float) x / spriteSheet.width; + cropY = (float) y / spriteSheet.height; + + cropWidth = (float) spriteSheet.cellWidth / spriteSheet.width; + cropHeight = (float) spriteSheet.cellHeight / spriteSheet.height; + } +} \ No newline at end of file diff --git a/2DRenderer/SpriteSheet2D.cs b/2DRenderer/SpriteSheet2D.cs new file mode 100644 index 0000000..8589fb9 --- /dev/null +++ b/2DRenderer/SpriteSheet2D.cs @@ -0,0 +1,29 @@ +using AwperativeKernel; + + +namespace Awperative.Renderer2D; + + +public class SpriteSheet2D : Texture2D +{ + public int cellWidth; + public int cellHeight; + + public int tileSpacingX; + public int tileSpacingY; + + public SpriteSheet2D(string __path, int __cellWidth, int __cellHeight, int __tileSpacingX, int __tileSpacingY) : base(__path) { + float widthRatio = (float) width / __cellWidth; + float heightRatio = (float) height / __cellHeight; + + if (__tileSpacingX > width || __tileSpacingY > height) Debug.LogWarning("Spritesheet cell size is bigger than the source image!"); + if (Math.Truncate(widthRatio) != widthRatio || Math.Truncate(heightRatio) != heightRatio) Debug.LogWarning("Spritesheet cell size is not divisible by image size! Possible inconsistency when indexing the sheet!"); + + + cellWidth = __cellWidth; + cellHeight = __cellHeight; + + tileSpacingX = __tileSpacingX; + tileSpacingY = __tileSpacingY; + } +} \ No newline at end of file diff --git a/2DRenderer/Texture2D.cs b/2DRenderer/Texture2D.cs new file mode 100644 index 0000000..2ac6ec5 --- /dev/null +++ b/2DRenderer/Texture2D.cs @@ -0,0 +1,63 @@ +using OpenTK.Graphics.OpenGL; +using StbImageSharp; + + +namespace Awperative.Renderer2D; + + +/// Holds a reference to a texture stored in VRAM +public class Texture2D : IDisposable +{ + /// Handle of the object in open GL. + [MarkerAttributes.GLHandle] + public readonly int Handle; + + + /// Width of the source texture + public readonly int width; + + /// Height of the source texture + public readonly int height; + + + + /// Clears the used VRAM + public void Dispose() { + GL.DeleteTexture(Handle); + GL.BindTexture(TextureTarget.Texture2d, 0); + GC.SuppressFinalize(this); + } + + + + /// Loads and creates a texture from a given file path + public Texture2D(string path) { + ImageResult image = ImageResult.FromStream(File.OpenRead(path), ColorComponents.RedGreenBlueAlpha); + + width = image.Width; + height = image.Height; + + Handle = GL.GenTexture(); + GL.BindTexture(TextureTarget.Texture2d, Handle); + GL.TexImage2D(TextureTarget.Texture2d, 0, InternalFormat.Rgba, width, height, 0, PixelFormat.Rgba, PixelType.UnsignedByte, image.Data); + + GL.TexParameteri(TextureTarget.Texture2d, TextureParameterName.TextureMinFilter, (int)TextureMinFilter.Nearest); + GL.TexParameteri(TextureTarget.Texture2d, TextureParameterName.TextureMagFilter, (int)TextureMagFilter.Nearest); + + GL.BindTexture(TextureTarget.Texture2d, 0); + } + + + + public Texture2D() { + width = 1; + height = 1; + + Handle = GL.GenTexture(); + GL.BindTexture(TextureTarget.Texture2d, Handle); + GL.TexImage2D(TextureTarget.Texture2d, 0, InternalFormat.Rgba, width, height, 0, PixelFormat.Rgba, PixelType.UnsignedByte, [0,0,0,0]); + + GL.BindTexture(TextureTarget.Texture2d, 0); + } + +} \ No newline at end of file diff --git a/2DRenderer/Vertex.glsl b/2DRenderer/Vertex.glsl new file mode 100644 index 0000000..db38957 --- /dev/null +++ b/2DRenderer/Vertex.glsl @@ -0,0 +1,33 @@ +#version 330 core + +layout (location = 0) in vec2 pos; +//instance color +layout (location = 1) in vec2 ipos; +layout (location = 2) in vec2 iscale; +layout (location = 3) in float irot; +layout (location = 4) in vec4 icrop; + +uniform vec2 viewport; + +out vec2 texuv; +out vec4 crop; + +void main() { + texuv = pos; + crop = icrop; + + float scaX = pos.x * iscale.x; + float scaY = pos.y * iscale.y; + + float rotX = scaX * cos(irot) - scaY * sin(irot); + float rotY = scaX * sin(irot) + scaY * cos(irot); + + float finX = rotX + ipos.x; + float finY = rotY + ipos.y; + + //todo: fix scaling matrix to prevent vertical crunch! + float reaX = finX / (viewport.x / viewport.y); + float reaY = finY / 1; + + gl_Position = vec4(reaX, reaY, 0, 1); +} diff --git a/2DRenderer/bin/Debug/net9.0/2DRenderer.deps.json b/2DRenderer/bin/Debug/net9.0/2DRenderer.deps.json new file mode 100644 index 0000000..3792eb7 --- /dev/null +++ b/2DRenderer/bin/Debug/net9.0/2DRenderer.deps.json @@ -0,0 +1,296 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v9.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v9.0": { + "2DRenderer/1.0.0": { + "dependencies": { + "OpenTK": "5.0.0-pre.15", + "StbImageSharp": "2.30.15", + "AwperativeKernel": "1.0.0.0" + }, + "runtime": { + "2DRenderer.dll": {} + } + }, + "OpenTK/5.0.0-pre.15": { + "dependencies": { + "OpenTK.Audio": "5.0.0-pre.15", + "OpenTK.Compute": "5.0.0-pre.15", + "OpenTK.Core": "5.0.0-pre.15", + "OpenTK.Graphics": "5.0.0-pre.15", + "OpenTK.Input": "5.0.0-pre.15", + "OpenTK.Mathematics": "5.0.0-pre.15", + "OpenTK.Platform": "5.0.0-pre.15", + "OpenTK.Windowing.Common": "5.0.0-pre.15", + "OpenTK.Windowing.Desktop": "5.0.0-pre.15", + "OpenTK.Windowing.GraphicsLibraryFramework": "5.0.0-pre.15" + } + }, + "OpenTK.Audio/5.0.0-pre.15": { + "dependencies": { + "OpenTK.Core": "5.0.0-pre.15", + "OpenTK.Mathematics": "5.0.0-pre.15" + }, + "runtime": { + "lib/net8.0/OpenTK.Audio.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.Compute/5.0.0-pre.15": { + "runtime": { + "lib/net8.0/OpenTK.Compute.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.Core/5.0.0-pre.15": { + "runtime": { + "lib/net8.0/OpenTK.Core.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.Graphics/5.0.0-pre.15": { + "dependencies": { + "OpenTK.Core": "5.0.0-pre.15", + "OpenTK.Mathematics": "5.0.0-pre.15" + }, + "runtime": { + "lib/net8.0/OpenTK.Graphics.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.Input/5.0.0-pre.15": { + "runtime": { + "lib/net8.0/OpenTK.Input.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.Mathematics/5.0.0-pre.15": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "runtime": { + "lib/net8.0/OpenTK.Mathematics.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.Platform/5.0.0-pre.15": { + "runtime": { + "lib/net8.0/OpenTK.Platform.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.redist.glfw/3.4.0.44": { + "runtimeTargets": { + "runtimes/linux-x64/native/libglfw.so.3": { + "rid": "linux-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-arm64/native/libglfw.3.dylib": { + "rid": "osx-arm64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/osx-x64/native/libglfw.3.dylib": { + "rid": "osx-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/win-x64/native/glfw3.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "0.0.0.0" + }, + "runtimes/win-x86/native/glfw3.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "0.0.0.0" + } + } + }, + "OpenTK.Windowing.Common/5.0.0-pre.15": { + "dependencies": { + "OpenTK.Core": "5.0.0-pre.15", + "OpenTK.Mathematics": "5.0.0-pre.15" + }, + "runtime": { + "lib/net8.0/OpenTK.Windowing.Common.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.Windowing.Desktop/5.0.0-pre.15": { + "dependencies": { + "OpenTK.Core": "5.0.0-pre.15", + "OpenTK.Mathematics": "5.0.0-pre.15", + "OpenTK.Windowing.Common": "5.0.0-pre.15", + "OpenTK.Windowing.GraphicsLibraryFramework": "5.0.0-pre.15" + }, + "runtime": { + "lib/net8.0/OpenTK.Windowing.Desktop.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "OpenTK.Windowing.GraphicsLibraryFramework/5.0.0-pre.15": { + "dependencies": { + "OpenTK.Core": "5.0.0-pre.15", + "OpenTK.redist.glfw": "3.4.0.44" + }, + "runtime": { + "lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.dll": { + "assemblyVersion": "5.0.0.0", + "fileVersion": "5.0.0.0" + } + } + }, + "StbImageSharp/2.30.15": { + "runtime": { + "lib/netstandard2.0/StbImageSharp.dll": { + "assemblyVersion": "2.30.15.0", + "fileVersion": "2.30.15.0" + } + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "AwperativeKernel/1.0.0.0": { + "runtime": { + "AwperativeKernel.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + } + } + }, + "libraries": { + "2DRenderer/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "OpenTK/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CDGbelIIaGCBNPekNqh/zQsy63q+PTrVOWWWi7A3d/QrHVd0T5nDhSqqJpD77Xs/qHFRDhL1C3+Qh5CDYJyzig==", + "path": "opentk/5.0.0-pre.15", + "hashPath": "opentk.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Audio/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lX3FR1RvXz+xjEGl5MFvGWQg7M/z4qdeHB6vdI5F1K1ODyjeuDlSnEc7hjA9fSdmKKEq3K1yCcU4kGgs4UC0ZQ==", + "path": "opentk.audio/5.0.0-pre.15", + "hashPath": "opentk.audio.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Compute/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uaT2JJGUEvlLYwKga5/cxAm7LiFdRKPjpWPE6tnhg2fYzHwX/6WfVCXU9xvYRLUqYHZIU7dYzJOzlXFZuDZNAw==", + "path": "opentk.compute/5.0.0-pre.15", + "hashPath": "opentk.compute.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Core/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Y/sir5MXEoGB9b4bmCSXknEtjbBIoqaRaeW5XnhIvY8FWBEsxT21jqq5zF1/TXjyCdcNkcfzPq70T6P4FYE5uQ==", + "path": "opentk.core/5.0.0-pre.15", + "hashPath": "opentk.core.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Graphics/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0oobd6dbdmKazMiBtiExv8hzlcJIxkEAD/ozyGX2T0WYPCMv0iZXRqqFl/qJ+18tfhIGoQ7USIp5Sw9ZxhDgjA==", + "path": "opentk.graphics/5.0.0-pre.15", + "hashPath": "opentk.graphics.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Input/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-O30U9gMveJW6bYPxxC7nYZVoViwlxpImMnIuWywcd1JnUfvScgDlWFwhPO7xBdaPu8FYa29N0yBRsl5eJufPcg==", + "path": "opentk.input/5.0.0-pre.15", + "hashPath": "opentk.input.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Mathematics/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-JFflFJNMLV0E/08bqsnzNXU/aUJJwy8xCZVU1ECMFvi1lKoCXi/FHSLJKW+s+p+bbTZ6HpPzdc+o4TBerecrjQ==", + "path": "opentk.mathematics/5.0.0-pre.15", + "hashPath": "opentk.mathematics.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Platform/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-5GCXACJm8ybTrumj2jb7c5oGNQyb/LwWCNbJsl72IeY/miBTMBPXM0RD8oXBXd/oH36pKz5EwzaRl/MT6/WajA==", + "path": "opentk.platform/5.0.0-pre.15", + "hashPath": "opentk.platform.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.redist.glfw/3.4.0.44": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HEjbdk0wWxSRrXHl3DSmrA8trecndgJpAHHloJJ1vPseNfeu/ynmrH/LturU1KguRn4r3IzZ81UIp5xRjnyahg==", + "path": "opentk.redist.glfw/3.4.0.44", + "hashPath": "opentk.redist.glfw.3.4.0.44.nupkg.sha512" + }, + "OpenTK.Windowing.Common/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wPoz4uW8f3/zNHFVSWgMQPx5yhzUBKlpwdJp5PDiemZyO63tBJKaaty3TIJakDDdG/TioSIjnQb0YY1tEBkjuA==", + "path": "opentk.windowing.common/5.0.0-pre.15", + "hashPath": "opentk.windowing.common.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Windowing.Desktop/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Er5s+lSp5VwJ5NzrSjRMmhBpZdVGEFswuIE+joGtTUtIzznws6/Owi30tBaAC/byHHPrgH5hGegwlvEP5rDKRA==", + "path": "opentk.windowing.desktop/5.0.0-pre.15", + "hashPath": "opentk.windowing.desktop.5.0.0-pre.15.nupkg.sha512" + }, + "OpenTK.Windowing.GraphicsLibraryFramework/5.0.0-pre.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-o+t3c2tFiNpqkvTZ1tKw+Anjm76t+OvkiBVHUuSQ5WMBI/O+uzpZYEl0pdSRDpL3UT3udJkM8iefIqK2+YzAxA==", + "path": "opentk.windowing.graphicslibraryframework/5.0.0-pre.15", + "hashPath": "opentk.windowing.graphicslibraryframework.5.0.0-pre.15.nupkg.sha512" + }, + "StbImageSharp/2.30.15": { + "type": "package", + "serviceable": true, + "sha512": "sha512-7QqbupVhz2kcFUPTgMw4iHR9rYDHGundzzee19Mwmd1typ2Lnv8EVJcLJxlkeBM2+4ex0NwsMtdbGSJctp1XCQ==", + "path": "stbimagesharp/2.30.15", + "hashPath": "stbimagesharp.2.30.15.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "AwperativeKernel/1.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/2DRenderer/bin/Debug/net9.0/2DRenderer.dll b/2DRenderer/bin/Debug/net9.0/2DRenderer.dll new file mode 100644 index 0000000..bf81902 Binary files /dev/null and b/2DRenderer/bin/Debug/net9.0/2DRenderer.dll differ diff --git a/2DRenderer/bin/Debug/net9.0/2DRenderer.pdb b/2DRenderer/bin/Debug/net9.0/2DRenderer.pdb new file mode 100644 index 0000000..796c184 Binary files /dev/null and b/2DRenderer/bin/Debug/net9.0/2DRenderer.pdb differ diff --git a/2DRenderer/bin/Debug/net9.0/AwperativeKernel.dll b/2DRenderer/bin/Debug/net9.0/AwperativeKernel.dll new file mode 100644 index 0000000..cb29058 Binary files /dev/null and b/2DRenderer/bin/Debug/net9.0/AwperativeKernel.dll differ diff --git a/2DRenderer/bin/Debug/net9.0/AwperativeKernel.pdb b/2DRenderer/bin/Debug/net9.0/AwperativeKernel.pdb new file mode 100644 index 0000000..614ab42 Binary files /dev/null and b/2DRenderer/bin/Debug/net9.0/AwperativeKernel.pdb differ diff --git a/2DRenderer/obj/2DRenderer.csproj.nuget.dgspec.json b/2DRenderer/obj/2DRenderer.csproj.nuget.dgspec.json new file mode 100644 index 0000000..33c4bfb --- /dev/null +++ b/2DRenderer/obj/2DRenderer.csproj.nuget.dgspec.json @@ -0,0 +1,77 @@ +{ + "format": 1, + "restore": { + "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj": {} + }, + "projects": { + "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj", + "projectName": "2DRenderer", + "projectPath": "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj", + "packagesPath": "/home/avery/.nuget/packages/", + "outputPath": "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/avery/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net9.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.300" + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "dependencies": { + "OpenTK": { + "target": "Package", + "version": "[5.0.0-pre.15, )" + }, + "StbImageSharp": { + "target": "Package", + "version": "[2.30.15, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/2DRenderer/obj/2DRenderer.csproj.nuget.g.props b/2DRenderer/obj/2DRenderer.csproj.nuget.g.props new file mode 100644 index 0000000..08dec0c --- /dev/null +++ b/2DRenderer/obj/2DRenderer.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + $(MSBuildThisFileDirectory)project.assets.json + /home/avery/.nuget/packages/ + /home/avery/.nuget/packages/ + PackageReference + 6.14.0 + + + + + \ No newline at end of file diff --git a/2DRenderer/obj/2DRenderer.csproj.nuget.g.targets b/2DRenderer/obj/2DRenderer.csproj.nuget.g.targets new file mode 100644 index 0000000..3dc06ef --- /dev/null +++ b/2DRenderer/obj/2DRenderer.csproj.nuget.g.targets @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/2DRenderer/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs b/2DRenderer/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs new file mode 100644 index 0000000..feda5e9 --- /dev/null +++ b/2DRenderer/obj/Debug/net9.0/.NETCoreApp,Version=v9.0.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")] diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfo.cs b/2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfo.cs new file mode 100644 index 0000000..0989d59 --- /dev/null +++ b/2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfo.cs @@ -0,0 +1,22 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("2DRenderer")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("2DRenderer")] +[assembly: System.Reflection.AssemblyTitleAttribute("2DRenderer")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfoInputs.cache b/2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfoInputs.cache new file mode 100644 index 0000000..f64dc0f --- /dev/null +++ b/2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +b66822f1dc2e7c7e4f084c2892a366b2fa05b69f96b4d07aaa7c3d805ea85175 diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.GeneratedMSBuildEditorConfig.editorconfig b/2DRenderer/obj/Debug/net9.0/2DRenderer.GeneratedMSBuildEditorConfig.editorconfig new file mode 100644 index 0000000..91742f0 --- /dev/null +++ b/2DRenderer/obj/Debug/net9.0/2DRenderer.GeneratedMSBuildEditorConfig.editorconfig @@ -0,0 +1,15 @@ +is_global = true +build_property.TargetFramework = net9.0 +build_property.TargetPlatformMinVersion = +build_property.UsingMicrosoftNETSdkWeb = +build_property.ProjectTypeGuids = +build_property.InvariantGlobalization = +build_property.PlatformNeutralAssembly = +build_property.EnforceExtendedAnalyzerRules = +build_property._SupportedPlatformList = Linux,macOS,Windows +build_property.RootNamespace = _2DRenderer +build_property.ProjectDir = /home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/ +build_property.EnableComHosting = +build_property.EnableGeneratedComInterfaceComImportInterop = +build_property.EffectiveAnalysisLevelStyle = 9.0 +build_property.EnableCodeStyleSeverity = diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.GlobalUsings.g.cs b/2DRenderer/obj/Debug/net9.0/2DRenderer.GlobalUsings.g.cs new file mode 100644 index 0000000..8578f3d --- /dev/null +++ b/2DRenderer/obj/Debug/net9.0/2DRenderer.GlobalUsings.g.cs @@ -0,0 +1,8 @@ +// +global using global::System; +global using global::System.Collections.Generic; +global using global::System.IO; +global using global::System.Linq; +global using global::System.Net.Http; +global using global::System.Threading; +global using global::System.Threading.Tasks; diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.assets.cache b/2DRenderer/obj/Debug/net9.0/2DRenderer.assets.cache new file mode 100644 index 0000000..a8eb3a4 Binary files /dev/null and b/2DRenderer/obj/Debug/net9.0/2DRenderer.assets.cache differ diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.AssemblyReference.cache b/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.AssemblyReference.cache new file mode 100644 index 0000000..955ad3d Binary files /dev/null and b/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.AssemblyReference.cache differ diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.CoreCompileInputs.cache b/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..9ae496e --- /dev/null +++ b/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +2d5c44e07a9bcf22843711df66c54468b1d5b93ab439922524d907bd71f6c858 diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.FileListAbsolute.txt b/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..c2fb6fd --- /dev/null +++ b/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.FileListAbsolute.txt @@ -0,0 +1,15 @@ +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/bin/Debug/net9.0/2DRenderer.deps.json +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/bin/Debug/net9.0/2DRenderer.dll +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/bin/Debug/net9.0/2DRenderer.pdb +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/bin/Debug/net9.0/AwperativeKernel.dll +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/bin/Debug/net9.0/AwperativeKernel.pdb +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.AssemblyReference.cache +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/2DRenderer.GeneratedMSBuildEditorConfig.editorconfig +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfoInputs.cache +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfo.cs +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.CoreCompileInputs.cache +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.Up2Date +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/2DRenderer.dll +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/refint/2DRenderer.dll +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/2DRenderer.pdb +/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/Debug/net9.0/ref/2DRenderer.dll diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.Up2Date b/2DRenderer/obj/Debug/net9.0/2DRenderer.csproj.Up2Date new file mode 100644 index 0000000..e69de29 diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.dll b/2DRenderer/obj/Debug/net9.0/2DRenderer.dll new file mode 100644 index 0000000..bf81902 Binary files /dev/null and b/2DRenderer/obj/Debug/net9.0/2DRenderer.dll differ diff --git a/2DRenderer/obj/Debug/net9.0/2DRenderer.pdb b/2DRenderer/obj/Debug/net9.0/2DRenderer.pdb new file mode 100644 index 0000000..796c184 Binary files /dev/null and b/2DRenderer/obj/Debug/net9.0/2DRenderer.pdb differ diff --git a/2DRenderer/obj/Debug/net9.0/ref/2DRenderer.dll b/2DRenderer/obj/Debug/net9.0/ref/2DRenderer.dll new file mode 100644 index 0000000..a3fbd58 Binary files /dev/null and b/2DRenderer/obj/Debug/net9.0/ref/2DRenderer.dll differ diff --git a/2DRenderer/obj/Debug/net9.0/refint/2DRenderer.dll b/2DRenderer/obj/Debug/net9.0/refint/2DRenderer.dll new file mode 100644 index 0000000..a3fbd58 Binary files /dev/null and b/2DRenderer/obj/Debug/net9.0/refint/2DRenderer.dll differ diff --git a/2DRenderer/obj/project.assets.json b/2DRenderer/obj/project.assets.json new file mode 100644 index 0000000..fedef37 --- /dev/null +++ b/2DRenderer/obj/project.assets.json @@ -0,0 +1,539 @@ +{ + "version": 3, + "targets": { + "net9.0": { + "OpenTK/5.0.0-pre.15": { + "type": "package", + "dependencies": { + "OpenTK.Audio": "5.0.0-pre.15", + "OpenTK.Compute": "5.0.0-pre.15", + "OpenTK.Core": "5.0.0-pre.15", + "OpenTK.Graphics": "5.0.0-pre.15", + "OpenTK.Input": "5.0.0-pre.15", + "OpenTK.Mathematics": "5.0.0-pre.15", + "OpenTK.Platform": "5.0.0-pre.15", + "OpenTK.Windowing.Common": "5.0.0-pre.15", + "OpenTK.Windowing.Desktop": "5.0.0-pre.15", + "OpenTK.Windowing.GraphicsLibraryFramework": "5.0.0-pre.15" + } + }, + "OpenTK.Audio/5.0.0-pre.15": { + "type": "package", + "dependencies": { + "OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)", + "OpenTK.Mathematics": "[5.0.0-pre.15, 6.0.0-pre)" + }, + "compile": { + "lib/net8.0/OpenTK.Audio.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Audio.dll": { + "related": ".pdb;.xml" + } + } + }, + "OpenTK.Compute/5.0.0-pre.15": { + "type": "package", + "compile": { + "lib/net8.0/OpenTK.Compute.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Compute.dll": { + "related": ".pdb;.xml" + } + } + }, + "OpenTK.Core/5.0.0-pre.15": { + "type": "package", + "compile": { + "lib/net8.0/OpenTK.Core.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Core.dll": { + "related": ".pdb;.xml" + } + } + }, + "OpenTK.Graphics/5.0.0-pre.15": { + "type": "package", + "dependencies": { + "OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)", + "OpenTK.Mathematics": "[5.0.0-pre.15, 6.0.0-pre)" + }, + "compile": { + "lib/net8.0/OpenTK.Graphics.dll": { + "related": ".pdb" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Graphics.dll": { + "related": ".pdb" + } + } + }, + "OpenTK.Input/5.0.0-pre.15": { + "type": "package", + "compile": { + "lib/net8.0/OpenTK.Input.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Input.dll": { + "related": ".pdb;.xml" + } + } + }, + "OpenTK.Mathematics/5.0.0-pre.15": { + "type": "package", + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + }, + "compile": { + "lib/net8.0/OpenTK.Mathematics.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Mathematics.dll": { + "related": ".pdb;.xml" + } + } + }, + "OpenTK.Platform/5.0.0-pre.15": { + "type": "package", + "compile": { + "lib/net8.0/OpenTK.Platform.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Platform.dll": { + "related": ".pdb;.xml" + } + } + }, + "OpenTK.redist.glfw/3.4.0.44": { + "type": "package", + "compile": { + "lib/netstandard2.0/_._": {} + }, + "runtime": { + "lib/netstandard2.0/_._": {} + }, + "runtimeTargets": { + "runtimes/linux-x64/native/libglfw.so.3": { + "assetType": "native", + "rid": "linux-x64" + }, + "runtimes/osx-arm64/native/libglfw.3.dylib": { + "assetType": "native", + "rid": "osx-arm64" + }, + "runtimes/osx-x64/native/libglfw.3.dylib": { + "assetType": "native", + "rid": "osx-x64" + }, + "runtimes/win-x64/native/glfw3.dll": { + "assetType": "native", + "rid": "win-x64" + }, + "runtimes/win-x86/native/glfw3.dll": { + "assetType": "native", + "rid": "win-x86" + } + } + }, + "OpenTK.Windowing.Common/5.0.0-pre.15": { + "type": "package", + "dependencies": { + "OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)", + "OpenTK.Mathematics": "[5.0.0-pre.15, 6.0.0-pre)" + }, + "compile": { + "lib/net8.0/OpenTK.Windowing.Common.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Windowing.Common.dll": { + "related": ".pdb;.xml" + } + } + }, + "OpenTK.Windowing.Desktop/5.0.0-pre.15": { + "type": "package", + "dependencies": { + "OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)", + "OpenTK.Mathematics": "[5.0.0-pre.15, 6.0.0-pre)", + "OpenTK.Windowing.Common": "[5.0.0-pre.15, 6.0.0-pre)", + "OpenTK.Windowing.GraphicsLibraryFramework": "[5.0.0-pre.15, 6.0.0-pre)" + }, + "compile": { + "lib/net8.0/OpenTK.Windowing.Desktop.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Windowing.Desktop.dll": { + "related": ".pdb;.xml" + } + } + }, + "OpenTK.Windowing.GraphicsLibraryFramework/5.0.0-pre.15": { + "type": "package", + "dependencies": { + "OpenTK.Core": "[5.0.0-pre.15, 6.0.0-pre)", + "OpenTK.redist.glfw": "3.4.0.44" + }, + "compile": { + "lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.dll": { + "related": ".pdb;.xml" + } + }, + "runtime": { + "lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.dll": { + "related": ".pdb;.xml" + } + } + }, + "StbImageSharp/2.30.15": { + "type": "package", + "compile": { + "lib/netstandard2.0/StbImageSharp.dll": {} + }, + "runtime": { + "lib/netstandard2.0/StbImageSharp.dll": {} + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "compile": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "runtime": { + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll": { + "related": ".xml" + } + }, + "build": { + "buildTransitive/netcoreapp3.1/_._": {} + } + } + } + }, + "libraries": { + "OpenTK/5.0.0-pre.15": { + "sha512": "CDGbelIIaGCBNPekNqh/zQsy63q+PTrVOWWWi7A3d/QrHVd0T5nDhSqqJpD77Xs/qHFRDhL1C3+Qh5CDYJyzig==", + "type": "package", + "path": "opentk/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "icon.png", + "opentk.5.0.0-pre.15.nupkg.sha512", + "opentk.nuspec" + ] + }, + "OpenTK.Audio/5.0.0-pre.15": { + "sha512": "lX3FR1RvXz+xjEGl5MFvGWQg7M/z4qdeHB6vdI5F1K1ODyjeuDlSnEc7hjA9fSdmKKEq3K1yCcU4kGgs4UC0ZQ==", + "type": "package", + "path": "opentk.audio/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Audio.dll", + "lib/net8.0/OpenTK.Audio.pdb", + "lib/net8.0/OpenTK.Audio.xml", + "opentk.audio.5.0.0-pre.15.nupkg.sha512", + "opentk.audio.nuspec" + ] + }, + "OpenTK.Compute/5.0.0-pre.15": { + "sha512": "uaT2JJGUEvlLYwKga5/cxAm7LiFdRKPjpWPE6tnhg2fYzHwX/6WfVCXU9xvYRLUqYHZIU7dYzJOzlXFZuDZNAw==", + "type": "package", + "path": "opentk.compute/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Compute.dll", + "lib/net8.0/OpenTK.Compute.pdb", + "lib/net8.0/OpenTK.Compute.xml", + "opentk.compute.5.0.0-pre.15.nupkg.sha512", + "opentk.compute.nuspec" + ] + }, + "OpenTK.Core/5.0.0-pre.15": { + "sha512": "Y/sir5MXEoGB9b4bmCSXknEtjbBIoqaRaeW5XnhIvY8FWBEsxT21jqq5zF1/TXjyCdcNkcfzPq70T6P4FYE5uQ==", + "type": "package", + "path": "opentk.core/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Core.dll", + "lib/net8.0/OpenTK.Core.pdb", + "lib/net8.0/OpenTK.Core.xml", + "opentk.core.5.0.0-pre.15.nupkg.sha512", + "opentk.core.nuspec" + ] + }, + "OpenTK.Graphics/5.0.0-pre.15": { + "sha512": "0oobd6dbdmKazMiBtiExv8hzlcJIxkEAD/ozyGX2T0WYPCMv0iZXRqqFl/qJ+18tfhIGoQ7USIp5Sw9ZxhDgjA==", + "type": "package", + "path": "opentk.graphics/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Graphics.dll", + "lib/net8.0/OpenTK.Graphics.pdb", + "opentk.graphics.5.0.0-pre.15.nupkg.sha512", + "opentk.graphics.nuspec" + ] + }, + "OpenTK.Input/5.0.0-pre.15": { + "sha512": "O30U9gMveJW6bYPxxC7nYZVoViwlxpImMnIuWywcd1JnUfvScgDlWFwhPO7xBdaPu8FYa29N0yBRsl5eJufPcg==", + "type": "package", + "path": "opentk.input/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Input.dll", + "lib/net8.0/OpenTK.Input.pdb", + "lib/net8.0/OpenTK.Input.xml", + "opentk.input.5.0.0-pre.15.nupkg.sha512", + "opentk.input.nuspec" + ] + }, + "OpenTK.Mathematics/5.0.0-pre.15": { + "sha512": "JFflFJNMLV0E/08bqsnzNXU/aUJJwy8xCZVU1ECMFvi1lKoCXi/FHSLJKW+s+p+bbTZ6HpPzdc+o4TBerecrjQ==", + "type": "package", + "path": "opentk.mathematics/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Mathematics.dll", + "lib/net8.0/OpenTK.Mathematics.pdb", + "lib/net8.0/OpenTK.Mathematics.xml", + "opentk.mathematics.5.0.0-pre.15.nupkg.sha512", + "opentk.mathematics.nuspec" + ] + }, + "OpenTK.Platform/5.0.0-pre.15": { + "sha512": "5GCXACJm8ybTrumj2jb7c5oGNQyb/LwWCNbJsl72IeY/miBTMBPXM0RD8oXBXd/oH36pKz5EwzaRl/MT6/WajA==", + "type": "package", + "path": "opentk.platform/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net8.0/OpenTK.Platform.dll", + "lib/net8.0/OpenTK.Platform.pdb", + "lib/net8.0/OpenTK.Platform.xml", + "opentk.platform.5.0.0-pre.15.nupkg.sha512", + "opentk.platform.nuspec" + ] + }, + "OpenTK.redist.glfw/3.4.0.44": { + "sha512": "HEjbdk0wWxSRrXHl3DSmrA8trecndgJpAHHloJJ1vPseNfeu/ynmrH/LturU1KguRn4r3IzZ81UIp5xRjnyahg==", + "type": "package", + "path": "opentk.redist.glfw/3.4.0.44", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "COPYING.md", + "lib/netstandard2.0/_._", + "opentk.png", + "opentk.redist.glfw.3.4.0.44.nupkg.sha512", + "opentk.redist.glfw.nuspec", + "runtimes/linux-x64/native/libglfw.so.3", + "runtimes/osx-arm64/native/libglfw.3.dylib", + "runtimes/osx-x64/native/libglfw.3.dylib", + "runtimes/win-x64/native/glfw3.dll", + "runtimes/win-x86/native/glfw3.dll" + ] + }, + "OpenTK.Windowing.Common/5.0.0-pre.15": { + "sha512": "wPoz4uW8f3/zNHFVSWgMQPx5yhzUBKlpwdJp5PDiemZyO63tBJKaaty3TIJakDDdG/TioSIjnQb0YY1tEBkjuA==", + "type": "package", + "path": "opentk.windowing.common/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Windowing.Common.dll", + "lib/net8.0/OpenTK.Windowing.Common.pdb", + "lib/net8.0/OpenTK.Windowing.Common.xml", + "opentk.windowing.common.5.0.0-pre.15.nupkg.sha512", + "opentk.windowing.common.nuspec" + ] + }, + "OpenTK.Windowing.Desktop/5.0.0-pre.15": { + "sha512": "Er5s+lSp5VwJ5NzrSjRMmhBpZdVGEFswuIE+joGtTUtIzznws6/Owi30tBaAC/byHHPrgH5hGegwlvEP5rDKRA==", + "type": "package", + "path": "opentk.windowing.desktop/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Windowing.Desktop.dll", + "lib/net8.0/OpenTK.Windowing.Desktop.pdb", + "lib/net8.0/OpenTK.Windowing.Desktop.xml", + "opentk.windowing.desktop.5.0.0-pre.15.nupkg.sha512", + "opentk.windowing.desktop.nuspec" + ] + }, + "OpenTK.Windowing.GraphicsLibraryFramework/5.0.0-pre.15": { + "sha512": "o+t3c2tFiNpqkvTZ1tKw+Anjm76t+OvkiBVHUuSQ5WMBI/O+uzpZYEl0pdSRDpL3UT3udJkM8iefIqK2+YzAxA==", + "type": "package", + "path": "opentk.windowing.graphicslibraryframework/5.0.0-pre.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "docs/README.md", + "images/opentk-blue-hexagon.png", + "lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.dll", + "lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.pdb", + "lib/net8.0/OpenTK.Windowing.GraphicsLibraryFramework.xml", + "opentk.windowing.graphicslibraryframework.5.0.0-pre.15.nupkg.sha512", + "opentk.windowing.graphicslibraryframework.nuspec" + ] + }, + "StbImageSharp/2.30.15": { + "sha512": "7QqbupVhz2kcFUPTgMw4iHR9rYDHGundzzee19Mwmd1typ2Lnv8EVJcLJxlkeBM2+4ex0NwsMtdbGSJctp1XCQ==", + "type": "package", + "path": "stbimagesharp/2.30.15", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "lib/net471/StbImageSharp.dll", + "lib/netstandard2.0/StbImageSharp.dll", + "stbimagesharp.2.30.15.nupkg.sha512", + "stbimagesharp.nuspec" + ] + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "sha512": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "type": "package", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "files": [ + ".nupkg.metadata", + ".signature.p7s", + "Icon.png", + "LICENSE.TXT", + "THIRD-PARTY-NOTICES.TXT", + "buildTransitive/netcoreapp2.0/System.Runtime.CompilerServices.Unsafe.targets", + "buildTransitive/netcoreapp3.1/_._", + "lib/net461/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net461/System.Runtime.CompilerServices.Unsafe.xml", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/net6.0/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netcoreapp3.1/System.Runtime.CompilerServices.Unsafe.xml", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.dll", + "lib/netstandard2.0/System.Runtime.CompilerServices.Unsafe.xml", + "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512", + "system.runtime.compilerservices.unsafe.nuspec", + "useSharedDesignerContext.txt" + ] + } + }, + "projectFileDependencyGroups": { + "net9.0": [ + "OpenTK >= 5.0.0-pre.15", + "StbImageSharp >= 2.30.15" + ] + }, + "packageFolders": { + "/home/avery/.nuget/packages/": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj", + "projectName": "2DRenderer", + "projectPath": "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj", + "packagesPath": "/home/avery/.nuget/packages/", + "outputPath": "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/", + "projectStyle": "PackageReference", + "configFilePaths": [ + "/home/avery/.nuget/NuGet/NuGet.Config" + ], + "originalTargetFrameworks": [ + "net9.0" + ], + "sources": { + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + }, + "restoreAuditProperties": { + "enableAudit": "true", + "auditLevel": "low", + "auditMode": "direct" + }, + "SdkAnalysisLevel": "9.0.300" + }, + "frameworks": { + "net9.0": { + "targetAlias": "net9.0", + "dependencies": { + "OpenTK": { + "target": "Package", + "version": "[5.0.0-pre.15, )" + }, + "StbImageSharp": { + "target": "Package", + "version": "[2.30.15, )" + } + }, + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48", + "net481" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json" + } + } + } +} \ No newline at end of file diff --git a/2DRenderer/obj/project.nuget.cache b/2DRenderer/obj/project.nuget.cache new file mode 100644 index 0000000..0b7d1c1 --- /dev/null +++ b/2DRenderer/obj/project.nuget.cache @@ -0,0 +1,23 @@ +{ + "version": 2, + "dgSpecHash": "gGxXlgQ9yFY=", + "success": true, + "projectFilePath": "/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj", + "expectedPackageFiles": [ + "/home/avery/.nuget/packages/opentk/5.0.0-pre.15/opentk.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.audio/5.0.0-pre.15/opentk.audio.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.compute/5.0.0-pre.15/opentk.compute.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.core/5.0.0-pre.15/opentk.core.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.graphics/5.0.0-pre.15/opentk.graphics.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.input/5.0.0-pre.15/opentk.input.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.mathematics/5.0.0-pre.15/opentk.mathematics.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.platform/5.0.0-pre.15/opentk.platform.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.redist.glfw/3.4.0.44/opentk.redist.glfw.3.4.0.44.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.windowing.common/5.0.0-pre.15/opentk.windowing.common.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.windowing.desktop/5.0.0-pre.15/opentk.windowing.desktop.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/opentk.windowing.graphicslibraryframework/5.0.0-pre.15/opentk.windowing.graphicslibraryframework.5.0.0-pre.15.nupkg.sha512", + "/home/avery/.nuget/packages/stbimagesharp/2.30.15/stbimagesharp.2.30.15.nupkg.sha512", + "/home/avery/.nuget/packages/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + ], + "logs": [] +} \ No newline at end of file diff --git a/2DRenderer/obj/project.packagespec.json b/2DRenderer/obj/project.packagespec.json new file mode 100644 index 0000000..3119540 --- /dev/null +++ b/2DRenderer/obj/project.packagespec.json @@ -0,0 +1 @@ +"restore":{"projectUniqueName":"/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj","projectName":"2DRenderer","projectPath":"/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/2DRenderer.csproj","outputPath":"/home/avery/Projects/Awperative/Modules/2DRenderer/2DRenderer/obj/","projectStyle":"PackageReference","originalTargetFrameworks":["net9.0"],"sources":{"https://api.nuget.org/v3/index.json":{}},"frameworks":{"net9.0":{"targetAlias":"net9.0","projectReferences":{}}},"warningProperties":{"warnAsError":["NU1605"]},"restoreAuditProperties":{"enableAudit":"true","auditLevel":"low","auditMode":"direct"},"SdkAnalysisLevel":"9.0.300"}"frameworks":{"net9.0":{"targetAlias":"net9.0","dependencies":{"OpenTK":{"target":"Package","version":"[5.0.0-pre.15, )"},"StbImageSharp":{"target":"Package","version":"[2.30.15, )"}},"imports":["net461","net462","net47","net471","net472","net48","net481"],"assetTargetFallback":true,"warn":true,"frameworkReferences":{"Microsoft.NETCore.App":{"privateAssets":"all"}},"runtimeIdentifierGraphPath":"/home/avery/.dotnet/sdk/9.0.311/PortableRuntimeIdentifierGraph.json"}} \ No newline at end of file diff --git a/2DRenderer/obj/rider.project.model.nuget.info b/2DRenderer/obj/rider.project.model.nuget.info new file mode 100644 index 0000000..f51b420 --- /dev/null +++ b/2DRenderer/obj/rider.project.model.nuget.info @@ -0,0 +1 @@ +17729103684913577 \ No newline at end of file diff --git a/2DRenderer/obj/rider.project.restore.info b/2DRenderer/obj/rider.project.restore.info new file mode 100644 index 0000000..f51b420 --- /dev/null +++ b/2DRenderer/obj/rider.project.restore.info @@ -0,0 +1 @@ +17729103684913577 \ No newline at end of file