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; + } + } +}