OpenGL Core 3.2 Internal Formats

Fig. 1: Base Internal Formats

Base
Internal Format
RGBA, Depth,
and Stencil Values
Internal
Components
GL_DEPTH_COMPONENTDepthD
GL_DEPTH_STENCILDepth, StencilD,S
GL_REDRedR
GL_RGRed,GreenR,G
GL_RGBRed,Green,BlueR,G,B
GL_RGBARed,Green,Blue,AlphaR,G,B,A

Fig. 2a: Sized Internal Formats (Color)

Internal Format Bits
SizedBase R G B A Shared
GL_R8GL_RED8----
GL_R8_SNORMGL_REDs8----
GL_R16GL_RED16----
GL_R16_SNORMGL_REDs16----
GL_RG8GL_RG88---
GL_RG8_SNORMGL_RGs8s8---
GL_RG16GL_RG1616---
GL_RG16_SNORMGL_RGs16s16---
GL_R3_G3_B2GL_RGB332--
GL_RGB4GL_RGB444--
GL_RGB5GL_RGB555--
GL_RGB8GL_RGB888--
GL_RGB8_SNORMGL_RGBs8s8s8--
GL_RGB10GL_RGB101010--
GL_RGB12GL_RGB121212--
GL_RGB16GL_RGB161616--
GL_RGB16_SNORMGL_RGBs16s16s16--
GL_RGBA2GL_RGBA2222-
GL_RGBA4GL_RGBA4444-
GL_RGB5_A1GL_RGBA5551-
GL_RGBA8GL_RGBA8888-
GL_RGBA8_SNORMGL_RGBAs8s8s8s8-
GL_RGB10_A2GL_RGBA1010102-
GL_RGBA12GL_RGBA12121212-
GL_RGBA16GL_RGBA16161616-
GL_RGBA16_SNORMGL_RGBAs16s16s16s16-
GL_SRGB8GL_RGB888--
GL_SRGB8_ALPHA8GL_RGBA8888-
GL_R16FGL_REDf16----
GL_RG16FGL_RGf16f16---
GL_RGB16FGL_RGBf16f16f16--
GL_RGBA16FGL_RGBAf16f16f16f16-
GL_R32FGL_REDf32----
GL_RG32FGL_RGf32f32---
GL_RGB32FGL_RGBf32f32f32--
GL_RGBA32FGL_RGBAf32f32f32f32-
GL_R11F_G11F_B10FGL_RGBf11f11f10--
GL_RGB9_E5GL_RGB999-5
GL_R8IGL_REDi8----
GL_R8UIGL_REDui8----
GL_R16IGL_REDi16----
GL_R16UIGL_REDui16----
GL_R32IGL_REDi32----
GL_R32UIGL_REDui32----
GL_RG8IGL_RGi8i8---
GL_RG8UIGL_RGui8ui8---
GL_RG16IGL_RGi16i16---
GL_RG16UIGL_RGui16ui16---
GL_RG32IGL_RGi32i32---
GL_RG32UIGL_RGui32ui32---
GL_RGB8IGL_RGBi8i8i8--
GL_RGB8UIGL_RGBui8ui8ui8--
GL_RGB16IGL_RGBi16i16i16--
GL_RGB16UIGL_RGBui16ui16ui16--
GL_RGB32IGL_RGBi32i32i32--
GL_RGB32UIGL_RGBui32ui32ui32--
GL_RGBA8IGL_RGBAi8i8i8i8-
GL_RGBA8UIGL_RGBAui8ui8ui8ui8-
GL_RGBA16IGL_RGBAi16i16i16i16-
GL_RGBA16UIGL_RGBAui16ui16ui16ui16-
GL_RGBA32IGL_RGBAi32i32i32i32-
GL_RGBA32UIGL_RGBAui32ui32ui32ui32-

Fig. 2a: List of sized internal color formats for OpenGL Core Profile 3.2. Highlighted rows are for textures only. Others can also be used for renderbuffers.

Notice that some of these formats have unusual numbers of bits for floating point representation:

Fig 2b: Sized Internal Formats (Depth and Stencil)

Internal Format Bits
Sized Base D S
GL_DEPTH_COMPONENT16GL_DEPTH_COMPONENT16-
GL_DEPTH_COMPONENT24GL_DEPTH_COMPONENT24-
GL_DEPTH_COMPONENT32GL_DEPTH_COMPONENT32-
GL_DEPTH_COMPONENT32FGL_DEPTH_COMPONENTf32-
GL_DEPTH24_STENCIL8GL_DEPTH_STENCIL248
GL_DEPTH32F_STENCIL8GL_DEPTH_STENCILf328
Fig. x: List of sized internal depth and stencil formats for OpenGL Core Profile 3.2. Source: The OpenGL 3.2 Graphics System: A Specification ((Core Profile) - December 7, 2009)

Fig. 3: Compressed Internal Formats

Internal Format Type
CompressedBase
GL_COMPRESSED_REDGL_REDGeneric
GL_COMPRESSED_RGGL_RGGeneric
GL_COMPRESSED_RGBGL_RGBGeneric
GL_COMPRESSED_RGBAGL_RGBAGeneric
GL_COMPRESSED_SRGBGL_RGBGeneric
GL_COMPRESSED_SRGB_ALPHAGL_RGBAGeneric
GL_COMPRESSED_RED_RGTC1GL_REDSpecific
GL_COMPRESSED_SIGNED_RED_RGTC1GL_REDSpecific
GL_COMPRESSED_RG_RGTC2GL_RGSpecific
GL_COMPRESSED_SIGNED_RG_RGTC2GL_RGSpecific
Fig. x: List of compressed color formats for OpenGL Core Profile 3.2. Compressed color formats may not be used for renderbuffers. Generic type means that the driver provider may select the compression scheme. Specific type means that the texture will be encoded using RGTC as described in Appendix C.1 of the standard. Source: The OpenGL 3.2 Graphics System: A Specification ((Core Profile) - December 7, 2009)

Reference