]> git.tdb.fi Git - libs/gl.git/blobdiff - source/misc.cpp
Use wrappers for single-value glGet* calls
[libs/gl.git] / source / misc.cpp
index b99310a98f5720441de5ba3a8bf787802f282f5b..3af18765f8fa468ea657dbf71f0f02c992c44fdb 100644 (file)
@@ -1,14 +1,51 @@
+#include <msp/gl/extensions/arb_shader_objects.h>
 #include "misc.h"
 
 namespace Msp {
 namespace GL {
 
+void enable(GLenum state)
+{
+       glEnable(state);
+}
+
+void disable(GLenum state)
+{
+       glDisable(state);
+}
+
 void set(GLenum state, bool value)
 {
        if(value)
-               glEnable(state);
+               enable(state);
        else
-               glDisable(state);
+               disable(state);
+}
+
+void get(GLenum state, int *data)
+{
+       glGetIntegerv(state, data);
+}
+
+int get_i(GLenum state)
+{
+       int data;
+       get(state, &data);
+       return data;
+}
+
+int get_shader_i(unsigned id, GLenum state)
+{
+       int data;
+       glGetShaderiv(id, state, &data);
+       return data;
+}
+
+int get_program_i(unsigned id, GLenum state)
+{
+       int data;
+       glGetProgramiv(id, state, &data);
+       return data;
 }
 
 } // namespace GL