{-# LANGUAGE PatternSynonyms #-}
--------------------------------------------------------------------------------
-- |
-- Module      :  Graphics.GL.EXT.FramebufferObject
-- Copyright   :  (c) Sven Panne 2019
-- License     :  BSD3
--
-- Maintainer  :  Sven Panne <svenpanne@gmail.com>
-- Stability   :  stable
-- Portability :  portable
--
--------------------------------------------------------------------------------

module Graphics.GL.EXT.FramebufferObject (
  -- * Extension Support
  glGetEXTFramebufferObject,
  gl_EXT_framebuffer_object,
  -- * Enums
  pattern GL_COLOR_ATTACHMENT0_EXT,
  pattern GL_COLOR_ATTACHMENT10_EXT,
  pattern GL_COLOR_ATTACHMENT11_EXT,
  pattern GL_COLOR_ATTACHMENT12_EXT,
  pattern GL_COLOR_ATTACHMENT13_EXT,
  pattern GL_COLOR_ATTACHMENT14_EXT,
  pattern GL_COLOR_ATTACHMENT15_EXT,
  pattern GL_COLOR_ATTACHMENT1_EXT,
  pattern GL_COLOR_ATTACHMENT2_EXT,
  pattern GL_COLOR_ATTACHMENT3_EXT,
  pattern GL_COLOR_ATTACHMENT4_EXT,
  pattern GL_COLOR_ATTACHMENT5_EXT,
  pattern GL_COLOR_ATTACHMENT6_EXT,
  pattern GL_COLOR_ATTACHMENT7_EXT,
  pattern GL_COLOR_ATTACHMENT8_EXT,
  pattern GL_COLOR_ATTACHMENT9_EXT,
  pattern GL_DEPTH_ATTACHMENT_EXT,
  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT,
  pattern GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT,
  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT,
  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT,
  pattern GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT,
  pattern GL_FRAMEBUFFER_BINDING_EXT,
  pattern GL_FRAMEBUFFER_COMPLETE_EXT,
  pattern GL_FRAMEBUFFER_EXT,
  pattern GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT,
  pattern GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT,
  pattern GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT,
  pattern GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT,
  pattern GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT,
  pattern GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT,
  pattern GL_FRAMEBUFFER_UNSUPPORTED_EXT,
  pattern GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
  pattern GL_MAX_COLOR_ATTACHMENTS_EXT,
  pattern GL_MAX_RENDERBUFFER_SIZE_EXT,
  pattern GL_RENDERBUFFER_ALPHA_SIZE_EXT,
  pattern GL_RENDERBUFFER_BINDING_EXT,
  pattern GL_RENDERBUFFER_BLUE_SIZE_EXT,
  pattern GL_RENDERBUFFER_DEPTH_SIZE_EXT,
  pattern GL_RENDERBUFFER_EXT,
  pattern GL_RENDERBUFFER_GREEN_SIZE_EXT,
  pattern GL_RENDERBUFFER_HEIGHT_EXT,
  pattern GL_RENDERBUFFER_INTERNAL_FORMAT_EXT,
  pattern GL_RENDERBUFFER_RED_SIZE_EXT,
  pattern GL_RENDERBUFFER_STENCIL_SIZE_EXT,
  pattern GL_RENDERBUFFER_WIDTH_EXT,
  pattern GL_STENCIL_ATTACHMENT_EXT,
  pattern GL_STENCIL_INDEX16_EXT,
  pattern GL_STENCIL_INDEX1_EXT,
  pattern GL_STENCIL_INDEX4_EXT,
  pattern GL_STENCIL_INDEX8_EXT,
  -- * Functions
  glBindFramebufferEXT,
  glBindRenderbufferEXT,
  glCheckFramebufferStatusEXT,
  glDeleteFramebuffersEXT,
  glDeleteRenderbuffersEXT,
  glFramebufferRenderbufferEXT,
  glFramebufferTexture1DEXT,
  glFramebufferTexture2DEXT,
  glFramebufferTexture3DEXT,
  glGenFramebuffersEXT,
  glGenRenderbuffersEXT,
  glGenerateMipmapEXT,
  glGetFramebufferAttachmentParameterivEXT,
  glGetRenderbufferParameterivEXT,
  glIsFramebufferEXT,
  glIsRenderbufferEXT,
  glRenderbufferStorageEXT
) where

import Graphics.GL.ExtensionPredicates
import Graphics.GL.Tokens
import Graphics.GL.Functions