From 22ba07709becd49bf56d5b395c8e059b5f1a7bc0 Mon Sep 17 00:00:00 2001
From: miku-666 <74728189+NessieHax@users.noreply.github.com>
Date: Fri, 19 Jan 2024 18:07:33 +0100
Subject: [PATCH] Shader - Added ShaderSource.cs
---
PCK-Studio/PckStudio.csproj | 1 +
PCK-Studio/Rendering/Shader.cs | 8 ++++----
PCK-Studio/Rendering/ShaderSource.cs | 21 +++++++++++++++++++++
3 files changed, 26 insertions(+), 4 deletions(-)
create mode 100644 PCK-Studio/Rendering/ShaderSource.cs
diff --git a/PCK-Studio/PckStudio.csproj b/PCK-Studio/PckStudio.csproj
index d213516b..dfa4121a 100644
--- a/PCK-Studio/PckStudio.csproj
+++ b/PCK-Studio/PckStudio.csproj
@@ -158,6 +158,7 @@
+
UserControl
diff --git a/PCK-Studio/Rendering/Shader.cs b/PCK-Studio/Rendering/Shader.cs
index 6c22833b..e8b526fa 100644
--- a/PCK-Studio/Rendering/Shader.cs
+++ b/PCK-Studio/Rendering/Shader.cs
@@ -98,12 +98,12 @@ namespace PckStudio.Rendering
public static Shader Create(string vertexSource, string fragmentSource)
{
return Create(
- new KeyValuePair(ShaderType.VertexShader, vertexSource),
- new KeyValuePair(ShaderType.FragmentShader, fragmentSource)
+ new ShaderSource(ShaderType.VertexShader, vertexSource),
+ new ShaderSource(ShaderType.FragmentShader, fragmentSource)
);
}
- public static Shader Create(params KeyValuePair[] shaderSources)
+ public static Shader Create(params ShaderSource[] shaderSources)
{
int programId = GL.CreateProgram();
@@ -111,7 +111,7 @@ namespace PckStudio.Rendering
foreach (var shaderSource in shaderSources)
{
- int shaderId = CompileShader(shaderSource.Key, shaderSource.Value);
+ int shaderId = CompileShader(shaderSource.Type, shaderSource.Source);
GL.AttachShader(programId, shaderId);
shaderIds.Add(shaderId);
}
diff --git a/PCK-Studio/Rendering/ShaderSource.cs b/PCK-Studio/Rendering/ShaderSource.cs
new file mode 100644
index 00000000..d7b9007a
--- /dev/null
+++ b/PCK-Studio/Rendering/ShaderSource.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using OpenTK.Graphics.OpenGL;
+
+namespace PckStudio.Rendering
+{
+ internal readonly struct ShaderSource
+ {
+ public readonly ShaderType Type;
+ public readonly string Source;
+
+ public ShaderSource(ShaderType type, string source)
+ {
+ Type = type;
+ Source = source;
+ }
+ }
+}