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);
355 internal_format Internal;
356 external_format External;
358 unsigned int Properties;
361 bool has_swizzle(profile Profile)
const
363 return Profile == PROFILE_ES30 || Profile == PROFILE_GL33;
366 gl::swizzles compute_swizzle(format_desc
const& FormatDesc, gli::swizzles
const& Swizzle)
const;
368 std::array<format_desc, FORMAT_COUNT> FormatDesc;
373 #include "./core/gl.inl"
format
Texture data format.
target const & translate(gli::target Target) const
Convert GLI targets into OpenGL texture targets.
gli::format find(internal_format InternalFormat, external_format ExternalFormat, type_format Type)
Convert an OpenGL format into a GLI format.
Include to use the target enum and query properties of targets.
target
Texture target: type/shape of the texture storage_linear.
Namespace where all the classes and functions provided by GLI are exposed.
Include to use the format enum and query properties of formats.
Translation class to convert GLI enums into OpenGL values.