18 INTERNAL_RGB_UNORM= 0x1907,
19 INTERNAL_BGR_UNORM = 0x80E0,
20 INTERNAL_RGBA_UNORM = 0x1908,
21 INTERNAL_BGRA_UNORM = 0x80E1,
22 INTERNAL_BGRA8_UNORM = 0x93A1,
25 INTERNAL_R8_UNORM = 0x8229,
26 INTERNAL_RG8_UNORM = 0x822B,
27 INTERNAL_RGB8_UNORM = 0x8051,
28 INTERNAL_RGBA8_UNORM = 0x8058,
30 INTERNAL_R16_UNORM = 0x822A,
31 INTERNAL_RG16_UNORM = 0x822C,
32 INTERNAL_RGB16_UNORM = 0x8054,
33 INTERNAL_RGBA16_UNORM = 0x805B,
35 INTERNAL_RGB10A2_UNORM = 0x8059,
36 INTERNAL_RGB10A2_SNORM_EXT = 0xFFFC,
39 INTERNAL_R8_SNORM = 0x8F94,
40 INTERNAL_RG8_SNORM = 0x8F95,
41 INTERNAL_RGB8_SNORM = 0x8F96,
42 INTERNAL_RGBA8_SNORM = 0x8F97,
44 INTERNAL_R16_SNORM = 0x8F98,
45 INTERNAL_RG16_SNORM= 0x8F99,
46 INTERNAL_RGB16_SNORM= 0x8F9A,
47 INTERNAL_RGBA16_SNORM = 0x8F9B,
50 INTERNAL_R8U = 0x8232,
51 INTERNAL_RG8U = 0x8238,
52 INTERNAL_RGB8U = 0x8D7D,
53 INTERNAL_RGBA8U = 0x8D7C,
55 INTERNAL_R16U = 0x8234,
56 INTERNAL_RG16U = 0x823A,
57 INTERNAL_RGB16U = 0x8D77,
58 INTERNAL_RGBA16U = 0x8D76,
60 INTERNAL_R32U = 0x8236,
61 INTERNAL_RG32U = 0x823C,
62 INTERNAL_RGB32U = 0x8D71,
63 INTERNAL_RGBA32U = 0x8D70,
65 INTERNAL_RGB10A2U = 0x906F,
66 INTERNAL_RGB10A2I_EXT = 0xFFFB,
69 INTERNAL_R8I = 0x8231,
70 INTERNAL_RG8I = 0x8237,
71 INTERNAL_RGB8I = 0x8D8F,
72 INTERNAL_RGBA8I = 0x8D8E,
74 INTERNAL_R16I = 0x8233,
75 INTERNAL_RG16I = 0x8239,
76 INTERNAL_RGB16I = 0x8D89,
77 INTERNAL_RGBA16I = 0x8D88,
79 INTERNAL_R32I = 0x8235,
80 INTERNAL_RG32I = 0x823B,
81 INTERNAL_RGB32I = 0x8D83,
82 INTERNAL_RGBA32I = 0x8D82,
85 INTERNAL_R16F = 0x822D,
86 INTERNAL_RG16F = 0x822F,
87 INTERNAL_RGB16F = 0x881B,
88 INTERNAL_RGBA16F = 0x881A,
90 INTERNAL_R32F = 0x822E,
91 INTERNAL_RG32F = 0x8230,
92 INTERNAL_RGB32F = 0x8815,
93 INTERNAL_RGBA32F = 0x8814,
95 INTERNAL_R64F_EXT = 0xFFFA,
96 INTERNAL_RG64F_EXT = 0xFFF9,
97 INTERNAL_RGB64F_EXT = 0xFFF8,
98 INTERNAL_RGBA64F_EXT = 0xFFF7,
101 INTERNAL_SR8 = 0x8FBD,
102 INTERNAL_SRG8 = 0x8FBE,
103 INTERNAL_SRGB8 = 0x8C41,
104 INTERNAL_SRGB8_ALPHA8 = 0x8C43,
107 INTERNAL_RGB9E5 = 0x8C3D,
108 INTERNAL_RG11B10F = 0x8C3A,
109 INTERNAL_RG3B2 = 0x2A10,
110 INTERNAL_R5G6B5 = 0x8D62,
111 INTERNAL_RGB5A1 = 0x8057,
112 INTERNAL_RGBA4 = 0x8056,
114 INTERNAL_RG4_EXT = 0xFFFE,
117 INTERNAL_LA4 = 0x8043,
118 INTERNAL_L8 = 0x8040,
119 INTERNAL_A8 = 0x803C,
120 INTERNAL_LA8 = 0x8045,
121 INTERNAL_L16 = 0x8042,
122 INTERNAL_A16 = 0x803E,
123 INTERNAL_LA16 = 0x8048,
126 INTERNAL_D16 = 0x81A5,
127 INTERNAL_D24 = 0x81A6,
128 INTERNAL_D16S8_EXT = 0xFFF6,
129 INTERNAL_D24S8 = 0x88F0,
130 INTERNAL_D32 = 0x81A7,
131 INTERNAL_D32F = 0x8CAC,
132 INTERNAL_D32FS8X24 = 0x8CAD,
133 INTERNAL_S8_EXT = 0x8D48,
136 INTERNAL_RGB_DXT1 = 0x83F0,
137 INTERNAL_RGBA_DXT1 = 0x83F1,
138 INTERNAL_RGBA_DXT3 = 0x83F2,
139 INTERNAL_RGBA_DXT5 = 0x83F3,
140 INTERNAL_R_ATI1N_UNORM = 0x8DBB,
141 INTERNAL_R_ATI1N_SNORM = 0x8DBC,
142 INTERNAL_RG_ATI2N_UNORM = 0x8DBD,
143 INTERNAL_RG_ATI2N_SNORM = 0x8DBE,
144 INTERNAL_RGB_BP_UNSIGNED_FLOAT = 0x8E8F,
145 INTERNAL_RGB_BP_SIGNED_FLOAT = 0x8E8E,
146 INTERNAL_RGB_BP_UNORM = 0x8E8C,
147 INTERNAL_RGB_PVRTC_4BPPV1 = 0x8C00,
148 INTERNAL_RGB_PVRTC_2BPPV1 = 0x8C01,
149 INTERNAL_RGBA_PVRTC_4BPPV1 = 0x8C02,
150 INTERNAL_RGBA_PVRTC_2BPPV1 = 0x8C03,
151 INTERNAL_RGBA_PVRTC_4BPPV2 = 0x9137,
152 INTERNAL_RGBA_PVRTC_2BPPV2 = 0x9138,
153 INTERNAL_ATC_RGB = 0x8C92,
154 INTERNAL_ATC_RGBA_EXPLICIT_ALPHA = 0x8C93,
155 INTERNAL_ATC_RGBA_INTERPOLATED_ALPHA = 0x87EE,
157 INTERNAL_RGB_ETC = 0x8D64,
158 INTERNAL_RGB_ETC2 = 0x9274,
159 INTERNAL_RGBA_PUNCHTHROUGH_ETC2 = 0x9276,
160 INTERNAL_RGBA_ETC2 = 0x9278,
161 INTERNAL_R11_EAC = 0x9270,
162 INTERNAL_SIGNED_R11_EAC = 0x9271,
163 INTERNAL_RG11_EAC = 0x9272,
164 INTERNAL_SIGNED_RG11_EAC = 0x9273,
166 INTERNAL_RGBA_ASTC_4x4 = 0x93B0,
167 INTERNAL_RGBA_ASTC_5x4 = 0x93B1,
168 INTERNAL_RGBA_ASTC_5x5 = 0x93B2,
169 INTERNAL_RGBA_ASTC_6x5 = 0x93B3,
170 INTERNAL_RGBA_ASTC_6x6 = 0x93B4,
171 INTERNAL_RGBA_ASTC_8x5 = 0x93B5,
172 INTERNAL_RGBA_ASTC_8x6 = 0x93B6,
173 INTERNAL_RGBA_ASTC_8x8 = 0x93B7,
174 INTERNAL_RGBA_ASTC_10x5 = 0x93B8,
175 INTERNAL_RGBA_ASTC_10x6 = 0x93B9,
176 INTERNAL_RGBA_ASTC_10x8 = 0x93BA,
177 INTERNAL_RGBA_ASTC_10x10 = 0x93BB,
178 INTERNAL_RGBA_ASTC_12x10 = 0x93BC,
179 INTERNAL_RGBA_ASTC_12x12 = 0x93BD,
182 INTERNAL_SRGB_DXT1 = 0x8C4C,
183 INTERNAL_SRGB_ALPHA_DXT1 = 0x8C4D,
184 INTERNAL_SRGB_ALPHA_DXT3 = 0x8C4E,
185 INTERNAL_SRGB_ALPHA_DXT5 = 0x8C4F,
186 INTERNAL_SRGB_BP_UNORM = 0x8E8D,
187 INTERNAL_SRGB_PVRTC_2BPPV1 = 0x8A54,
188 INTERNAL_SRGB_PVRTC_4BPPV1 = 0x8A55,
189 INTERNAL_SRGB_ALPHA_PVRTC_2BPPV1 = 0x8A56,
190 INTERNAL_SRGB_ALPHA_PVRTC_4BPPV1 = 0x8A57,
191 INTERNAL_SRGB_ALPHA_PVRTC_2BPPV2 = 0x93F0,
192 INTERNAL_SRGB_ALPHA_PVRTC_4BPPV2 = 0x93F1,
193 INTERNAL_SRGB8_ETC2 = 0x9275,
194 INTERNAL_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 0x9277,
195 INTERNAL_SRGB8_ALPHA8_ETC2_EAC = 0x9279,
196 INTERNAL_SRGB8_ALPHA8_ASTC_4x4 = 0x93D0,
197 INTERNAL_SRGB8_ALPHA8_ASTC_5x4 = 0x93D1,
198 INTERNAL_SRGB8_ALPHA8_ASTC_5x5 = 0x93D2,
199 INTERNAL_SRGB8_ALPHA8_ASTC_6x5 = 0x93D3,
200 INTERNAL_SRGB8_ALPHA8_ASTC_6x6 = 0x93D4,
201 INTERNAL_SRGB8_ALPHA8_ASTC_8x5 = 0x93D5,
202 INTERNAL_SRGB8_ALPHA8_ASTC_8x6 = 0x93D6,
203 INTERNAL_SRGB8_ALPHA8_ASTC_8x8 = 0x93D7,
204 INTERNAL_SRGB8_ALPHA8_ASTC_10x5 = 0x93D8,
205 INTERNAL_SRGB8_ALPHA8_ASTC_10x6 = 0x93D9,
206 INTERNAL_SRGB8_ALPHA8_ASTC_10x8 = 0x93DA,
207 INTERNAL_SRGB8_ALPHA8_ASTC_10x10 = 0x93DB,
208 INTERNAL_SRGB8_ALPHA8_ASTC_12x10 = 0x93DC,
209 INTERNAL_SRGB8_ALPHA8_ASTC_12x12 = 0x93DD,
211 INTERNAL_ALPHA8 = 0x803C,
212 INTERNAL_ALPHA16 = 0x803E,
213 INTERNAL_LUMINANCE8 = 0x8040,
214 INTERNAL_LUMINANCE16 = 0x8042,
215 INTERNAL_LUMINANCE8_ALPHA8 = 0x8045,
216 INTERNAL_LUMINANCE16_ALPHA16 = 0x8048,
218 INTERNAL_R8_USCALED_GTC = 0xF000,
219 INTERNAL_R8_SSCALED_GTC,
220 INTERNAL_RG8_USCALED_GTC,
221 INTERNAL_RG8_SSCALED_GTC,
222 INTERNAL_RGB8_USCALED_GTC,
223 INTERNAL_RGB8_SSCALED_GTC,
224 INTERNAL_RGBA8_USCALED_GTC,
225 INTERNAL_RGBA8_SSCALED_GTC,
226 INTERNAL_RGB10A2_USCALED_GTC,
227 INTERNAL_RGB10A2_SSCALED_GTC,
228 INTERNAL_R16_USCALED_GTC,
229 INTERNAL_R16_SSCALED_GTC,
230 INTERNAL_RG16_USCALED_GTC,
231 INTERNAL_RG16_SSCALED_GTC,
232 INTERNAL_RGB16_USCALED_GTC,
233 INTERNAL_RGB16_SSCALED_GTC,
234 INTERNAL_RGBA16_USCALED_GTC,
235 INTERNAL_RGBA16_SSCALED_GTC,
241 EXTERNAL_RED = 0x1903,
242 EXTERNAL_RG = 0x8227,
243 EXTERNAL_RGB= 0x1907,
244 EXTERNAL_BGR = 0x80E0,
245 EXTERNAL_RGBA = 0x1908,
246 EXTERNAL_BGRA = 0x80E1,
247 EXTERNAL_RED_INTEGER = 0x8D94,
248 EXTERNAL_RG_INTEGER = 0x8228,
249 EXTERNAL_RGB_INTEGER = 0x8D98,
250 EXTERNAL_BGR_INTEGER = 0x8D9A,
251 EXTERNAL_RGBA_INTEGER = 0x8D99,
252 EXTERNAL_BGRA_INTEGER = 0x8D9B,
253 EXTERNAL_DEPTH = 0x1902,
254 EXTERNAL_DEPTH_STENCIL = 0x84F9,
255 EXTERNAL_STENCIL = 0x1901,
257 EXTERNAL_LUMINANCE = 0x1909,
258 EXTERNAL_ALPHA = 0x1906,
259 EXTERNAL_LUMINANCE_ALPHA = 0x190A,
261 EXTERNAL_SRGB_EXT = 0x8C40,
262 EXTERNAL_SRGB_ALPHA_EXT = 0x8C42
277 TYPE_F16_OES = 0x8D61,
280 TYPE_UINT32_RGB9_E5_REV = 0x8C3E,
281 TYPE_UINT32_RG11B10F_REV = 0x8C3B,
282 TYPE_UINT8_RG3B2 = 0x8032,
283 TYPE_UINT8_RG3B2_REV = 0x8362,
284 TYPE_UINT16_RGB5A1 = 0x8034,
285 TYPE_UINT16_RGB5A1_REV = 0x8366,
286 TYPE_UINT16_R5G6B5 = 0x8363,
287 TYPE_UINT16_R5G6B5_REV = 0x8364,
288 TYPE_UINT16_RGBA4 = 0x8033,
289 TYPE_UINT16_RGBA4_REV = 0x8365,
290 TYPE_UINT32_RGBA8 = 0x8035,
291 TYPE_UINT32_RGBA8_REV = 0x8367,
292 TYPE_UINT32_RGB10A2 = 0x8036,
293 TYPE_UINT32_RGB10A2_REV = 0x8368,
295 TYPE_UINT8_RG4_REV_GTC = 0xFFFD,
296 TYPE_UINT16_A1RGB5_GTC = 0xFFFC
302 TARGET_1D_ARRAY = 0x8C18,
304 TARGET_2D_ARRAY = 0x8C1A,
306 TARGET_RECT = 0x84F5,
307 TARGET_RECT_ARRAY = 0x84F5,
308 TARGET_CUBE = 0x8513,
309 TARGET_CUBE_ARRAY = 0x9009
314 SWIZZLE_RED = 0x1903,
315 SWIZZLE_GREEN = 0x1904,
316 SWIZZLE_BLUE = 0x1905,
317 SWIZZLE_ALPHA = 0x1906,
318 SWIZZLE_ZERO = 0x0000,
319 SWIZZLE_ONE = 0x0001,
331 typedef glm::tvec4<int> swizzles;
335 internal_format Internal;
336 external_format External;
350 gli::format find(internal_format InternalFormat, external_format ExternalFormat, type_format Type);
353 bool use_external_bgra(profile Profile)
const
355 return Profile == PROFILE_ES20 || Profile == PROFILE_GL32 || Profile == PROFILE_KTX;
360 internal_format Internal;
361 external_format External;
363 unsigned int Properties;
366 std::array<format_desc, FORMAT_COUNT> FormatDesc;
371 #include "./core/gl.inl"
gli::format find(internal_format InternalFormat, external_format ExternalFormat, type_format Type)
Convert an OpenGL format into a GLI format.
Namespace where all the classes and functions provided by GLI are exposed.
Include to use the target enum and query properties of targets.
target
Texture target: type/shape of the texture storage.
Translation class to convert GLI enums into OpenGL values.
format
Texture data format.
target const & translate(gli::target Target) const
Convert GLI targets into OpenGL texture targets.
Include to use the format enum and query properties of formats.