diff --git a/projects/msvc12/GLideN64.vcxproj b/projects/msvc12/GLideN64.vcxproj
index db93ea42..61e729d7 100644
--- a/projects/msvc12/GLideN64.vcxproj
+++ b/projects/msvc12/GLideN64.vcxproj
@@ -304,6 +304,7 @@
+
@@ -429,6 +430,8 @@
+
+
diff --git a/projects/msvc12/GLideN64.vcxproj.filters b/projects/msvc12/GLideN64.vcxproj.filters
index 3e5869e3..7ccfd5e3 100644
--- a/projects/msvc12/GLideN64.vcxproj.filters
+++ b/projects/msvc12/GLideN64.vcxproj.filters
@@ -284,6 +284,9 @@
Source Files\Graphics\OpenGL
+
+ Source Files\Graphics\OpenGL
+
Source Files\Graphics\OpenGL
@@ -505,11 +508,17 @@
Header Files\Graphics\OpenGL
-
- Header Files\Graphics\OpenGL
-
Header Files\Graphics
+
+ Header Files\Graphics
+
+
+ Header Files\Graphics
+
+
+ Header Files\Graphics\OpenGL
+
\ No newline at end of file
diff --git a/src/Graphics/OpenGLContext/Parameters.cpp b/src/Graphics/OpenGLContext/Parameters.cpp
new file mode 100644
index 00000000..e47ce598
--- /dev/null
+++ b/src/Graphics/OpenGLContext/Parameters.cpp
@@ -0,0 +1,27 @@
+#include
+#include "GLFunctions.h"
+
+namespace graphics {
+
+ namespace color {
+ Parameter RGBA(GL_RGBA);
+ Parameter RG(GL_RG);
+ Parameter RED(GL_RED);
+ Parameter DEPTH(GL_DEPTH_COMPONENT);
+ }
+
+ namespace internalcolor {
+ Parameter RGBA(GL_RGBA);
+ Parameter RG(GL_RG);
+ Parameter RED(GL_RED);
+ Parameter DEPTH(GL_DEPTH_COMPONENT);
+ }
+
+ namespace type {
+ Parameter UNSIGNED_BYTE(GL_UNSIGNED_BYTE);
+ Parameter UNSIGNED_SHORT(GL_UNSIGNED_SHORT);
+ Parameter UNSIGNED_INT(GL_UNSIGNED_INT);
+ Parameter FLOAT(GL_FLOAT);
+ }
+
+}
diff --git a/src/Graphics/Parameter.h b/src/Graphics/Parameter.h
new file mode 100644
index 00000000..eb4cfca0
--- /dev/null
+++ b/src/Graphics/Parameter.h
@@ -0,0 +1,17 @@
+#pragma once
+#include
+
+namespace graphics {
+
+ class Parameter
+ {
+ public:
+ Parameter(u32 _parameter) : m_parameter(_parameter) {}
+ explicit operator u32() const { return m_parameter; }
+ explicit operator s32() const { return static_cast(m_parameter); }
+
+ private:
+ u32 m_parameter;
+ };
+
+}
diff --git a/src/Graphics/Parameters.h b/src/Graphics/Parameters.h
new file mode 100644
index 00000000..405ba35a
--- /dev/null
+++ b/src/Graphics/Parameters.h
@@ -0,0 +1,27 @@
+#pragma once
+#include "Parameter.h"
+
+namespace graphics {
+
+ namespace color {
+ extern Parameter RGBA;
+ extern Parameter RG;
+ extern Parameter RED;
+ extern Parameter DEPTH;
+ }
+
+ namespace internalcolor {
+ extern Parameter RGBA;
+ extern Parameter RG;
+ extern Parameter RED;
+ extern Parameter DEPTH;
+ }
+
+ namespace type {
+ extern Parameter UNSIGNED_BYTE;
+ extern Parameter UNSIGNED_SHORT;
+ extern Parameter UNSIGNED_INT;
+ extern Parameter FLOAT;
+ }
+
+}