2D Renderer V1.0B
This commit is contained in:
13
.idea/.idea.2DRenderer/.idea/.gitignore
generated
vendored
Normal file
13
.idea/.idea.2DRenderer/.idea/.gitignore
generated
vendored
Normal file
@@ -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
|
||||
7
.idea/.idea.2DRenderer/.idea/dictionaries/project.xml
generated
Normal file
7
.idea/.idea.2DRenderer/.idea/dictionaries/project.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<component name="ProjectDictionaryState">
|
||||
<dictionary name="project">
|
||||
<words>
|
||||
<w>awperative</w>
|
||||
</words>
|
||||
</dictionary>
|
||||
</component>
|
||||
8
.idea/.idea.2DRenderer/.idea/indexLayout.xml
generated
Normal file
8
.idea/.idea.2DRenderer/.idea/indexLayout.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="UserContentModel">
|
||||
<attachedFolders />
|
||||
<explicitIncludes />
|
||||
<explicitExcludes />
|
||||
</component>
|
||||
</project>
|
||||
14
.idea/.idea.2DRenderer/.idea/misc.xml
generated
Normal file
14
.idea/.idea.2DRenderer/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DiscordProjectSettings">
|
||||
<option name="show" value="ASK" />
|
||||
<option name="description" value="" />
|
||||
<option name="applicationTheme" value="default" />
|
||||
<option name="iconsTheme" value="default" />
|
||||
<option name="button1Title" value="" />
|
||||
<option name="button1Url" value="" />
|
||||
<option name="button2Title" value="" />
|
||||
<option name="button2Url" value="" />
|
||||
<option name="customApplicationId" value="" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/.idea.2DRenderer/.idea/vcs.xml
generated
Normal file
6
.idea/.idea.2DRenderer/.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
16
2DRenderer.sln
Normal file
16
2DRenderer.sln
Normal file
@@ -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
|
||||
2
2DRenderer.sln.DotSettings.user
Normal file
2
2DRenderer.sln.DotSettings.user
Normal file
@@ -0,0 +1,2 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=_002Fhome_002Favery_002FProjects_002FAwperative_002FBuild_002FKernel_002Fnet8_002E0_002FAwperativeKernel_002Edll/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
26
2DRenderer/2DRenderer.csproj
Normal file
26
2DRenderer/2DRenderer.csproj
Normal file
@@ -0,0 +1,26 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<RootNamespace>_2DRenderer</RootNamespace>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="OpenTK" Version="5.0.0-pre.15" />
|
||||
<PackageReference Include="StbImageSharp" Version="2.30.15" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Fragment.glsl" />
|
||||
<EmbeddedResource Include="Vertex.glsl" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Reference Include="AwperativeKernel">
|
||||
<HintPath>..\..\..\Build\Kernel\net8.0\AwperativeKernel.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
209
2DRenderer/Camera2D.cs
Normal file
209
2DRenderer/Camera2D.cs
Normal file
@@ -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
|
||||
{
|
||||
|
||||
|
||||
|
||||
/// <summary> Handle of the vertex array object</summary>
|
||||
[MarkerAttributes.GLHandle]
|
||||
internal int vertexArray;
|
||||
|
||||
/// <summary> Handle of the buffer where all the instances are stored</summary>
|
||||
[MarkerAttributes.GLHandle]
|
||||
internal int instanceBuffer;
|
||||
|
||||
|
||||
/// <summary> All sprites the camera is currently rendering</summary>
|
||||
public List<Sprite2D> Sprites = [];
|
||||
|
||||
/// <summary> Information on how sprite textures are organized, each index has a number corresponding to the amount of sprites with each texture</summary>
|
||||
public List<int> TextureGroups = [];
|
||||
|
||||
|
||||
/// <summary> Background color of the camera </summary>
|
||||
public static Color4<Rgba> Background {
|
||||
get => _background;
|
||||
set {
|
||||
_background = value;
|
||||
GL.ClearColor(_background);
|
||||
}
|
||||
} private static Color4<Rgba> _background;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary> Initializes the camera! </summary>
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary> Clears OpenGL of leftover buffers </summary>
|
||||
public void Dispose() {
|
||||
GL.DeleteBuffer(instanceBuffer);
|
||||
GL.DeleteVertexArray(vertexArray);
|
||||
GL.BindBuffer(BufferTarget.ArrayBuffer, 0);
|
||||
GL.BindVertexArray(0);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary> Fixes viewport info and updates uniforms </summary>
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
/// <summary> Registers a sprite into the camera</summary>
|
||||
internal void Add(Sprite2D sprite) {
|
||||
sprite.Index = Sprites.Count;
|
||||
Sprites.Add(sprite);
|
||||
|
||||
MapTextures();
|
||||
}
|
||||
|
||||
|
||||
/// <summary> Removes a sprite from the camera</summary>
|
||||
internal void Remove(Sprite2D __sprite) {
|
||||
Sprites.Remove(__sprite);
|
||||
|
||||
MapTextures();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>Maps textures and updates the OpenGL buffer! Also sorts all sprites belonging to the camera by texture order; to minimize swapping </summary>
|
||||
public void MapTextures() {
|
||||
|
||||
List<float> 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary> Draws all the sprites belonging to the camera</summary>
|
||||
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();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
22
2DRenderer/Fragment.glsl
Normal file
22
2DRenderer/Fragment.glsl
Normal file
@@ -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));
|
||||
}
|
||||
9
2DRenderer/MarkerAttributes.cs
Normal file
9
2DRenderer/MarkerAttributes.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
namespace Awperative.Renderer2D;
|
||||
|
||||
|
||||
public static class MarkerAttributes
|
||||
{
|
||||
/// <summary> Shows that the given object is an OpenGL handle </summary>
|
||||
[AttributeUsage(AttributeTargets.All)]
|
||||
public class GLHandle : Attribute {}
|
||||
}
|
||||
114
2DRenderer/Renderer2DProfile.cs
Normal file
114
2DRenderer/Renderer2DProfile.cs
Normal file
@@ -0,0 +1,114 @@
|
||||
using System.Reflection;
|
||||
using OpenTK.Graphics.OpenGL;
|
||||
|
||||
|
||||
namespace Awperative.Renderer2D;
|
||||
|
||||
|
||||
public static class Renderer2DProfile
|
||||
{
|
||||
/// <summary> Handle of index buffer</summary>
|
||||
[MarkerAttributes.GLHandle]
|
||||
public static readonly int IndexBufferHandle;
|
||||
|
||||
/// <summary> Vertex buffer handle</summary>
|
||||
[MarkerAttributes.GLHandle]
|
||||
public static readonly int VertexBufferHandle;
|
||||
|
||||
|
||||
|
||||
/// <summary> Program handle</summary>
|
||||
[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<Sprite2D> TextureSorter = Comparer<Sprite2D>.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);
|
||||
}
|
||||
|
||||
}
|
||||
167
2DRenderer/Sprite2D.cs
Normal file
167
2DRenderer/Sprite2D.cs
Normal file
@@ -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<Camera2D>();
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
29
2DRenderer/SpriteSheet2D.cs
Normal file
29
2DRenderer/SpriteSheet2D.cs
Normal file
@@ -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;
|
||||
}
|
||||
}
|
||||
63
2DRenderer/Texture2D.cs
Normal file
63
2DRenderer/Texture2D.cs
Normal file
@@ -0,0 +1,63 @@
|
||||
using OpenTK.Graphics.OpenGL;
|
||||
using StbImageSharp;
|
||||
|
||||
|
||||
namespace Awperative.Renderer2D;
|
||||
|
||||
|
||||
/// <summary>Holds a reference to a texture stored in VRAM </summary>
|
||||
public class Texture2D : IDisposable
|
||||
{
|
||||
/// <summary> Handle of the object in open GL. </summary>
|
||||
[MarkerAttributes.GLHandle]
|
||||
public readonly int Handle;
|
||||
|
||||
|
||||
/// <summary> Width of the source texture </summary>
|
||||
public readonly int width;
|
||||
|
||||
/// <summary> Height of the source texture </summary>
|
||||
public readonly int height;
|
||||
|
||||
|
||||
|
||||
/// <summary> Clears the used VRAM</summary>
|
||||
public void Dispose() {
|
||||
GL.DeleteTexture(Handle);
|
||||
GL.BindTexture(TextureTarget.Texture2d, 0);
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary> Loads and creates a texture from a given file path</summary>
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
33
2DRenderer/Vertex.glsl
Normal file
33
2DRenderer/Vertex.glsl
Normal file
@@ -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);
|
||||
}
|
||||
296
2DRenderer/bin/Debug/net9.0/2DRenderer.deps.json
Normal file
296
2DRenderer/bin/Debug/net9.0/2DRenderer.deps.json
Normal file
@@ -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": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
2DRenderer/bin/Debug/net9.0/2DRenderer.dll
Normal file
BIN
2DRenderer/bin/Debug/net9.0/2DRenderer.dll
Normal file
Binary file not shown.
BIN
2DRenderer/bin/Debug/net9.0/2DRenderer.pdb
Normal file
BIN
2DRenderer/bin/Debug/net9.0/2DRenderer.pdb
Normal file
Binary file not shown.
BIN
2DRenderer/bin/Debug/net9.0/AwperativeKernel.dll
Normal file
BIN
2DRenderer/bin/Debug/net9.0/AwperativeKernel.dll
Normal file
Binary file not shown.
BIN
2DRenderer/bin/Debug/net9.0/AwperativeKernel.pdb
Normal file
BIN
2DRenderer/bin/Debug/net9.0/AwperativeKernel.pdb
Normal file
Binary file not shown.
77
2DRenderer/obj/2DRenderer.csproj.nuget.dgspec.json
Normal file
77
2DRenderer/obj/2DRenderer.csproj.nuget.dgspec.json
Normal file
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
15
2DRenderer/obj/2DRenderer.csproj.nuget.g.props
Normal file
15
2DRenderer/obj/2DRenderer.csproj.nuget.g.props
Normal file
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">/home/avery/.nuget/packages/</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">/home/avery/.nuget/packages/</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.14.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="/home/avery/.nuget/packages/" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
2
2DRenderer/obj/2DRenderer.csproj.nuget.g.targets
Normal file
2
2DRenderer/obj/2DRenderer.csproj.nuget.g.targets
Normal file
@@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]
|
||||
22
2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfo.cs
Normal file
22
2DRenderer/obj/Debug/net9.0/2DRenderer.AssemblyInfo.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
b66822f1dc2e7c7e4f084c2892a366b2fa05b69f96b4d07aaa7c3d805ea85175
|
||||
@@ -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 =
|
||||
8
2DRenderer/obj/Debug/net9.0/2DRenderer.GlobalUsings.g.cs
Normal file
8
2DRenderer/obj/Debug/net9.0/2DRenderer.GlobalUsings.g.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
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;
|
||||
BIN
2DRenderer/obj/Debug/net9.0/2DRenderer.assets.cache
Normal file
BIN
2DRenderer/obj/Debug/net9.0/2DRenderer.assets.cache
Normal file
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
2d5c44e07a9bcf22843711df66c54468b1d5b93ab439922524d907bd71f6c858
|
||||
@@ -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
|
||||
BIN
2DRenderer/obj/Debug/net9.0/2DRenderer.dll
Normal file
BIN
2DRenderer/obj/Debug/net9.0/2DRenderer.dll
Normal file
Binary file not shown.
BIN
2DRenderer/obj/Debug/net9.0/2DRenderer.pdb
Normal file
BIN
2DRenderer/obj/Debug/net9.0/2DRenderer.pdb
Normal file
Binary file not shown.
BIN
2DRenderer/obj/Debug/net9.0/ref/2DRenderer.dll
Normal file
BIN
2DRenderer/obj/Debug/net9.0/ref/2DRenderer.dll
Normal file
Binary file not shown.
BIN
2DRenderer/obj/Debug/net9.0/refint/2DRenderer.dll
Normal file
BIN
2DRenderer/obj/Debug/net9.0/refint/2DRenderer.dll
Normal file
Binary file not shown.
539
2DRenderer/obj/project.assets.json
Normal file
539
2DRenderer/obj/project.assets.json
Normal file
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
23
2DRenderer/obj/project.nuget.cache
Normal file
23
2DRenderer/obj/project.nuget.cache
Normal file
@@ -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": []
|
||||
}
|
||||
1
2DRenderer/obj/project.packagespec.json
Normal file
1
2DRenderer/obj/project.packagespec.json
Normal file
@@ -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"}}
|
||||
1
2DRenderer/obj/rider.project.model.nuget.info
Normal file
1
2DRenderer/obj/rider.project.model.nuget.info
Normal file
@@ -0,0 +1 @@
|
||||
17729103684913577
|
||||
1
2DRenderer/obj/rider.project.restore.info
Normal file
1
2DRenderer/obj/rider.project.restore.info
Normal file
@@ -0,0 +1 @@
|
||||
17729103684913577
|
||||
Reference in New Issue
Block a user