{-# LANGUAGE PatternSynonyms #-} module GL ( C.GLboolean , C.GLenum , C.GLint , C.GLuint , pattern C.GL_ARRAY_BUFFER , pattern C.GL_BACK , pattern C.GL_BACK_LEFT , pattern C.GL_BLEND , pattern C.GL_COLOR , pattern C.GL_COLOR_ATTACHMENT0 , pattern C.GL_COLOR_BUFFER_BIT , pattern C.GL_COLOR_LOGIC_OP , pattern C.GL_CULL_FACE , pattern C.GL_DEPTH_ATTACHMENT , pattern C.GL_DEPTH_BUFFER_BIT , pattern C.GL_DEPTH_TEST , pattern C.GL_DRAW_FRAMEBUFFER , pattern C.GL_ELEMENT_ARRAY_BUFFER , pattern C.GL_FALSE , pattern C.GL_FILL , pattern C.GL_FIRST_VERTEX_CONVENTION , pattern C.GL_FRAGMENT_SHADER , pattern C.GL_FRONT , pattern C.GL_FRONT_AND_BACK , pattern C.GL_GEOMETRY_SHADER , pattern C.GL_LAST_VERTEX_CONVENTION , pattern C.GL_LINE , pattern C.GL_LOWER_LEFT , pattern C.GL_NONE , pattern C.GL_POINT , pattern C.GL_POINT_FADE_THRESHOLD_SIZE , pattern C.GL_POINT_SPRITE_COORD_ORIGIN , pattern C.GL_POLYGON_OFFSET_FILL , pattern C.GL_POLYGON_OFFSET_LINE , pattern C.GL_POLYGON_OFFSET_POINT , pattern C.GL_PROGRAM_POINT_SIZE , pattern C.GL_STENCIL_BUFFER_BIT , pattern C.GL_STENCIL_TEST , pattern C.GL_TEXTURE0 , pattern C.GL_TRUE , pattern C.GL_UPPER_LEFT , pattern C.GL_VERTEX_SHADER , pattern C.GL_LINK_STATUS , pattern C.GL_CW , pattern C.GL_CCW , module GL ) where import Debug.Trace import Control.Monad.IO.Class import qualified Graphics.GL.Core33 as C import Foreign.Ptr ind0 :: String -> a -> a ind0 l = trace l $ id ind1 :: Show t1 => String -> (t1 -> t2) -> t1 -> t2 ind1 l f a = trace s $ f a where s = unwords [l,show a] ind2 :: ( Show t1, Show t2 ) => String -> (t1 -> t2 -> t3) -> t1 -> t2 -> t3 ind2 l f a b = trace s $ f a b where s = unwords [l,show a,show b] ind3 :: ( Show t1, Show t2, Show t3 ) => String -> (t1 -> t2 -> t3 -> t4) -> t1 -> t2 -> t3 -> t4 ind3 l f a b c = trace s $ f a b c where s = unwords [l,show a,show b,show c] ind4 :: ( Show t1, Show t2, Show t3, Show t4 ) => String -> (t1 -> t2 -> t3 -> t4 -> t5) -> t1 -> t2 -> t3 -> t4 -> t5 ind4 l f a b c d = trace s $ f a b c d where s = unwords [l,show a,show b,show c,show d] ind5 :: ( Show t1, Show t2, Show t3, Show t4, Show t5 ) => String -> (t1 -> t2 -> t3 -> t4 -> t5 -> t6) -> t1 -> t2 -> t3 -> t4 -> t5 -> t6 ind5 l f a b c d e = trace s $ f a b c d e where s = unwords [l,show a,show b,show c,show d,show e] glCreateProgram :: MonadIO m => m C.GLuint glCreateProgram = ind0 "glCreateProgram" C.glCreateProgram glActiveTexture :: MonadIO m => C.GLenum -> m () glActiveTexture = ind1 "glActiveTexture" C.glActiveTexture glBindVertexArray :: MonadIO m => C.GLuint -> m () glBindVertexArray = ind1 "glBindVertexArray" C.glBindVertexArray glClearDepth :: MonadIO m => C.GLdouble -> m () glClearDepth = ind1 "glClearDepth" C.glClearDepth glClear :: MonadIO m => C.GLbitfield -> m () glClear = ind1 "glClear" C.glClear glClearStencil :: MonadIO m => C.GLint -> m () glClearStencil = ind1 "glClearStencil" C.glClearStencil glCreateShader :: MonadIO m => C.GLenum -> m C.GLuint glCreateShader = ind1 "glCreateShader" C.glCreateShader glCullFace :: MonadIO m => C.GLenum -> m () glCullFace = ind1 "glCullFace" C.glCullFace glDeleteProgram :: MonadIO m => C.GLuint -> m () glDeleteProgram = ind1 "glDeleteProgram" C.glDeleteProgram glDeleteShader :: MonadIO m => C.GLuint -> m () glDeleteShader = ind1 "glDeleteShader" C.glDeleteShader glDepthFunc :: MonadIO m => C.GLenum -> m () glDepthFunc = ind1 "glDepthFunc" C.glDepthFunc glDepthMask :: MonadIO m => C.GLboolean -> m () glDepthMask = ind1 "glDepthMask" C.glDepthMask glDisable :: MonadIO m => C.GLenum -> m () glDisable = ind1 "glDisable" C.glDisable glEnable :: MonadIO m => C.GLenum -> m () glEnable = ind1 "glEnable" C.glEnable glEnableVertexAttribArray :: MonadIO m => C.GLuint -> m () glEnableVertexAttribArray = ind1 "glEnableVertexAttribArray" C.glEnableVertexAttribArray glFrontFace :: MonadIO m => C.GLenum -> m () glFrontFace = ind1 "glFrontFace" C.glFrontFace glLineWidth :: MonadIO m => C.GLfloat -> m () glLineWidth = ind1 "glLineWidth" C.glLineWidth glLinkProgram :: MonadIO m => C.GLuint -> m () glLinkProgram = ind1 "glLinkProgram" C.glLinkProgram glLogicOp :: MonadIO m => C.GLenum -> m () glLogicOp = ind1 "glLogicOp" C.glLogicOp glPointSize :: MonadIO m => C.GLfloat -> m () glPointSize = ind1 "glPointSize" C.glPointSize glProvokingVertex :: MonadIO m => C.GLenum -> m () glProvokingVertex = ind1 "glProvokingVertex" C.glProvokingVertex glUseProgram :: MonadIO m => C.GLuint -> m () glUseProgram = ind1 "glUseProgram" C.glUseProgram glAttachShader :: MonadIO m => C.GLuint -> C.GLuint -> m () glAttachShader = ind2 "glAttachShader" C.glAttachShader glBindBuffer :: MonadIO m => C.GLenum -> C.GLuint -> m () glBindBuffer = ind2 "glBindBuffer" C.glBindBuffer glBindSampler :: MonadIO m => C.GLuint -> C.GLuint -> m () glBindSampler = ind2 "glBindSampler" C.glBindSampler glBindTexture :: MonadIO m => C.GLenum -> C.GLuint -> m () glBindTexture = ind2 "glBindTexture" C.glBindTexture glPolygonMode :: MonadIO m => C.GLenum -> C.GLenum -> m () glPolygonMode = ind2 "glPolygonMode" C.glPolygonMode glDisableVertexAttribArray :: MonadIO m => C.GLuint -> m () glDisableVertexAttribArray = ind1 "glDisableVertexAttribArray" C.glDisableVertexAttribArray glBindFramebuffer :: MonadIO m => C.GLenum -> C.GLuint -> m () -- glBindFramebuffer = ind2 "glBindFramebuffer" C.glBindFramebuffer glBindFramebuffer _ _ = return () glBlendEquationSeparate :: MonadIO m => C.GLenum -> C.GLenum -> m () glBlendEquationSeparate = ind2 "glBlendEquationSeparate" C.glBlendEquationSeparate glDeleteFramebuffers :: MonadIO m => C.GLsizei -> Ptr C.GLuint -> m () glDeleteFramebuffers = ind2 "glDeleteFramebuffers" C.glDeleteFramebuffers glDeleteSamplers :: MonadIO m => C.GLsizei -> Ptr C.GLuint -> m () glDeleteSamplers = ind2 "glDeleteSamplers" C.glDeleteSamplers glDeleteTextures :: MonadIO m => C.GLsizei -> Ptr C.GLuint -> m () glDeleteTextures = ind2 "glDeleteTextures" C.glDeleteTextures glDeleteVertexArrays :: MonadIO m => C.GLsizei -> Ptr C.GLuint -> m () glDeleteVertexArrays = ind2 "glDeleteVertexArrays" C.glDeleteVertexArrays glDrawBuffers :: MonadIO m => C.GLsizei -> Ptr C.GLenum -> m () glDrawBuffers = ind2 "glDrawBuffers" C.glDrawBuffers glGenFramebuffers :: MonadIO m => C.GLsizei -> Ptr C.GLuint -> m () glGenFramebuffers = ind2 "glGenFramebuffers" C.glGenFramebuffers glGenVertexArrays :: MonadIO m => C.GLsizei -> Ptr C.GLuint -> m () glGenVertexArrays = ind2 "glGenVertexArrays" C.glGenVertexArrays glPointParameterf :: MonadIO m => C.GLenum -> C.GLfloat -> m () glPointParameterf = ind2 "glPointParameterf" C.glPointParameterf glPolygonOffset :: MonadIO m => C.GLfloat -> C.GLfloat -> m () glPolygonOffset = ind2 "glPolygonOffset" C.glPolygonOffset glUniform1i :: MonadIO m => C.GLint -> C.GLint -> m () glUniform1i = ind2 "glUniform1i" C.glUniform1i glBindFragDataLocation :: MonadIO m => C.GLuint -> C.GLuint -> Ptr C.GLchar -> m () glBindFragDataLocation = ind3 "glBindFragDataLocation" C.glBindFragDataLocation glClearBufferfv :: MonadIO m => C.GLenum -> C.GLint -> Ptr C.GLfloat -> m () glClearBufferfv = ind3 "glClearBufferfv" C.glClearBufferfv glClearBufferiv :: MonadIO m => C.GLenum -> C.GLint -> Ptr C.GLint -> m () glClearBufferiv = ind3 "glClearBufferiv" C.glClearBufferiv glClearColor :: MonadIO m => C.GLfloat -> C.GLfloat -> C.GLfloat -> C.GLfloat -> m () glClearColor = ind4 "glClearColor" C.glClearColor glColorMask :: MonadIO m => C.GLboolean -> C.GLboolean -> C.GLboolean -> C.GLboolean -> m () glColorMask = ind4 "glColorMask" C.glColorMask glFramebufferTexture :: MonadIO m => C.GLenum -> C.GLenum -> C.GLuint -> C.GLint -> m () glFramebufferTexture = ind4 "glFramebufferTexture" C.glFramebufferTexture glViewport :: MonadIO m => C.GLint -> C.GLint -> C.GLsizei -> C.GLsizei -> m () glViewport = ind4 "glViewport" C.glViewport glBlendColor :: MonadIO m => C.GLfloat -> C.GLfloat -> C.GLfloat -> C.GLfloat -> m () glBlendColor = ind4 "glBlendColor" C.glBlendColor glVertexAttribPointer :: MonadIO m => C.GLuint -> C.GLint -> C.GLenum -> C.GLboolean -> C.GLsizei -> Ptr a -> m () glVertexAttribPointer = ind0 "glVertexAttribPointer" C.glVertexAttribPointer glDrawArrays :: MonadIO m => C.GLenum -> C.GLint -> C.GLsizei -> m () glDrawArrays = ind3 "glDrawArrays" C.glDrawArrays glBlendFuncSeparate :: MonadIO m => C.GLenum -> C.GLenum -> C.GLenum -> C.GLenum -> m () glBlendFuncSeparate = ind4 "glBlendFuncSeparate" C.glBlendFuncSeparate glDrawElements :: MonadIO m => C.GLenum -> C.GLsizei -> C.GLenum -> Ptr a -> m () glDrawElements = ind4 "glDrawElements" C.glDrawElements glVertexAttribIPointer :: MonadIO m => C.GLuint -> C.GLint -> C.GLenum -> C.GLsizei -> Ptr a -> m () glVertexAttribIPointer = ind5 "glVertexAttribIPointer" C.glVertexAttribIPointer glFramebufferTexture1D :: MonadIO m => C.GLenum -> C.GLenum -> C.GLenum -> C.GLuint -> C.GLint -> m () glFramebufferTexture1D = ind5 "glFramebufferTexture1D" C.glFramebufferTexture1D glFramebufferTexture2D :: MonadIO m => C.GLenum -> C.GLenum -> C.GLenum -> C.GLuint -> C.GLint -> m () glFramebufferTexture2D = ind5 "glFramebufferTexture2D" C.glFramebufferTexture2D glFramebufferTextureLayer :: MonadIO m => C.GLenum -> C.GLenum -> C.GLuint -> C.GLint -> C.GLint -> m () glFramebufferTextureLayer = ind5 "glFramebufferTextureLayer" C.glFramebufferTextureLayer