You.i Engine
YiGLAPIGenerated.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 /*******************************************************************************
3  * DO NOT EDIT THIS FILE!
4  * This file has been generated by tools/YiGLWrangler
5  ******************************************************************************/
6 
7 #ifndef _YI_GL_H_
8 #error Do not include YiGLAPIGenerated.h directly. Include YiGL.h instead.
9 #endif
10 
11 #ifndef _YI_GL_API_GENERATED_H_
12 #define _YI_GL_API_GENERATED_H_
13 #if (defined(YI_OPENGL2_RENDERING) || defined(YI_OPENGL_ES2_RENDERING))
14 
15 #if defined(__glu_h__)
16 #error "GL/glu.h included before YiGL.h"
17 #endif
18 
19 #if defined(__gl_h_)
20 #error "GL/gl.h included before YiGL.h"
21 #endif
22 
23 #if defined(__gl2_h_)
24 #error "GL/gl2.h included before YiGL.h"
25 #endif
26 
27 #if defined(__glcorearb_h_)
28 #error "GL/glcorearb.h included before YiGL.h"
29 #endif
30 
31 #if defined(__gl20_h_)
32 #error "GLES2/gl2.h included before YiGL.h"
33 #endif
34 
35 #if defined(__gl_es20_h_)
36 #error "OpenGLES/ES2/gl.h included before YiGL.h"
37 #endif
38 
39 #if defined(__gl30_h_)
40 #error "GLES3/gl3.h included before YiGL.h"
41 #endif
42 
43 #if defined(__gl_es30_h_)
44 #error "OpenGLES/ES3/gl.h included before YiGL.h"
45 #endif
46 
47 #if defined(__gl31_h_)
48 #error "GLES3/gl31.h included before YiGL.h"
49 #endif
50 
51 #if defined(__glext_h_)
52 #error "GL/glext.h included before YiGL.h"
53 #endif
54 
55 #if defined(__gl2ext_h_)
56 #error "GL/glext.h included before YiGL.h"
57 #endif
58 
59 #if defined(__gl_es20ext_h_)
60 #error "OpenGLES/ES2/glext.h included before YiGL.h"
61 #endif
62 
63 #if defined(__gl_es30ext_h_)
64 #error "OpenGLES/ES3/glext.h included before YiGL.h"
65 #endif
66 
67 #if defined(__gltypes_h_)
68 #error "gltypes.h included before YiGL.h"
69 #endif
70 
71 #define __glu_h__ 1
72 #define __gl_h_ 1
73 #define __gl2_h_ 1
74 #define __glcorearb_h_ 1
75 #define __gl20_h_ 1
76 #define __gl_es20_h_ 1
77 #define __gl30_h_ 1
78 #define __gl_es30_h_ 1
79 #define __gl31_h_ 1
80 #define __glext_h_ 1
81 #define __gl2ext_h_ 1
82 #define __gl_es20ext_h_ 1
83 #define __gl_es30ext_h_ 1
84 #define __gltypes_h_ 1
85 
86 #include "renderer/YiGLDefines.h"
87 #include "renderer/YiGLPlatform.h"
88 #include "renderer/YiGLTypes.h"
89 #include "utility/YiError.h"
90 
91 /* Version IDs */
92 #define GL_ES_VERSION_2_0
93 #define GL_ES_VERSION_3_0
94 #define GL_ES_VERSION_3_1
95 #define GL_ES_VERSION_3_2
96 #define GL_VERSION_1_0
97 #define GL_VERSION_1_1
98 #define GL_VERSION_1_2
99 #define GL_VERSION_1_3
100 #define GL_VERSION_1_4
101 #define GL_VERSION_1_5
102 #define GL_VERSION_2_0
103 #define GL_VERSION_2_1
104 #define GL_VERSION_3_0
105 #define GL_VERSION_3_1
106 #define GL_VERSION_3_2
107 #define GL_VERSION_3_3
108 #define GL_VERSION_4_0
109 #define GL_VERSION_4_1
110 #define GL_VERSION_4_2
111 #define GL_VERSION_4_3
112 #define GL_VERSION_4_4
113 #define GL_VERSION_4_5
114 
115 /* Extension IDs */
116 #define GL_3DFX_multisample
117 #define GL_3DFX_tbuffer
118 #define GL_3DFX_texture_compression_FXT1
119 #define GL_AMD_blend_minmax_factor
120 #define GL_AMD_compressed_3DC_texture
121 #define GL_AMD_compressed_ATC_texture
122 #define GL_AMD_conservative_depth
123 #define GL_AMD_debug_output
124 #define GL_AMD_depth_clamp_separate
125 #define GL_AMD_draw_buffers_blend
126 #define GL_AMD_gcn_shader
127 #define GL_AMD_gpu_shader_half_float
128 #define GL_AMD_gpu_shader_int64
129 #define GL_AMD_interleaved_elements
130 #define GL_AMD_multi_draw_indirect
131 #define GL_AMD_name_gen_delete
132 #define GL_AMD_occlusion_query_event
133 #define GL_AMD_performance_monitor
134 #define GL_AMD_pinned_memory
135 #define GL_AMD_program_binary_Z400
136 #define GL_AMD_query_buffer_object
137 #define GL_AMD_sample_positions
138 #define GL_AMD_seamless_cubemap_per_texture
139 #define GL_AMD_shader_atomic_counter_ops
140 #define GL_AMD_shader_ballot
141 #define GL_AMD_shader_explicit_vertex_parameter
142 #define GL_AMD_shader_stencil_export
143 #define GL_AMD_shader_trinary_minmax
144 #define GL_AMD_sparse_texture
145 #define GL_AMD_stencil_operation_extended
146 #define GL_AMD_texture_texture4
147 #define GL_AMD_transform_feedback3_lines_triangles
148 #define GL_AMD_transform_feedback4
149 #define GL_AMD_vertex_shader_layer
150 #define GL_AMD_vertex_shader_tessellator
151 #define GL_AMD_vertex_shader_viewport_index
152 #define GL_ANDROID_extension_pack_es31a
153 #define GL_ANGLE_depth_texture
154 #define GL_ANGLE_framebuffer_blit
155 #define GL_ANGLE_framebuffer_multisample
156 #define GL_ANGLE_instanced_arrays
157 #define GL_ANGLE_pack_reverse_row_order
158 #define GL_ANGLE_program_binary
159 #define GL_ANGLE_texture_compression_dxt3
160 #define GL_ANGLE_texture_compression_dxt5
161 #define GL_ANGLE_texture_usage
162 #define GL_ANGLE_translated_shader_source
163 #define GL_APPLE_aux_depth_stencil
164 #define GL_APPLE_client_storage
165 #define GL_APPLE_clip_distance
166 #define GL_APPLE_color_buffer_packed_float
167 #define GL_APPLE_copy_texture_levels
168 #define GL_APPLE_element_array
169 #define GL_APPLE_fence
170 #define GL_APPLE_float_pixels
171 #define GL_APPLE_flush_buffer_range
172 #define GL_APPLE_framebuffer_multisample
173 #define GL_APPLE_object_purgeable
174 #define GL_APPLE_rgb_422
175 #define GL_APPLE_row_bytes
176 #define GL_APPLE_specular_vector
177 #define GL_APPLE_sync
178 #define GL_APPLE_texture_2D_limited_npot
179 #define GL_APPLE_texture_format_BGRA8888
180 #define GL_APPLE_texture_max_level
181 #define GL_APPLE_texture_packed_float
182 #define GL_APPLE_texture_range
183 #define GL_APPLE_transform_hint
184 #define GL_APPLE_vertex_array_object
185 #define GL_APPLE_vertex_array_range
186 #define GL_APPLE_vertex_program_evaluators
187 #define GL_APPLE_ycbcr_422
188 #define GL_ARB_ES2_compatibility
189 #define GL_ARB_ES3_1_compatibility
190 #define GL_ARB_ES3_2_compatibility
191 #define GL_ARB_ES3_compatibility
192 #define GL_ARB_arrays_of_arrays
193 #define GL_ARB_base_instance
194 #define GL_ARB_bindless_texture
195 #define GL_ARB_blend_func_extended
196 #define GL_ARB_buffer_storage
197 #define GL_ARB_cl_event
198 #define GL_ARB_clear_buffer_object
199 #define GL_ARB_clear_texture
200 #define GL_ARB_clip_control
201 #define GL_ARB_color_buffer_float
202 #define GL_ARB_compatibility
203 #define GL_ARB_compressed_texture_pixel_storage
204 #define GL_ARB_compute_shader
205 #define GL_ARB_compute_variable_group_size
206 #define GL_ARB_conditional_render_inverted
207 #define GL_ARB_conservative_depth
208 #define GL_ARB_copy_buffer
209 #define GL_ARB_copy_image
210 #define GL_ARB_cull_distance
211 #define GL_ARB_debug_output
212 #define GL_ARB_depth_buffer_float
213 #define GL_ARB_depth_clamp
214 #define GL_ARB_depth_texture
215 #define GL_ARB_derivative_control
216 #define GL_ARB_direct_state_access
217 #define GL_ARB_draw_buffers
218 #define GL_ARB_draw_buffers_blend
219 #define GL_ARB_draw_elements_base_vertex
220 #define GL_ARB_draw_indirect
221 #define GL_ARB_draw_instanced
222 #define GL_ARB_enhanced_layouts
223 #define GL_ARB_explicit_attrib_location
224 #define GL_ARB_explicit_uniform_location
225 #define GL_ARB_fragment_coord_conventions
226 #define GL_ARB_fragment_layer_viewport
227 #define GL_ARB_fragment_program
228 #define GL_ARB_fragment_program_shadow
229 #define GL_ARB_fragment_shader
230 #define GL_ARB_fragment_shader_interlock
231 #define GL_ARB_framebuffer_no_attachments
232 #define GL_ARB_framebuffer_object
233 #define GL_ARB_framebuffer_sRGB
234 #define GL_ARB_geometry_shader4
235 #define GL_ARB_get_program_binary
236 #define GL_ARB_get_texture_sub_image
237 #define GL_ARB_gpu_shader5
238 #define GL_ARB_gpu_shader_fp64
239 #define GL_ARB_gpu_shader_int64
240 #define GL_ARB_half_float_pixel
241 #define GL_ARB_half_float_vertex
242 #define GL_ARB_imaging
243 #define GL_ARB_indirect_parameters
244 #define GL_ARB_instanced_arrays
245 #define GL_ARB_internalformat_query
246 #define GL_ARB_internalformat_query2
247 #define GL_ARB_invalidate_subdata
248 #define GL_ARB_map_buffer_alignment
249 #define GL_ARB_map_buffer_range
250 #define GL_ARB_matrix_palette
251 #define GL_ARB_multi_bind
252 #define GL_ARB_multi_draw_indirect
253 #define GL_ARB_multisample
254 #define GL_ARB_multitexture
255 #define GL_ARB_occlusion_query
256 #define GL_ARB_occlusion_query2
257 #define GL_ARB_parallel_shader_compile
258 #define GL_ARB_pipeline_statistics_query
259 #define GL_ARB_pixel_buffer_object
260 #define GL_ARB_point_parameters
261 #define GL_ARB_point_sprite
262 #define GL_ARB_post_depth_coverage
263 #define GL_ARB_program_interface_query
264 #define GL_ARB_provoking_vertex
265 #define GL_ARB_query_buffer_object
266 #define GL_ARB_robust_buffer_access_behavior
267 #define GL_ARB_robustness
268 #define GL_ARB_robustness_isolation
269 #define GL_ARB_sample_locations
270 #define GL_ARB_sample_shading
271 #define GL_ARB_sampler_objects
272 #define GL_ARB_seamless_cube_map
273 #define GL_ARB_seamless_cubemap_per_texture
274 #define GL_ARB_separate_shader_objects
275 #define GL_ARB_shader_atomic_counter_ops
276 #define GL_ARB_shader_atomic_counters
277 #define GL_ARB_shader_ballot
278 #define GL_ARB_shader_bit_encoding
279 #define GL_ARB_shader_clock
280 #define GL_ARB_shader_draw_parameters
281 #define GL_ARB_shader_group_vote
282 #define GL_ARB_shader_image_load_store
283 #define GL_ARB_shader_image_size
284 #define GL_ARB_shader_objects
285 #define GL_ARB_shader_precision
286 #define GL_ARB_shader_stencil_export
287 #define GL_ARB_shader_storage_buffer_object
288 #define GL_ARB_shader_subroutine
289 #define GL_ARB_shader_texture_image_samples
290 #define GL_ARB_shader_texture_lod
291 #define GL_ARB_shader_viewport_layer_array
292 #define GL_ARB_shading_language_100
293 #define GL_ARB_shading_language_420pack
294 #define GL_ARB_shading_language_include
295 #define GL_ARB_shading_language_packing
296 #define GL_ARB_shadow
297 #define GL_ARB_shadow_ambient
298 #define GL_ARB_sparse_buffer
299 #define GL_ARB_sparse_texture
300 #define GL_ARB_sparse_texture2
301 #define GL_ARB_sparse_texture_clamp
302 #define GL_ARB_stencil_texturing
303 #define GL_ARB_sync
304 #define GL_ARB_tessellation_shader
305 #define GL_ARB_texture_barrier
306 #define GL_ARB_texture_border_clamp
307 #define GL_ARB_texture_buffer_object
308 #define GL_ARB_texture_buffer_object_rgb32
309 #define GL_ARB_texture_buffer_range
310 #define GL_ARB_texture_compression
311 #define GL_ARB_texture_compression_bptc
312 #define GL_ARB_texture_compression_rgtc
313 #define GL_ARB_texture_cube_map
314 #define GL_ARB_texture_cube_map_array
315 #define GL_ARB_texture_env_add
316 #define GL_ARB_texture_env_combine
317 #define GL_ARB_texture_env_crossbar
318 #define GL_ARB_texture_env_dot3
319 #define GL_ARB_texture_filter_minmax
320 #define GL_ARB_texture_float
321 #define GL_ARB_texture_gather
322 #define GL_ARB_texture_mirror_clamp_to_edge
323 #define GL_ARB_texture_mirrored_repeat
324 #define GL_ARB_texture_multisample
325 #define GL_ARB_texture_non_power_of_two
326 #define GL_ARB_texture_query_levels
327 #define GL_ARB_texture_query_lod
328 #define GL_ARB_texture_rectangle
329 #define GL_ARB_texture_rg
330 #define GL_ARB_texture_rgb10_a2ui
331 #define GL_ARB_texture_stencil8
332 #define GL_ARB_texture_storage
333 #define GL_ARB_texture_storage_multisample
334 #define GL_ARB_texture_swizzle
335 #define GL_ARB_texture_view
336 #define GL_ARB_timer_query
337 #define GL_ARB_transform_feedback2
338 #define GL_ARB_transform_feedback3
339 #define GL_ARB_transform_feedback_instanced
340 #define GL_ARB_transform_feedback_overflow_query
341 #define GL_ARB_transpose_matrix
342 #define GL_ARB_uniform_buffer_object
343 #define GL_ARB_vertex_array_bgra
344 #define GL_ARB_vertex_array_object
345 #define GL_ARB_vertex_attrib_64bit
346 #define GL_ARB_vertex_attrib_binding
347 #define GL_ARB_vertex_blend
348 #define GL_ARB_vertex_buffer_object
349 #define GL_ARB_vertex_program
350 #define GL_ARB_vertex_shader
351 #define GL_ARB_vertex_type_10f_11f_11f_rev
352 #define GL_ARB_vertex_type_2_10_10_10_rev
353 #define GL_ARB_viewport_array
354 #define GL_ARB_window_pos
355 #define GL_ARM_mali_program_binary
356 #define GL_ARM_mali_shader_binary
357 #define GL_ARM_rgba8
358 #define GL_ARM_shader_framebuffer_fetch
359 #define GL_ARM_shader_framebuffer_fetch_depth_stencil
360 #define GL_ATI_draw_buffers
361 #define GL_ATI_element_array
362 #define GL_ATI_envmap_bumpmap
363 #define GL_ATI_fragment_shader
364 #define GL_ATI_map_object_buffer
365 #define GL_ATI_meminfo
366 #define GL_ATI_pixel_format_float
367 #define GL_ATI_pn_triangles
368 #define GL_ATI_separate_stencil
369 #define GL_ATI_text_fragment_shader
370 #define GL_ATI_texture_env_combine3
371 #define GL_ATI_texture_float
372 #define GL_ATI_texture_mirror_once
373 #define GL_ATI_vertex_array_object
374 #define GL_ATI_vertex_attrib_array_object
375 #define GL_ATI_vertex_streams
376 #define GL_DMP_program_binary
377 #define GL_DMP_shader_binary
378 #define GL_EXTX_framebuffer_mixed_formats
379 #define GL_EXT_422_pixels
380 #define GL_EXT_Cg_shader
381 #define GL_EXT_YUV_target
382 #define GL_EXT_abgr
383 #define GL_EXT_base_instance
384 #define GL_EXT_bgra
385 #define GL_EXT_bindable_uniform
386 #define GL_EXT_blend_color
387 #define GL_EXT_blend_equation_separate
388 #define GL_EXT_blend_func_extended
389 #define GL_EXT_blend_func_separate
390 #define GL_EXT_blend_logic_op
391 #define GL_EXT_blend_minmax
392 #define GL_EXT_blend_subtract
393 #define GL_EXT_buffer_storage
394 #define GL_EXT_clear_texture
395 #define GL_EXT_clip_cull_distance
396 #define GL_EXT_clip_volume_hint
397 #define GL_EXT_cmyka
398 #define GL_EXT_color_buffer_float
399 #define GL_EXT_color_buffer_half_float
400 #define GL_EXT_color_subtable
401 #define GL_EXT_compiled_vertex_array
402 #define GL_EXT_conservative_depth
403 #define GL_EXT_convolution
404 #define GL_EXT_coordinate_frame
405 #define GL_EXT_copy_image
406 #define GL_EXT_copy_texture
407 #define GL_EXT_cull_vertex
408 #define GL_EXT_debug_label
409 #define GL_EXT_debug_marker
410 #define GL_EXT_depth_bounds_test
411 #define GL_EXT_direct_state_access
412 #define GL_EXT_discard_framebuffer
413 #define GL_EXT_disjoint_timer_query
414 #define GL_EXT_draw_buffers
415 #define GL_EXT_draw_buffers2
416 #define GL_EXT_draw_buffers_indexed
417 #define GL_EXT_draw_elements_base_vertex
418 #define GL_EXT_draw_instanced
419 #define GL_EXT_draw_range_elements
420 #define GL_EXT_float_blend
421 #define GL_EXT_fog_coord
422 #define GL_EXT_frag_depth
423 #define GL_EXT_framebuffer_blit
424 #define GL_EXT_framebuffer_multisample
425 #define GL_EXT_framebuffer_multisample_blit_scaled
426 #define GL_EXT_framebuffer_object
427 #define GL_EXT_framebuffer_sRGB
428 #define GL_EXT_geometry_point_size
429 #define GL_EXT_geometry_shader
430 #define GL_EXT_geometry_shader4
431 #define GL_EXT_gpu_program_parameters
432 #define GL_EXT_gpu_shader4
433 #define GL_EXT_gpu_shader5
434 #define GL_EXT_histogram
435 #define GL_EXT_import_sync_object
436 #define GL_EXT_index_array_formats
437 #define GL_EXT_index_func
438 #define GL_EXT_index_material
439 #define GL_EXT_index_texture
440 #define GL_EXT_instanced_arrays
441 #define GL_EXT_light_texture
442 #define GL_EXT_map_buffer_range
443 #define GL_EXT_misc_attribute
444 #define GL_EXT_multi_draw_arrays
445 #define GL_EXT_multi_draw_indirect
446 #define GL_EXT_multisample
447 #define GL_EXT_multisampled_compatibility
448 #define GL_EXT_multisampled_render_to_texture
449 #define GL_EXT_multiview_draw_buffers
450 #define GL_EXT_occlusion_query_boolean
451 #define GL_EXT_packed_depth_stencil
452 #define GL_EXT_packed_float
453 #define GL_EXT_packed_pixels
454 #define GL_EXT_paletted_texture
455 #define GL_EXT_pixel_buffer_object
456 #define GL_EXT_pixel_transform
457 #define GL_EXT_pixel_transform_color_table
458 #define GL_EXT_point_parameters
459 #define GL_EXT_polygon_offset
460 #define GL_EXT_polygon_offset_clamp
461 #define GL_EXT_post_depth_coverage
462 #define GL_EXT_primitive_bounding_box
463 #define GL_EXT_protected_textures
464 #define GL_EXT_provoking_vertex
465 #define GL_EXT_pvrtc_sRGB
466 #define GL_EXT_raster_multisample
467 #define GL_EXT_read_format_bgra
468 #define GL_EXT_render_snorm
469 #define GL_EXT_rescale_normal
470 #define GL_EXT_robustness
471 #define GL_EXT_sRGB
472 #define GL_EXT_sRGB_write_control
473 #define GL_EXT_secondary_color
474 #define GL_EXT_separate_shader_objects
475 #define GL_EXT_separate_specular_color
476 #define GL_EXT_shader_framebuffer_fetch
477 #define GL_EXT_shader_group_vote
478 #define GL_EXT_shader_image_load_formatted
479 #define GL_EXT_shader_image_load_store
480 #define GL_EXT_shader_implicit_conversions
481 #define GL_EXT_shader_integer_mix
482 #define GL_EXT_shader_io_blocks
483 #define GL_EXT_shader_non_constant_global_initializers
484 #define GL_EXT_shader_pixel_local_storage
485 #define GL_EXT_shader_pixel_local_storage2
486 #define GL_EXT_shader_texture_lod
487 #define GL_EXT_shadow_funcs
488 #define GL_EXT_shadow_samplers
489 #define GL_EXT_shared_texture_palette
490 #define GL_EXT_sparse_texture
491 #define GL_EXT_sparse_texture2
492 #define GL_EXT_stencil_clear_tag
493 #define GL_EXT_stencil_two_side
494 #define GL_EXT_stencil_wrap
495 #define GL_EXT_subtexture
496 #define GL_EXT_tessellation_point_size
497 #define GL_EXT_tessellation_shader
498 #define GL_EXT_texture
499 #define GL_EXT_texture3D
500 #define GL_EXT_texture_array
501 #define GL_EXT_texture_border_clamp
502 #define GL_EXT_texture_buffer
503 #define GL_EXT_texture_buffer_object
504 #define GL_EXT_texture_compression_dxt1
505 #define GL_EXT_texture_compression_latc
506 #define GL_EXT_texture_compression_rgtc
507 #define GL_EXT_texture_compression_s3tc
508 #define GL_EXT_texture_cube_map
509 #define GL_EXT_texture_cube_map_array
510 #define GL_EXT_texture_edge_clamp
511 #define GL_EXT_texture_env_add
512 #define GL_EXT_texture_env_combine
513 #define GL_EXT_texture_env_dot3
514 #define GL_EXT_texture_filter_anisotropic
515 #define GL_EXT_texture_filter_minmax
516 #define GL_EXT_texture_format_BGRA8888
517 #define GL_EXT_texture_integer
518 #define GL_EXT_texture_lod
519 #define GL_EXT_texture_lod_bias
520 #define GL_EXT_texture_mirror_clamp
521 #define GL_EXT_texture_norm16
522 #define GL_EXT_texture_object
523 #define GL_EXT_texture_perturb_normal
524 #define GL_EXT_texture_rg
525 #define GL_EXT_texture_sRGB
526 #define GL_EXT_texture_sRGB_R8
527 #define GL_EXT_texture_sRGB_RG8
528 #define GL_EXT_texture_sRGB_decode
529 #define GL_EXT_texture_shared_exponent
530 #define GL_EXT_texture_snorm
531 #define GL_EXT_texture_storage
532 #define GL_EXT_texture_swizzle
533 #define GL_EXT_texture_type_2_10_10_10_REV
534 #define GL_EXT_texture_view
535 #define GL_EXT_timer_query
536 #define GL_EXT_transform_feedback
537 #define GL_EXT_transform_feedback2
538 #define GL_EXT_unpack_subimage
539 #define GL_EXT_vertex_array
540 #define GL_EXT_vertex_array_bgra
541 #define GL_EXT_vertex_attrib_64bit
542 #define GL_EXT_vertex_shader
543 #define GL_EXT_vertex_weighting
544 #define GL_EXT_window_rectangles
545 #define GL_EXT_x11_sync_object
546 #define GL_FJ_shader_binary_GCCSO
547 #define GL_GLES_PROTOTYPES
548 #define GL_GREMEDY_frame_terminator
549 #define GL_GREMEDY_string_marker
550 #define GL_HP_convolution_border_modes
551 #define GL_HP_image_transform
552 #define GL_HP_occlusion_test
553 #define GL_HP_texture_lighting
554 #define GL_IBM_cull_vertex
555 #define GL_IBM_multimode_draw_arrays
556 #define GL_IBM_rasterpos_clip
557 #define GL_IBM_static_data
558 #define GL_IBM_texture_mirrored_repeat
559 #define GL_IBM_vertex_array_lists
560 #define GL_IMG_bindless_texture
561 #define GL_IMG_framebuffer_downsample
562 #define GL_IMG_multisampled_render_to_texture
563 #define GL_IMG_program_binary
564 #define GL_IMG_read_format
565 #define GL_IMG_shader_binary
566 #define GL_IMG_texture_compression_pvrtc
567 #define GL_IMG_texture_compression_pvrtc2
568 #define GL_IMG_texture_filter_cubic
569 #define GL_IMG_texture_format_BGRA8888
570 #define GL_IMG_texture_npot
571 #define GL_INGR_blend_func_separate
572 #define GL_INGR_color_clamp
573 #define GL_INGR_interlace_read
574 #define GL_INTEL_conservative_rasterization
575 #define GL_INTEL_fragment_shader_ordering
576 #define GL_INTEL_framebuffer_CMAA
577 #define GL_INTEL_map_texture
578 #define GL_INTEL_parallel_arrays
579 #define GL_INTEL_performance_query
580 #define GL_KHR_blend_equation_advanced
581 #define GL_KHR_blend_equation_advanced_coherent
582 #define GL_KHR_context_flush_control
583 #define GL_KHR_debug
584 #define GL_KHR_no_error
585 #define GL_KHR_robust_buffer_access_behavior
586 #define GL_KHR_robustness
587 #define GL_KHR_texture_compression_astc_hdr
588 #define GL_KHR_texture_compression_astc_ldr
589 #define GL_KHR_texture_compression_astc_sliced_3d
590 #define GL_KTX_buffer_region
591 #define GL_MESAX_texture_stack
592 #define GL_MESA_pack_invert
593 #define GL_MESA_resize_buffers
594 #define GL_MESA_window_pos
595 #define GL_MESA_ycbcr_texture
596 #define GL_NVX_conditional_render
597 #define GL_NVX_gpu_memory_info
598 #define GL_NVX_nvenc_interop
599 #define GL_NV_3dvision_settings
600 #define GL_NV_EGL_stream_consumer_external
601 #define GL_NV_ES1_1_compatibility
602 #define GL_NV_ES3_1_compatibility
603 #define GL_NV_bgr
604 #define GL_NV_bindless_multi_draw_indirect
605 #define GL_NV_bindless_multi_draw_indirect_count
606 #define GL_NV_bindless_texture
607 #define GL_NV_blend_equation_advanced
608 #define GL_NV_blend_equation_advanced_coherent
609 #define GL_NV_blend_square
610 #define GL_NV_clip_space_w_scaling
611 #define GL_NV_command_list
612 #define GL_NV_compute_program5
613 #define GL_NV_conditional_render
614 #define GL_NV_conservative_raster
615 #define GL_NV_conservative_raster_dilate
616 #define GL_NV_conservative_raster_pre_snap_triangles
617 #define GL_NV_copy_buffer
618 #define GL_NV_copy_depth_to_color
619 #define GL_NV_copy_image
620 #define GL_NV_coverage_sample
621 #define GL_NV_deep_texture3D
622 #define GL_NV_depth_buffer_float
623 #define GL_NV_depth_clamp
624 #define GL_NV_depth_nonlinear
625 #define GL_NV_draw_buffers
626 #define GL_NV_draw_instanced
627 #define GL_NV_draw_path
628 #define GL_NV_draw_texture
629 #define GL_NV_evaluators
630 #define GL_NV_explicit_attrib_location
631 #define GL_NV_explicit_multisample
632 #define GL_NV_fbo_color_attachments
633 #define GL_NV_fence
634 #define GL_NV_fill_rectangle
635 #define GL_NV_float_buffer
636 #define GL_NV_fog_distance
637 #define GL_NV_fragment_coverage_to_color
638 #define GL_NV_fragment_program
639 #define GL_NV_fragment_program2
640 #define GL_NV_fragment_program4
641 #define GL_NV_fragment_program_option
642 #define GL_NV_fragment_shader_interlock
643 #define GL_NV_framebuffer_blit
644 #define GL_NV_framebuffer_mixed_samples
645 #define GL_NV_framebuffer_multisample
646 #define GL_NV_framebuffer_multisample_coverage
647 #define GL_NV_generate_mipmap_sRGB
648 #define GL_NV_geometry_program4
649 #define GL_NV_geometry_shader4
650 #define GL_NV_geometry_shader_passthrough
651 #define GL_NV_get_tex_image
652 #define GL_NV_gpu_program4
653 #define GL_NV_gpu_program4_1
654 #define GL_NV_gpu_program5
655 #define GL_NV_gpu_program5_mem_extended
656 #define GL_NV_gpu_program_fp64
657 #define GL_NV_gpu_shader5
658 #define GL_NV_half_float
659 #define GL_NV_image_formats
660 #define GL_NV_instanced_arrays
661 #define GL_NV_internalformat_sample_query
662 #define GL_NV_light_max_exponent
663 #define GL_NV_multisample_coverage
664 #define GL_NV_multisample_filter_hint
665 #define GL_NV_multiview_draw_buffers
666 #define GL_NV_non_square_matrices
667 #define GL_NV_occlusion_query
668 #define GL_NV_occlusion_query_samples
669 #define GL_NV_pack_subimage
670 #define GL_NV_packed_depth_stencil
671 #define GL_NV_packed_float
672 #define GL_NV_packed_float_linear
673 #define GL_NV_parameter_buffer_object
674 #define GL_NV_parameter_buffer_object2
675 #define GL_NV_path_rendering
676 #define GL_NV_path_rendering_shared_edge
677 #define GL_NV_pixel_buffer_object
678 #define GL_NV_pixel_data_range
679 #define GL_NV_point_sprite
680 #define GL_NV_polygon_mode
681 #define GL_NV_present_video
682 #define GL_NV_primitive_restart
683 #define GL_NV_read_buffer
684 #define GL_NV_read_buffer_front
685 #define GL_NV_read_depth
686 #define GL_NV_read_depth_stencil
687 #define GL_NV_read_stencil
688 #define GL_NV_register_combiners
689 #define GL_NV_register_combiners2
690 #define GL_NV_robustness_video_memory_purge
691 #define GL_NV_sRGB_formats
692 #define GL_NV_sample_locations
693 #define GL_NV_sample_mask_override_coverage
694 #define GL_NV_secure_context
695 #define GL_NV_shader_atomic_counters
696 #define GL_NV_shader_atomic_float
697 #define GL_NV_shader_atomic_float64
698 #define GL_NV_shader_atomic_fp16_vector
699 #define GL_NV_shader_atomic_int64
700 #define GL_NV_shader_buffer_load
701 #define GL_NV_shader_buffer_store
702 #define GL_NV_shader_framebuffer_fetch
703 #define GL_NV_shader_noperspective_interpolation
704 #define GL_NV_shader_storage_buffer_object
705 #define GL_NV_shader_thread_group
706 #define GL_NV_shader_thread_shuffle
707 #define GL_NV_shadow_samplers_array
708 #define GL_NV_shadow_samplers_cube
709 #define GL_NV_stereo_view_rendering
710 #define GL_NV_tessellation_program5
711 #define GL_NV_texgen_emboss
712 #define GL_NV_texgen_reflection
713 #define GL_NV_texture_array
714 #define GL_NV_texture_barrier
715 #define GL_NV_texture_border_clamp
716 #define GL_NV_texture_compression_latc
717 #define GL_NV_texture_compression_s3tc
718 #define GL_NV_texture_compression_s3tc_update
719 #define GL_NV_texture_compression_vtc
720 #define GL_NV_texture_env_combine4
721 #define GL_NV_texture_expand_normal
722 #define GL_NV_texture_multisample
723 #define GL_NV_texture_npot_2D_mipmap
724 #define GL_NV_texture_rectangle
725 #define GL_NV_texture_shader
726 #define GL_NV_texture_shader2
727 #define GL_NV_texture_shader3
728 #define GL_NV_timer_query
729 #define GL_NV_transform_feedback
730 #define GL_NV_transform_feedback2
731 #define GL_NV_uniform_buffer_object
732 #define GL_NV_uniform_buffer_unified_memory
733 #define GL_NV_vdpau_interop
734 #define GL_NV_vertex_array_range
735 #define GL_NV_vertex_array_range2
736 #define GL_NV_vertex_attrib_integer_64bit
737 #define GL_NV_vertex_buffer_unified_memory
738 #define GL_NV_vertex_program
739 #define GL_NV_vertex_program1_1
740 #define GL_NV_vertex_program2
741 #define GL_NV_vertex_program2_option
742 #define GL_NV_vertex_program3
743 #define GL_NV_vertex_program4
744 #define GL_NV_video_capture
745 #define GL_NV_viewport_array
746 #define GL_NV_viewport_array2
747 #define GL_NV_viewport_swizzle
748 #define GL_OES_EGL_image
749 #define GL_OES_EGL_image_external
750 #define GL_OES_EGL_image_external_essl3
751 #define GL_OES_EGL_sync
752 #define GL_OES_byte_coordinates
753 #define GL_OES_compressed_ETC1_RGB8_sub_texture
754 #define GL_OES_compressed_ETC1_RGB8_texture
755 #define GL_OES_compressed_paletted_texture
756 #define GL_OES_copy_image
757 #define GL_OES_depth24
758 #define GL_OES_depth32
759 #define GL_OES_depth_texture
760 #define GL_OES_depth_texture_cube_map
761 #define GL_OES_draw_buffers_indexed
762 #define GL_OES_draw_elements_base_vertex
763 #define GL_OES_egl_sync
764 #define GL_OES_element_index_uint
765 #define GL_OES_fbo_render_mipmap
766 #define GL_OES_fixed_point
767 #define GL_OES_fragment_precision_high
768 #define GL_OES_geometry_point_size
769 #define GL_OES_geometry_shader
770 #define GL_OES_get_program_binary
771 #define GL_OES_gpu_shader5
772 #define GL_OES_mapbuffer
773 #define GL_OES_packed_depth_stencil
774 #define GL_OES_primitive_bounding_box
775 #define GL_OES_query_matrix
776 #define GL_OES_read_format
777 #define GL_OES_required_internalformat
778 #define GL_OES_rgb8_rgba8
779 #define GL_OES_sample_shading
780 #define GL_OES_sample_variables
781 #define GL_OES_shader_image_atomic
782 #define GL_OES_shader_io_blocks
783 #define GL_OES_shader_multisample_interpolation
784 #define GL_OES_single_precision
785 #define GL_OES_standard_derivatives
786 #define GL_OES_stencil1
787 #define GL_OES_stencil4
788 #define GL_OES_surfaceless_context
789 #define GL_OES_tessellation_point_size
790 #define GL_OES_tessellation_shader
791 #define GL_OES_texture_3D
792 #define GL_OES_texture_border_clamp
793 #define GL_OES_texture_buffer
794 #define GL_OES_texture_compression_astc
795 #define GL_OES_texture_cube_map_array
796 #define GL_OES_texture_float
797 #define GL_OES_texture_float_linear
798 #define GL_OES_texture_half_float
799 #define GL_OES_texture_half_float_linear
800 #define GL_OES_texture_npot
801 #define GL_OES_texture_stencil8
802 #define GL_OES_texture_storage_multisample_2d_array
803 #define GL_OES_texture_view
804 #define GL_OES_vertex_array_object
805 #define GL_OES_vertex_half_float
806 #define GL_OES_vertex_type_10_10_10_2
807 #define GL_OES_viewport_array
808 #define GL_OML_interlace
809 #define GL_OML_resample
810 #define GL_OML_subsample
811 #define GL_OVR_multiview
812 #define GL_OVR_multiview2
813 #define GL_OVR_multiview_multisampled_render_to_texture
814 #define GL_PGI_misc_hints
815 #define GL_PGI_vertex_hints
816 #define GL_QCOM_alpha_test
817 #define GL_QCOM_binning_control
818 #define GL_QCOM_driver_control
819 #define GL_QCOM_extended_get
820 #define GL_QCOM_extended_get2
821 #define GL_QCOM_perfmon_global_mode
822 #define GL_QCOM_tiled_rendering
823 #define GL_QCOM_writeonly_rendering
824 #define GL_REND_screen_coordinates
825 #define GL_S3_s3tc
826 #define GL_SGIS_detail_texture
827 #define GL_SGIS_fog_function
828 #define GL_SGIS_generate_mipmap
829 #define GL_SGIS_multisample
830 #define GL_SGIS_pixel_texture
831 #define GL_SGIS_point_line_texgen
832 #define GL_SGIS_point_parameters
833 #define GL_SGIS_sharpen_texture
834 #define GL_SGIS_texture4D
835 #define GL_SGIS_texture_border_clamp
836 #define GL_SGIS_texture_color_mask
837 #define GL_SGIS_texture_edge_clamp
838 #define GL_SGIS_texture_filter4
839 #define GL_SGIS_texture_lod
840 #define GL_SGIS_texture_select
841 #define GL_SGIX_async
842 #define GL_SGIX_async_histogram
843 #define GL_SGIX_async_pixel
844 #define GL_SGIX_blend_alpha_minmax
845 #define GL_SGIX_calligraphic_fragment
846 #define GL_SGIX_clipmap
847 #define GL_SGIX_convolution_accuracy
848 #define GL_SGIX_depth_pass_instrument
849 #define GL_SGIX_depth_texture
850 #define GL_SGIX_flush_raster
851 #define GL_SGIX_fog_offset
852 #define GL_SGIX_fragment_lighting
853 #define GL_SGIX_framezoom
854 #define GL_SGIX_igloo_interface
855 #define GL_SGIX_instruments
856 #define GL_SGIX_interlace
857 #define GL_SGIX_ir_instrument1
858 #define GL_SGIX_list_priority
859 #define GL_SGIX_pixel_texture
860 #define GL_SGIX_pixel_tiles
861 #define GL_SGIX_polynomial_ffd
862 #define GL_SGIX_reference_plane
863 #define GL_SGIX_resample
864 #define GL_SGIX_scalebias_hint
865 #define GL_SGIX_shadow
866 #define GL_SGIX_shadow_ambient
867 #define GL_SGIX_sprite
868 #define GL_SGIX_subsample
869 #define GL_SGIX_tag_sample_buffer
870 #define GL_SGIX_texture_add_env
871 #define GL_SGIX_texture_coordinate_clamp
872 #define GL_SGIX_texture_lod_bias
873 #define GL_SGIX_texture_multi_buffer
874 #define GL_SGIX_texture_scale_bias
875 #define GL_SGIX_vertex_preclip
876 #define GL_SGIX_ycrcb
877 #define GL_SGIX_ycrcb_subsample
878 #define GL_SGIX_ycrcba
879 #define GL_SGI_color_matrix
880 #define GL_SGI_color_table
881 #define GL_SGI_texture_color_table
882 #define GL_SUNX_constant_data
883 #define GL_SUN_convolution_border_modes
884 #define GL_SUN_global_alpha
885 #define GL_SUN_mesh_array
886 #define GL_SUN_slice_accum
887 #define GL_SUN_triangle_list
888 #define GL_SUN_vertex
889 #define GL_VIV_shader_binary
890 #define GL_WIN_phong_shading
891 #define GL_WIN_specular_fog
892 
893 /*************************** INLINED IMPLEMENTATION ***************************/
894 
895 
902 inline void YiGLActiveShaderProgram(GLuint uPipeline, GLuint uProgram)
903 {
904  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glActiveShaderProgramStr);
905  YI_ASSERT(CYIGL::CurrentAPI.glActiveShaderProgramProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glActiveShaderProgramStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
906  CYIGL::CurrentAPI.glActiveShaderProgramProc(uPipeline, uProgram);
907 }
908 #define glActiveShaderProgram YiGLActiveShaderProgram
909 
916 inline void YiGLActiveTexture(GLenum eTexture)
917 {
918  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glActiveTextureStr);
919  YI_ASSERT(CYIGL::CurrentAPI.glActiveTextureProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glActiveTextureStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_3_STR);
920  CYIGL::CurrentAPI.glActiveTextureProc(eTexture);
921 }
922 #define glActiveTexture YiGLActiveTexture
923 
930 inline void YiGLAttachShader(GLuint uProgram, GLuint uShader)
931 {
932  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glAttachShaderStr);
933  YI_ASSERT(CYIGL::CurrentAPI.glAttachShaderProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glAttachShaderStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
934  CYIGL::CurrentAPI.glAttachShaderProc(uProgram, uShader);
935 }
936 #define glAttachShader YiGLAttachShader
937 
943 inline void YiGLBeginConditionalRender(GLuint uId, GLenum eMode)
944 {
945  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBeginConditionalRenderStr);
946  YI_ASSERT(CYIGL::CurrentAPI.glBeginConditionalRenderProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBeginConditionalRenderStr, CYIGL::GL_VERSION_3_0_STR);
947  CYIGL::CurrentAPI.glBeginConditionalRenderProc(uId, eMode);
948 }
949 #define glBeginConditionalRender YiGLBeginConditionalRender
950 
957 inline void YiGLBeginQuery(GLenum eTarget, GLuint uId)
958 {
959  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBeginQueryStr);
960  YI_ASSERT(CYIGL::CurrentAPI.glBeginQueryProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBeginQueryStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
961  CYIGL::CurrentAPI.glBeginQueryProc(eTarget, uId);
962 }
963 #define glBeginQuery YiGLBeginQuery
964 
970 inline void YiGLBeginQueryIndexed(GLenum eTarget, GLuint uIndex, GLuint uId)
971 {
972  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBeginQueryIndexedStr);
973  YI_ASSERT(CYIGL::CurrentAPI.glBeginQueryIndexedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBeginQueryIndexedStr, CYIGL::GL_VERSION_4_0_STR);
974  CYIGL::CurrentAPI.glBeginQueryIndexedProc(eTarget, uIndex, uId);
975 }
976 #define glBeginQueryIndexed YiGLBeginQueryIndexed
977 
984 inline void YiGLBeginTransformFeedback(GLenum ePrimitiveMode)
985 {
986  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBeginTransformFeedbackStr);
987  YI_ASSERT(CYIGL::CurrentAPI.glBeginTransformFeedbackProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBeginTransformFeedbackStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
988  CYIGL::CurrentAPI.glBeginTransformFeedbackProc(ePrimitiveMode);
989 }
990 #define glBeginTransformFeedback YiGLBeginTransformFeedback
991 
998 inline void YiGLBindAttribLocation(GLuint uProgram, GLuint uIndex, const GLchar *pName)
999 {
1000  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindAttribLocationStr);
1001  YI_ASSERT(CYIGL::CurrentAPI.glBindAttribLocationProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindAttribLocationStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
1002  CYIGL::CurrentAPI.glBindAttribLocationProc(uProgram, uIndex, pName);
1003 }
1004 #define glBindAttribLocation YiGLBindAttribLocation
1005 
1012 inline void YiGLBindBuffer(GLenum eTarget, GLuint uBuffer)
1013 {
1014  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindBufferStr);
1015  YI_ASSERT(CYIGL::CurrentAPI.glBindBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindBufferStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_5_STR);
1016  CYIGL::CurrentAPI.glBindBufferProc(eTarget, uBuffer);
1017 }
1018 #define glBindBuffer YiGLBindBuffer
1019 
1026 inline void YiGLBindBufferBase(GLenum eTarget, GLuint uIndex, GLuint uBuffer)
1027 {
1028  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindBufferBaseStr);
1029  YI_ASSERT(CYIGL::CurrentAPI.glBindBufferBaseProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindBufferBaseStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
1030  CYIGL::CurrentAPI.glBindBufferBaseProc(eTarget, uIndex, uBuffer);
1031 }
1032 #define glBindBufferBase YiGLBindBufferBase
1033 
1040 inline void YiGLBindBufferRange(GLenum eTarget, GLuint uIndex, GLuint uBuffer, GLintptr pOffset, GLsizeiptr pSize)
1041 {
1042  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindBufferRangeStr);
1043  YI_ASSERT(CYIGL::CurrentAPI.glBindBufferRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindBufferRangeStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
1044  CYIGL::CurrentAPI.glBindBufferRangeProc(eTarget, uIndex, uBuffer, pOffset, pSize);
1045 }
1046 #define glBindBufferRange YiGLBindBufferRange
1047 
1053 inline void YiGLBindBuffersBase(GLenum eTarget, GLuint uFirst, GLsizei nCount, const GLuint *puBuffers)
1054 {
1055  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindBuffersBaseStr);
1056  YI_ASSERT(CYIGL::CurrentAPI.glBindBuffersBaseProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindBuffersBaseStr, CYIGL::GL_VERSION_4_4_STR);
1057  CYIGL::CurrentAPI.glBindBuffersBaseProc(eTarget, uFirst, nCount, puBuffers);
1058 }
1059 #define glBindBuffersBase YiGLBindBuffersBase
1060 
1066 inline void YiGLBindBuffersRange(GLenum eTarget, GLuint uFirst, GLsizei nCount, const GLuint *puBuffers, const GLintptr *ppOffsets, const GLsizeiptr *ppSizes)
1067 {
1068  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindBuffersRangeStr);
1069  YI_ASSERT(CYIGL::CurrentAPI.glBindBuffersRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindBuffersRangeStr, CYIGL::GL_VERSION_4_4_STR);
1070  CYIGL::CurrentAPI.glBindBuffersRangeProc(eTarget, uFirst, nCount, puBuffers, ppOffsets, ppSizes);
1071 }
1072 #define glBindBuffersRange YiGLBindBuffersRange
1073 
1079 inline void YiGLBindFragDataLocation(GLuint uProgram, GLuint uColor, const GLchar *pName)
1080 {
1081  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindFragDataLocationStr);
1082  YI_ASSERT(CYIGL::CurrentAPI.glBindFragDataLocationProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindFragDataLocationStr, CYIGL::GL_VERSION_3_0_STR);
1083  CYIGL::CurrentAPI.glBindFragDataLocationProc(uProgram, uColor, pName);
1084 }
1085 #define glBindFragDataLocation YiGLBindFragDataLocation
1086 
1092 inline void YiGLBindFragDataLocationIndexed(GLuint uProgram, GLuint uColorNumber, GLuint uIndex, const GLchar *pName)
1093 {
1094  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindFragDataLocationIndexedStr);
1095  YI_ASSERT(CYIGL::CurrentAPI.glBindFragDataLocationIndexedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindFragDataLocationIndexedStr, CYIGL::GL_VERSION_3_3_STR);
1096  CYIGL::CurrentAPI.glBindFragDataLocationIndexedProc(uProgram, uColorNumber, uIndex, pName);
1097 }
1098 #define glBindFragDataLocationIndexed YiGLBindFragDataLocationIndexed
1099 
1106 inline void YiGLBindFramebuffer(GLenum eTarget, GLuint uFramebuffer)
1107 {
1108  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindFramebufferStr);
1109  YI_ASSERT(CYIGL::CurrentAPI.glBindFramebufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindFramebufferStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
1110  CYIGL::CurrentAPI.glBindFramebufferProc(eTarget, uFramebuffer);
1111 }
1112 #define glBindFramebuffer YiGLBindFramebuffer
1113 
1120 inline void YiGLBindImageTexture(GLuint uUnit, GLuint uTexture, GLint nLevel, GLboolean bLayered, GLint nLayer, GLenum eAccess, GLenum eFormat)
1121 {
1122  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindImageTextureStr);
1123  YI_ASSERT(CYIGL::CurrentAPI.glBindImageTextureProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindImageTextureStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_2_STR);
1124  CYIGL::CurrentAPI.glBindImageTextureProc(uUnit, uTexture, nLevel, bLayered, nLayer, eAccess, eFormat);
1125 }
1126 #define glBindImageTexture YiGLBindImageTexture
1127 
1133 inline void YiGLBindImageTextures(GLuint uFirst, GLsizei nCount, const GLuint *puTextures)
1134 {
1135  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindImageTexturesStr);
1136  YI_ASSERT(CYIGL::CurrentAPI.glBindImageTexturesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindImageTexturesStr, CYIGL::GL_VERSION_4_4_STR);
1137  CYIGL::CurrentAPI.glBindImageTexturesProc(uFirst, nCount, puTextures);
1138 }
1139 #define glBindImageTextures YiGLBindImageTextures
1140 
1147 inline void YiGLBindProgramPipeline(GLuint uPipeline)
1148 {
1149  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindProgramPipelineStr);
1150  YI_ASSERT(CYIGL::CurrentAPI.glBindProgramPipelineProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindProgramPipelineStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
1151  CYIGL::CurrentAPI.glBindProgramPipelineProc(uPipeline);
1152 }
1153 #define glBindProgramPipeline YiGLBindProgramPipeline
1154 
1161 inline void YiGLBindRenderbuffer(GLenum eTarget, GLuint uRenderbuffer)
1162 {
1163  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindRenderbufferStr);
1164  YI_ASSERT(CYIGL::CurrentAPI.glBindRenderbufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindRenderbufferStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
1165  CYIGL::CurrentAPI.glBindRenderbufferProc(eTarget, uRenderbuffer);
1166 }
1167 #define glBindRenderbuffer YiGLBindRenderbuffer
1168 
1175 inline void YiGLBindSampler(GLuint uUnit, GLuint uSampler)
1176 {
1177  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindSamplerStr);
1178  YI_ASSERT(CYIGL::CurrentAPI.glBindSamplerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindSamplerStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
1179  CYIGL::CurrentAPI.glBindSamplerProc(uUnit, uSampler);
1180 }
1181 #define glBindSampler YiGLBindSampler
1182 
1188 inline void YiGLBindSamplers(GLuint uFirst, GLsizei nCount, const GLuint *puSamplers)
1189 {
1190  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindSamplersStr);
1191  YI_ASSERT(CYIGL::CurrentAPI.glBindSamplersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindSamplersStr, CYIGL::GL_VERSION_4_4_STR);
1192  CYIGL::CurrentAPI.glBindSamplersProc(uFirst, nCount, puSamplers);
1193 }
1194 #define glBindSamplers YiGLBindSamplers
1195 
1202 inline void YiGLBindTexture(GLenum eTarget, GLuint uTexture)
1203 {
1204  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindTextureStr);
1205  YI_ASSERT(CYIGL::CurrentAPI.glBindTextureProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindTextureStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
1206  CYIGL::CurrentAPI.glBindTextureProc(eTarget, uTexture);
1207 }
1208 #define glBindTexture YiGLBindTexture
1209 
1215 inline void YiGLBindTextureUnit(GLuint uUnit, GLuint uTexture)
1216 {
1217  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindTextureUnitStr);
1218  YI_ASSERT(CYIGL::CurrentAPI.glBindTextureUnitProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindTextureUnitStr, CYIGL::GL_VERSION_4_5_STR);
1219  CYIGL::CurrentAPI.glBindTextureUnitProc(uUnit, uTexture);
1220 }
1221 #define glBindTextureUnit YiGLBindTextureUnit
1222 
1228 inline void YiGLBindTextures(GLuint uFirst, GLsizei nCount, const GLuint *puTextures)
1229 {
1230  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindTexturesStr);
1231  YI_ASSERT(CYIGL::CurrentAPI.glBindTexturesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindTexturesStr, CYIGL::GL_VERSION_4_4_STR);
1232  CYIGL::CurrentAPI.glBindTexturesProc(uFirst, nCount, puTextures);
1233 }
1234 #define glBindTextures YiGLBindTextures
1235 
1242 inline void YiGLBindTransformFeedback(GLenum eTarget, GLuint uId)
1243 {
1244  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindTransformFeedbackStr);
1245  YI_ASSERT(CYIGL::CurrentAPI.glBindTransformFeedbackProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindTransformFeedbackStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_0_STR);
1246  CYIGL::CurrentAPI.glBindTransformFeedbackProc(eTarget, uId);
1247 }
1248 #define glBindTransformFeedback YiGLBindTransformFeedback
1249 
1256 inline void YiGLBindVertexArray(GLuint uArray)
1257 {
1258  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindVertexArrayStr);
1259  YI_ASSERT(CYIGL::CurrentAPI.glBindVertexArrayProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindVertexArrayStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
1260  CYIGL::CurrentAPI.glBindVertexArrayProc(uArray);
1261 }
1262 #define glBindVertexArray YiGLBindVertexArray
1263 
1270 inline void YiGLBindVertexBuffer(GLuint uBindingindex, GLuint uBuffer, GLintptr pOffset, GLsizei nStride)
1271 {
1272  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindVertexBufferStr);
1273  YI_ASSERT(CYIGL::CurrentAPI.glBindVertexBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBindVertexBufferStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
1274  CYIGL::CurrentAPI.glBindVertexBufferProc(uBindingindex, uBuffer, pOffset, nStride);
1275 }
1276 #define glBindVertexBuffer YiGLBindVertexBuffer
1277 
1283 inline void YiGLBindVertexBuffers(GLuint uFirst, GLsizei nCount, const GLuint *puBuffers, const GLintptr *ppOffsets, const GLsizei *pnStrides)
1284 {
1285  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBindVertexBuffersStr);
1286  YI_ASSERT(CYIGL::CurrentAPI.glBindVertexBuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBindVertexBuffersStr, CYIGL::GL_VERSION_4_4_STR);
1287  CYIGL::CurrentAPI.glBindVertexBuffersProc(uFirst, nCount, puBuffers, ppOffsets, pnStrides);
1288 }
1289 #define glBindVertexBuffers YiGLBindVertexBuffers
1290 
1296 inline void YiGLBlendBarrier(void)
1297 {
1298  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendBarrierStr);
1299  YI_ASSERT(CYIGL::CurrentAPI.glBlendBarrierProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBlendBarrierStr, CYIGL::GL_ES_VERSION_3_2_STR);
1300  CYIGL::CurrentAPI.glBlendBarrierProc();
1301 }
1302 #define glBlendBarrier YiGLBlendBarrier
1303 
1310 inline void YiGLBlendColor(GLfloat fRed, GLfloat fGreen, GLfloat fBlue, GLfloat fAlpha)
1311 {
1312  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendColorStr);
1313  YI_ASSERT(CYIGL::CurrentAPI.glBlendColorProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendColorStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_4_STR);
1314  CYIGL::CurrentAPI.glBlendColorProc(fRed, fGreen, fBlue, fAlpha);
1315 }
1316 #define glBlendColor YiGLBlendColor
1317 
1324 inline void YiGLBlendEquation(GLenum eMode)
1325 {
1326  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendEquationStr);
1327  YI_ASSERT(CYIGL::CurrentAPI.glBlendEquationProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendEquationStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_4_STR);
1328  CYIGL::CurrentAPI.glBlendEquationProc(eMode);
1329 }
1330 #define glBlendEquation YiGLBlendEquation
1331 
1338 inline void YiGLBlendEquationSeparate(GLenum eModeRGB, GLenum eModeAlpha)
1339 {
1340  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendEquationSeparateStr);
1341  YI_ASSERT(CYIGL::CurrentAPI.glBlendEquationSeparateProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendEquationSeparateStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
1342  CYIGL::CurrentAPI.glBlendEquationSeparateProc(eModeRGB, eModeAlpha);
1343 }
1344 #define glBlendEquationSeparate YiGLBlendEquationSeparate
1345 
1352 inline void YiGLBlendEquationSeparatei(GLuint uBuf, GLenum eModeRGB, GLenum eModeAlpha)
1353 {
1354  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendEquationSeparateiStr);
1355  YI_ASSERT(CYIGL::CurrentAPI.glBlendEquationSeparateiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendEquationSeparateiStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_0_STR);
1356  CYIGL::CurrentAPI.glBlendEquationSeparateiProc(uBuf, eModeRGB, eModeAlpha);
1357 }
1358 #define glBlendEquationSeparatei YiGLBlendEquationSeparatei
1359 
1366 inline void YiGLBlendEquationi(GLuint uBuf, GLenum eMode)
1367 {
1368  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendEquationiStr);
1369  YI_ASSERT(CYIGL::CurrentAPI.glBlendEquationiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendEquationiStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_0_STR);
1370  CYIGL::CurrentAPI.glBlendEquationiProc(uBuf, eMode);
1371 }
1372 #define glBlendEquationi YiGLBlendEquationi
1373 
1380 inline void YiGLBlendFunc(GLenum eSfactor, GLenum eDfactor)
1381 {
1382  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendFuncStr);
1383  YI_ASSERT(CYIGL::CurrentAPI.glBlendFuncProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendFuncStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
1384  CYIGL::CurrentAPI.glBlendFuncProc(eSfactor, eDfactor);
1385 }
1386 #define glBlendFunc YiGLBlendFunc
1387 
1394 inline void YiGLBlendFuncSeparate(GLenum eSfactorRGB, GLenum eDfactorRGB, GLenum eSfactorAlpha, GLenum eDfactorAlpha)
1395 {
1396  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendFuncSeparateStr);
1397  YI_ASSERT(CYIGL::CurrentAPI.glBlendFuncSeparateProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendFuncSeparateStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_4_STR);
1398  CYIGL::CurrentAPI.glBlendFuncSeparateProc(eSfactorRGB, eDfactorRGB, eSfactorAlpha, eDfactorAlpha);
1399 }
1400 #define glBlendFuncSeparate YiGLBlendFuncSeparate
1401 
1408 inline void YiGLBlendFuncSeparatei(GLuint uBuf, GLenum eSrcRGB, GLenum eDstRGB, GLenum eSrcAlpha, GLenum eDstAlpha)
1409 {
1410  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendFuncSeparateiStr);
1411  YI_ASSERT(CYIGL::CurrentAPI.glBlendFuncSeparateiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendFuncSeparateiStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_0_STR);
1412  CYIGL::CurrentAPI.glBlendFuncSeparateiProc(uBuf, eSrcRGB, eDstRGB, eSrcAlpha, eDstAlpha);
1413 }
1414 #define glBlendFuncSeparatei YiGLBlendFuncSeparatei
1415 
1422 inline void YiGLBlendFunci(GLuint uBuf, GLenum eSrc, GLenum eDst)
1423 {
1424  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlendFunciStr);
1425  YI_ASSERT(CYIGL::CurrentAPI.glBlendFunciProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlendFunciStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_0_STR);
1426  CYIGL::CurrentAPI.glBlendFunciProc(uBuf, eSrc, eDst);
1427 }
1428 #define glBlendFunci YiGLBlendFunci
1429 
1436 inline void YiGLBlitFramebuffer(GLint nSrcX0, GLint nSrcY0, GLint nSrcX1, GLint nSrcY1, GLint nDstX0, GLint nDstY0, GLint nDstX1, GLint nDstY1, GLbitfield uMask, GLenum eFilter)
1437 {
1438  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlitFramebufferStr);
1439  YI_ASSERT(CYIGL::CurrentAPI.glBlitFramebufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBlitFramebufferStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
1440  CYIGL::CurrentAPI.glBlitFramebufferProc(nSrcX0, nSrcY0, nSrcX1, nSrcY1, nDstX0, nDstY0, nDstX1, nDstY1, uMask, eFilter);
1441 }
1442 #define glBlitFramebuffer YiGLBlitFramebuffer
1443 
1449 inline void YiGLBlitNamedFramebuffer(GLuint uReadFramebuffer, GLuint uDrawFramebuffer, GLint nSrcX0, GLint nSrcY0, GLint nSrcX1, GLint nSrcY1, GLint nDstX0, GLint nDstY0, GLint nDstX1, GLint nDstY1, GLbitfield uMask, GLenum eFilter)
1450 {
1451  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBlitNamedFramebufferStr);
1452  YI_ASSERT(CYIGL::CurrentAPI.glBlitNamedFramebufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBlitNamedFramebufferStr, CYIGL::GL_VERSION_4_5_STR);
1453  CYIGL::CurrentAPI.glBlitNamedFramebufferProc(uReadFramebuffer, uDrawFramebuffer, nSrcX0, nSrcY0, nSrcX1, nSrcY1, nDstX0, nDstY0, nDstX1, nDstY1, uMask, eFilter);
1454 }
1455 #define glBlitNamedFramebuffer YiGLBlitNamedFramebuffer
1456 
1463 inline void YiGLBufferData(GLenum eTarget, GLsizeiptr pSize, const void *pData, GLenum eUsage)
1464 {
1465  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBufferDataStr);
1466  YI_ASSERT(CYIGL::CurrentAPI.glBufferDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBufferDataStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_5_STR);
1467  CYIGL::CurrentAPI.glBufferDataProc(eTarget, pSize, pData, eUsage);
1468 }
1469 #define glBufferData YiGLBufferData
1470 
1476 inline void YiGLBufferStorage(GLenum eTarget, GLsizeiptr pSize, const void *pData, GLbitfield uFlags)
1477 {
1478  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBufferStorageStr);
1479  YI_ASSERT(CYIGL::CurrentAPI.glBufferStorageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glBufferStorageStr, CYIGL::GL_VERSION_4_4_STR);
1480  CYIGL::CurrentAPI.glBufferStorageProc(eTarget, pSize, pData, uFlags);
1481 }
1482 #define glBufferStorage YiGLBufferStorage
1483 
1490 inline void YiGLBufferSubData(GLenum eTarget, GLintptr pOffset, GLsizeiptr pSize, const void *pData)
1491 {
1492  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glBufferSubDataStr);
1493  YI_ASSERT(CYIGL::CurrentAPI.glBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glBufferSubDataStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_5_STR);
1494  CYIGL::CurrentAPI.glBufferSubDataProc(eTarget, pOffset, pSize, pData);
1495 }
1496 #define glBufferSubData YiGLBufferSubData
1497 
1504 inline GLenum YiGLCheckFramebufferStatus(GLenum eTarget)
1505 {
1506  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCheckFramebufferStatusStr);
1507  YI_ASSERT(CYIGL::CurrentAPI.glCheckFramebufferStatusProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCheckFramebufferStatusStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
1508  return CYIGL::CurrentAPI.glCheckFramebufferStatusProc(eTarget);
1509 }
1510 #define glCheckFramebufferStatus YiGLCheckFramebufferStatus
1511 
1517 inline GLenum YiGLCheckNamedFramebufferStatus(GLuint uFramebuffer, GLenum eTarget)
1518 {
1519  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCheckNamedFramebufferStatusStr);
1520  YI_ASSERT(CYIGL::CurrentAPI.glCheckNamedFramebufferStatusProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCheckNamedFramebufferStatusStr, CYIGL::GL_VERSION_4_5_STR);
1521  return CYIGL::CurrentAPI.glCheckNamedFramebufferStatusProc(uFramebuffer, eTarget);
1522 }
1523 #define glCheckNamedFramebufferStatus YiGLCheckNamedFramebufferStatus
1524 
1530 inline void YiGLClampColor(GLenum eTarget, GLenum eClamp)
1531 {
1532  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClampColorStr);
1533  YI_ASSERT(CYIGL::CurrentAPI.glClampColorProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClampColorStr, CYIGL::GL_VERSION_3_0_STR);
1534  CYIGL::CurrentAPI.glClampColorProc(eTarget, eClamp);
1535 }
1536 #define glClampColor YiGLClampColor
1537 
1544 inline void YiGLClear(GLbitfield uMask)
1545 {
1546  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearStr);
1547  YI_ASSERT(CYIGL::CurrentAPI.glClearProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClearStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
1548  CYIGL::CurrentAPI.glClearProc(uMask);
1549 }
1550 #define glClear YiGLClear
1551 
1557 inline void YiGLClearBufferData(GLenum eTarget, GLenum eInternalformat, GLenum eFormat, GLenum eType, const void *pData)
1558 {
1559  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearBufferDataStr);
1560  YI_ASSERT(CYIGL::CurrentAPI.glClearBufferDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearBufferDataStr, CYIGL::GL_VERSION_4_3_STR);
1561  CYIGL::CurrentAPI.glClearBufferDataProc(eTarget, eInternalformat, eFormat, eType, pData);
1562 }
1563 #define glClearBufferData YiGLClearBufferData
1564 
1570 inline void YiGLClearBufferSubData(GLenum eTarget, GLenum eInternalformat, GLintptr pOffset, GLsizeiptr pSize, GLenum eFormat, GLenum eType, const void *pData)
1571 {
1572  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearBufferSubDataStr);
1573  YI_ASSERT(CYIGL::CurrentAPI.glClearBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearBufferSubDataStr, CYIGL::GL_VERSION_4_3_STR);
1574  CYIGL::CurrentAPI.glClearBufferSubDataProc(eTarget, eInternalformat, pOffset, pSize, eFormat, eType, pData);
1575 }
1576 #define glClearBufferSubData YiGLClearBufferSubData
1577 
1584 inline void YiGLClearBufferfi(GLenum eBuffer, GLint nDrawbuffer, GLfloat fDepth, GLint nStencil)
1585 {
1586  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearBufferfiStr);
1587  YI_ASSERT(CYIGL::CurrentAPI.glClearBufferfiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClearBufferfiStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
1588  CYIGL::CurrentAPI.glClearBufferfiProc(eBuffer, nDrawbuffer, fDepth, nStencil);
1589 }
1590 #define glClearBufferfi YiGLClearBufferfi
1591 
1598 inline void YiGLClearBufferfv(GLenum eBuffer, GLint nDrawbuffer, const GLfloat *pfValue)
1599 {
1600  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearBufferfvStr);
1601  YI_ASSERT(CYIGL::CurrentAPI.glClearBufferfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClearBufferfvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
1602  CYIGL::CurrentAPI.glClearBufferfvProc(eBuffer, nDrawbuffer, pfValue);
1603 }
1604 #define glClearBufferfv YiGLClearBufferfv
1605 
1612 inline void YiGLClearBufferiv(GLenum eBuffer, GLint nDrawbuffer, const GLint *pnValue)
1613 {
1614  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearBufferivStr);
1615  YI_ASSERT(CYIGL::CurrentAPI.glClearBufferivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClearBufferivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
1616  CYIGL::CurrentAPI.glClearBufferivProc(eBuffer, nDrawbuffer, pnValue);
1617 }
1618 #define glClearBufferiv YiGLClearBufferiv
1619 
1626 inline void YiGLClearBufferuiv(GLenum eBuffer, GLint nDrawbuffer, const GLuint *puValue)
1627 {
1628  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearBufferuivStr);
1629  YI_ASSERT(CYIGL::CurrentAPI.glClearBufferuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClearBufferuivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
1630  CYIGL::CurrentAPI.glClearBufferuivProc(eBuffer, nDrawbuffer, puValue);
1631 }
1632 #define glClearBufferuiv YiGLClearBufferuiv
1633 
1640 inline void YiGLClearColor(GLfloat fRed, GLfloat fGreen, GLfloat fBlue, GLfloat fAlpha)
1641 {
1642  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearColorStr);
1643  YI_ASSERT(CYIGL::CurrentAPI.glClearColorProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClearColorStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
1644  CYIGL::CurrentAPI.glClearColorProc(fRed, fGreen, fBlue, fAlpha);
1645 }
1646 #define glClearColor YiGLClearColor
1647 
1653 inline void YiGLClearDepth(GLdouble fDepth)
1654 {
1655  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearDepthStr);
1656  YI_ASSERT(CYIGL::CurrentAPI.glClearDepthProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearDepthStr, CYIGL::GL_VERSION_1_0_STR);
1657  CYIGL::CurrentAPI.glClearDepthProc(fDepth);
1658 }
1659 #define glClearDepth YiGLClearDepth
1660 
1667 inline void YiGLClearDepthf(GLfloat fD)
1668 {
1669  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearDepthfStr);
1670  YI_ASSERT(CYIGL::CurrentAPI.glClearDepthfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClearDepthfStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_4_1_STR);
1671  CYIGL::CurrentAPI.glClearDepthfProc(fD);
1672 }
1673 #define glClearDepthf YiGLClearDepthf
1674 
1680 inline void YiGLClearNamedBufferData(GLuint uBuffer, GLenum eInternalformat, GLenum eFormat, GLenum eType, const void *pData)
1681 {
1682  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearNamedBufferDataStr);
1683  YI_ASSERT(CYIGL::CurrentAPI.glClearNamedBufferDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearNamedBufferDataStr, CYIGL::GL_VERSION_4_5_STR);
1684  CYIGL::CurrentAPI.glClearNamedBufferDataProc(uBuffer, eInternalformat, eFormat, eType, pData);
1685 }
1686 #define glClearNamedBufferData YiGLClearNamedBufferData
1687 
1693 inline void YiGLClearNamedBufferSubData(GLuint uBuffer, GLenum eInternalformat, GLintptr pOffset, GLsizeiptr pSize, GLenum eFormat, GLenum eType, const void *pData)
1694 {
1695  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearNamedBufferSubDataStr);
1696  YI_ASSERT(CYIGL::CurrentAPI.glClearNamedBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearNamedBufferSubDataStr, CYIGL::GL_VERSION_4_5_STR);
1697  CYIGL::CurrentAPI.glClearNamedBufferSubDataProc(uBuffer, eInternalformat, pOffset, pSize, eFormat, eType, pData);
1698 }
1699 #define glClearNamedBufferSubData YiGLClearNamedBufferSubData
1700 
1706 inline void YiGLClearNamedFramebufferfi(GLuint uFramebuffer, GLenum eBuffer, GLint nDrawbuffer, GLfloat fDepth, GLint nStencil)
1707 {
1708  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearNamedFramebufferfiStr);
1709  YI_ASSERT(CYIGL::CurrentAPI.glClearNamedFramebufferfiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearNamedFramebufferfiStr, CYIGL::GL_VERSION_4_5_STR);
1710  CYIGL::CurrentAPI.glClearNamedFramebufferfiProc(uFramebuffer, eBuffer, nDrawbuffer, fDepth, nStencil);
1711 }
1712 #define glClearNamedFramebufferfi YiGLClearNamedFramebufferfi
1713 
1719 inline void YiGLClearNamedFramebufferfv(GLuint uFramebuffer, GLenum eBuffer, GLint nDrawbuffer, const GLfloat *pfValue)
1720 {
1721  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearNamedFramebufferfvStr);
1722  YI_ASSERT(CYIGL::CurrentAPI.glClearNamedFramebufferfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearNamedFramebufferfvStr, CYIGL::GL_VERSION_4_5_STR);
1723  CYIGL::CurrentAPI.glClearNamedFramebufferfvProc(uFramebuffer, eBuffer, nDrawbuffer, pfValue);
1724 }
1725 #define glClearNamedFramebufferfv YiGLClearNamedFramebufferfv
1726 
1732 inline void YiGLClearNamedFramebufferiv(GLuint uFramebuffer, GLenum eBuffer, GLint nDrawbuffer, const GLint *pnValue)
1733 {
1734  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearNamedFramebufferivStr);
1735  YI_ASSERT(CYIGL::CurrentAPI.glClearNamedFramebufferivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearNamedFramebufferivStr, CYIGL::GL_VERSION_4_5_STR);
1736  CYIGL::CurrentAPI.glClearNamedFramebufferivProc(uFramebuffer, eBuffer, nDrawbuffer, pnValue);
1737 }
1738 #define glClearNamedFramebufferiv YiGLClearNamedFramebufferiv
1739 
1745 inline void YiGLClearNamedFramebufferuiv(GLuint uFramebuffer, GLenum eBuffer, GLint nDrawbuffer, const GLuint *puValue)
1746 {
1747  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearNamedFramebufferuivStr);
1748  YI_ASSERT(CYIGL::CurrentAPI.glClearNamedFramebufferuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearNamedFramebufferuivStr, CYIGL::GL_VERSION_4_5_STR);
1749  CYIGL::CurrentAPI.glClearNamedFramebufferuivProc(uFramebuffer, eBuffer, nDrawbuffer, puValue);
1750 }
1751 #define glClearNamedFramebufferuiv YiGLClearNamedFramebufferuiv
1752 
1759 inline void YiGLClearStencil(GLint nS)
1760 {
1761  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearStencilStr);
1762  YI_ASSERT(CYIGL::CurrentAPI.glClearStencilProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClearStencilStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
1763  CYIGL::CurrentAPI.glClearStencilProc(nS);
1764 }
1765 #define glClearStencil YiGLClearStencil
1766 
1772 inline void YiGLClearTexImage(GLuint uTexture, GLint nLevel, GLenum eFormat, GLenum eType, const void *pData)
1773 {
1774  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearTexImageStr);
1775  YI_ASSERT(CYIGL::CurrentAPI.glClearTexImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearTexImageStr, CYIGL::GL_VERSION_4_4_STR);
1776  CYIGL::CurrentAPI.glClearTexImageProc(uTexture, nLevel, eFormat, eType, pData);
1777 }
1778 #define glClearTexImage YiGLClearTexImage
1779 
1785 inline void YiGLClearTexSubImage(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLenum eFormat, GLenum eType, const void *pData)
1786 {
1787  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClearTexSubImageStr);
1788  YI_ASSERT(CYIGL::CurrentAPI.glClearTexSubImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClearTexSubImageStr, CYIGL::GL_VERSION_4_4_STR);
1789  CYIGL::CurrentAPI.glClearTexSubImageProc(uTexture, nLevel, nXoffset, nYoffset, nZoffset, nWidth, nHeight, nDepth, eFormat, eType, pData);
1790 }
1791 #define glClearTexSubImage YiGLClearTexSubImage
1792 
1798 inline void YiGLClientActiveTexture(GLenum eTexture)
1799 {
1800  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClientActiveTextureStr);
1801  YI_ASSERT(CYIGL::CurrentAPI.glClientActiveTextureProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClientActiveTextureStr, CYIGL::GL_VERSION_1_3_STR);
1802  CYIGL::CurrentAPI.glClientActiveTextureProc(eTexture);
1803 }
1804 #define glClientActiveTexture YiGLClientActiveTexture
1805 
1812 inline GLenum YiGLClientWaitSync(GLsync pSync, GLbitfield uFlags, GLuint64 uTimeout)
1813 {
1814  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClientWaitSyncStr);
1815  YI_ASSERT(CYIGL::CurrentAPI.glClientWaitSyncProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glClientWaitSyncStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
1816  return CYIGL::CurrentAPI.glClientWaitSyncProc(pSync, uFlags, uTimeout);
1817 }
1818 #define glClientWaitSync YiGLClientWaitSync
1819 
1825 inline void YiGLClipControl(GLenum eOrigin, GLenum eDepth)
1826 {
1827  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glClipControlStr);
1828  YI_ASSERT(CYIGL::CurrentAPI.glClipControlProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glClipControlStr, CYIGL::GL_VERSION_4_5_STR);
1829  CYIGL::CurrentAPI.glClipControlProc(eOrigin, eDepth);
1830 }
1831 #define glClipControl YiGLClipControl
1832 
1839 inline void YiGLColorMask(GLboolean bRed, GLboolean bGreen, GLboolean bBlue, GLboolean bAlpha)
1840 {
1841  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glColorMaskStr);
1842  YI_ASSERT(CYIGL::CurrentAPI.glColorMaskProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glColorMaskStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
1843  CYIGL::CurrentAPI.glColorMaskProc(bRed, bGreen, bBlue, bAlpha);
1844 }
1845 #define glColorMask YiGLColorMask
1846 
1853 inline void YiGLColorMaski(GLuint uIndex, GLboolean bR, GLboolean bG, GLboolean bB, GLboolean bA)
1854 {
1855  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glColorMaskiStr);
1856  YI_ASSERT(CYIGL::CurrentAPI.glColorMaskiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glColorMaskiStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_0_STR);
1857  CYIGL::CurrentAPI.glColorMaskiProc(uIndex, bR, bG, bB, bA);
1858 }
1859 #define glColorMaski YiGLColorMaski
1860 
1866 inline void YiGLColorP3ui(GLenum eType, GLuint uColor)
1867 {
1868  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glColorP3uiStr);
1869  YI_ASSERT(CYIGL::CurrentAPI.glColorP3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glColorP3uiStr, CYIGL::GL_VERSION_3_3_STR);
1870  CYIGL::CurrentAPI.glColorP3uiProc(eType, uColor);
1871 }
1872 #define glColorP3ui YiGLColorP3ui
1873 
1879 inline void YiGLColorP3uiv(GLenum eType, const GLuint *puColor)
1880 {
1881  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glColorP3uivStr);
1882  YI_ASSERT(CYIGL::CurrentAPI.glColorP3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glColorP3uivStr, CYIGL::GL_VERSION_3_3_STR);
1883  CYIGL::CurrentAPI.glColorP3uivProc(eType, puColor);
1884 }
1885 #define glColorP3uiv YiGLColorP3uiv
1886 
1892 inline void YiGLColorP4ui(GLenum eType, GLuint uColor)
1893 {
1894  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glColorP4uiStr);
1895  YI_ASSERT(CYIGL::CurrentAPI.glColorP4uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glColorP4uiStr, CYIGL::GL_VERSION_3_3_STR);
1896  CYIGL::CurrentAPI.glColorP4uiProc(eType, uColor);
1897 }
1898 #define glColorP4ui YiGLColorP4ui
1899 
1905 inline void YiGLColorP4uiv(GLenum eType, const GLuint *puColor)
1906 {
1907  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glColorP4uivStr);
1908  YI_ASSERT(CYIGL::CurrentAPI.glColorP4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glColorP4uivStr, CYIGL::GL_VERSION_3_3_STR);
1909  CYIGL::CurrentAPI.glColorP4uivProc(eType, puColor);
1910 }
1911 #define glColorP4uiv YiGLColorP4uiv
1912 
1919 inline void YiGLCompileShader(GLuint uShader)
1920 {
1921  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompileShaderStr);
1922  YI_ASSERT(CYIGL::CurrentAPI.glCompileShaderProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCompileShaderStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
1923  CYIGL::CurrentAPI.glCompileShaderProc(uShader);
1924 }
1925 #define glCompileShader YiGLCompileShader
1926 
1932 inline void YiGLCompressedTexImage1D(GLenum eTarget, GLint nLevel, GLenum eInternalformat, GLsizei nWidth, GLint nBorder, GLsizei nImageSize, const void *pData)
1933 {
1934  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTexImage1DStr);
1935  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTexImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCompressedTexImage1DStr, CYIGL::GL_VERSION_1_3_STR);
1936  CYIGL::CurrentAPI.glCompressedTexImage1DProc(eTarget, nLevel, eInternalformat, nWidth, nBorder, nImageSize, pData);
1937 }
1938 #define glCompressedTexImage1D YiGLCompressedTexImage1D
1939 
1946 inline void YiGLCompressedTexImage2D(GLenum eTarget, GLint nLevel, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLint nBorder, GLsizei nImageSize, const void *pData)
1947 {
1948  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTexImage2DStr);
1949  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTexImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCompressedTexImage2DStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_3_STR);
1950  CYIGL::CurrentAPI.glCompressedTexImage2DProc(eTarget, nLevel, eInternalformat, nWidth, nHeight, nBorder, nImageSize, pData);
1951 }
1952 #define glCompressedTexImage2D YiGLCompressedTexImage2D
1953 
1960 inline void YiGLCompressedTexImage3D(GLenum eTarget, GLint nLevel, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLint nBorder, GLsizei nImageSize, const void *pData)
1961 {
1962  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTexImage3DStr);
1963  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTexImage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCompressedTexImage3DStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_3_STR);
1964  CYIGL::CurrentAPI.glCompressedTexImage3DProc(eTarget, nLevel, eInternalformat, nWidth, nHeight, nDepth, nBorder, nImageSize, pData);
1965 }
1966 #define glCompressedTexImage3D YiGLCompressedTexImage3D
1967 
1973 inline void YiGLCompressedTexSubImage1D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLsizei nWidth, GLenum eFormat, GLsizei nImageSize, const void *pData)
1974 {
1975  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTexSubImage1DStr);
1976  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTexSubImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCompressedTexSubImage1DStr, CYIGL::GL_VERSION_1_3_STR);
1977  CYIGL::CurrentAPI.glCompressedTexSubImage1DProc(eTarget, nLevel, nXoffset, nWidth, eFormat, nImageSize, pData);
1978 }
1979 #define glCompressedTexSubImage1D YiGLCompressedTexSubImage1D
1980 
1987 inline void YiGLCompressedTexSubImage2D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLint nYoffset, GLsizei nWidth, GLsizei nHeight, GLenum eFormat, GLsizei nImageSize, const void *pData)
1988 {
1989  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTexSubImage2DStr);
1990  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTexSubImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCompressedTexSubImage2DStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_3_STR);
1991  CYIGL::CurrentAPI.glCompressedTexSubImage2DProc(eTarget, nLevel, nXoffset, nYoffset, nWidth, nHeight, eFormat, nImageSize, pData);
1992 }
1993 #define glCompressedTexSubImage2D YiGLCompressedTexSubImage2D
1994 
2001 inline void YiGLCompressedTexSubImage3D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLenum eFormat, GLsizei nImageSize, const void *pData)
2002 {
2003  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTexSubImage3DStr);
2004  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTexSubImage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCompressedTexSubImage3DStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_3_STR);
2005  CYIGL::CurrentAPI.glCompressedTexSubImage3DProc(eTarget, nLevel, nXoffset, nYoffset, nZoffset, nWidth, nHeight, nDepth, eFormat, nImageSize, pData);
2006 }
2007 #define glCompressedTexSubImage3D YiGLCompressedTexSubImage3D
2008 
2014 inline void YiGLCompressedTextureSubImage1D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLsizei nWidth, GLenum eFormat, GLsizei nImageSize, const void *pData)
2015 {
2016  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTextureSubImage1DStr);
2017  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTextureSubImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCompressedTextureSubImage1DStr, CYIGL::GL_VERSION_4_5_STR);
2018  CYIGL::CurrentAPI.glCompressedTextureSubImage1DProc(uTexture, nLevel, nXoffset, nWidth, eFormat, nImageSize, pData);
2019 }
2020 #define glCompressedTextureSubImage1D YiGLCompressedTextureSubImage1D
2021 
2027 inline void YiGLCompressedTextureSubImage2D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLsizei nWidth, GLsizei nHeight, GLenum eFormat, GLsizei nImageSize, const void *pData)
2028 {
2029  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTextureSubImage2DStr);
2030  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTextureSubImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCompressedTextureSubImage2DStr, CYIGL::GL_VERSION_4_5_STR);
2031  CYIGL::CurrentAPI.glCompressedTextureSubImage2DProc(uTexture, nLevel, nXoffset, nYoffset, nWidth, nHeight, eFormat, nImageSize, pData);
2032 }
2033 #define glCompressedTextureSubImage2D YiGLCompressedTextureSubImage2D
2034 
2040 inline void YiGLCompressedTextureSubImage3D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLenum eFormat, GLsizei nImageSize, const void *pData)
2041 {
2042  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCompressedTextureSubImage3DStr);
2043  YI_ASSERT(CYIGL::CurrentAPI.glCompressedTextureSubImage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCompressedTextureSubImage3DStr, CYIGL::GL_VERSION_4_5_STR);
2044  CYIGL::CurrentAPI.glCompressedTextureSubImage3DProc(uTexture, nLevel, nXoffset, nYoffset, nZoffset, nWidth, nHeight, nDepth, eFormat, nImageSize, pData);
2045 }
2046 #define glCompressedTextureSubImage3D YiGLCompressedTextureSubImage3D
2047 
2054 inline void YiGLCopyBufferSubData(GLenum eReadTarget, GLenum eWriteTarget, GLintptr pReadOffset, GLintptr pWriteOffset, GLsizeiptr pSize)
2055 {
2056  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyBufferSubDataStr);
2057  YI_ASSERT(CYIGL::CurrentAPI.glCopyBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCopyBufferSubDataStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
2058  CYIGL::CurrentAPI.glCopyBufferSubDataProc(eReadTarget, eWriteTarget, pReadOffset, pWriteOffset, pSize);
2059 }
2060 #define glCopyBufferSubData YiGLCopyBufferSubData
2061 
2068 inline void YiGLCopyImageSubData(GLuint uSrcName, GLenum eSrcTarget, GLint nSrcLevel, GLint nSrcX, GLint nSrcY, GLint nSrcZ, GLuint uDstName, GLenum eDstTarget, GLint nDstLevel, GLint nDstX, GLint nDstY, GLint nDstZ, GLsizei nSrcWidth, GLsizei nSrcHeight, GLsizei nSrcDepth)
2069 {
2070  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyImageSubDataStr);
2071  YI_ASSERT(CYIGL::CurrentAPI.glCopyImageSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCopyImageSubDataStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
2072  CYIGL::CurrentAPI.glCopyImageSubDataProc(uSrcName, eSrcTarget, nSrcLevel, nSrcX, nSrcY, nSrcZ, uDstName, eDstTarget, nDstLevel, nDstX, nDstY, nDstZ, nSrcWidth, nSrcHeight, nSrcDepth);
2073 }
2074 #define glCopyImageSubData YiGLCopyImageSubData
2075 
2081 inline void YiGLCopyNamedBufferSubData(GLuint uReadBuffer, GLuint uWriteBuffer, GLintptr pReadOffset, GLintptr pWriteOffset, GLsizeiptr pSize)
2082 {
2083  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyNamedBufferSubDataStr);
2084  YI_ASSERT(CYIGL::CurrentAPI.glCopyNamedBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCopyNamedBufferSubDataStr, CYIGL::GL_VERSION_4_5_STR);
2085  CYIGL::CurrentAPI.glCopyNamedBufferSubDataProc(uReadBuffer, uWriteBuffer, pReadOffset, pWriteOffset, pSize);
2086 }
2087 #define glCopyNamedBufferSubData YiGLCopyNamedBufferSubData
2088 
2094 inline void YiGLCopyTexImage1D(GLenum eTarget, GLint nLevel, GLenum eInternalformat, GLint nX, GLint nY, GLsizei nWidth, GLint nBorder)
2095 {
2096  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyTexImage1DStr);
2097  YI_ASSERT(CYIGL::CurrentAPI.glCopyTexImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCopyTexImage1DStr, CYIGL::GL_VERSION_1_1_STR);
2098  CYIGL::CurrentAPI.glCopyTexImage1DProc(eTarget, nLevel, eInternalformat, nX, nY, nWidth, nBorder);
2099 }
2100 #define glCopyTexImage1D YiGLCopyTexImage1D
2101 
2108 inline void YiGLCopyTexImage2D(GLenum eTarget, GLint nLevel, GLenum eInternalformat, GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight, GLint nBorder)
2109 {
2110  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyTexImage2DStr);
2111  YI_ASSERT(CYIGL::CurrentAPI.glCopyTexImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCopyTexImage2DStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
2112  CYIGL::CurrentAPI.glCopyTexImage2DProc(eTarget, nLevel, eInternalformat, nX, nY, nWidth, nHeight, nBorder);
2113 }
2114 #define glCopyTexImage2D YiGLCopyTexImage2D
2115 
2121 inline void YiGLCopyTexSubImage1D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLint nX, GLint nY, GLsizei nWidth)
2122 {
2123  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyTexSubImage1DStr);
2124  YI_ASSERT(CYIGL::CurrentAPI.glCopyTexSubImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCopyTexSubImage1DStr, CYIGL::GL_VERSION_1_1_STR);
2125  CYIGL::CurrentAPI.glCopyTexSubImage1DProc(eTarget, nLevel, nXoffset, nX, nY, nWidth);
2126 }
2127 #define glCopyTexSubImage1D YiGLCopyTexSubImage1D
2128 
2135 inline void YiGLCopyTexSubImage2D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight)
2136 {
2137  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyTexSubImage2DStr);
2138  YI_ASSERT(CYIGL::CurrentAPI.glCopyTexSubImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCopyTexSubImage2DStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
2139  CYIGL::CurrentAPI.glCopyTexSubImage2DProc(eTarget, nLevel, nXoffset, nYoffset, nX, nY, nWidth, nHeight);
2140 }
2141 #define glCopyTexSubImage2D YiGLCopyTexSubImage2D
2142 
2149 inline void YiGLCopyTexSubImage3D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight)
2150 {
2151  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyTexSubImage3DStr);
2152  YI_ASSERT(CYIGL::CurrentAPI.glCopyTexSubImage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCopyTexSubImage3DStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_2_STR);
2153  CYIGL::CurrentAPI.glCopyTexSubImage3DProc(eTarget, nLevel, nXoffset, nYoffset, nZoffset, nX, nY, nWidth, nHeight);
2154 }
2155 #define glCopyTexSubImage3D YiGLCopyTexSubImage3D
2156 
2162 inline void YiGLCopyTextureSubImage1D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nX, GLint nY, GLsizei nWidth)
2163 {
2164  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyTextureSubImage1DStr);
2165  YI_ASSERT(CYIGL::CurrentAPI.glCopyTextureSubImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCopyTextureSubImage1DStr, CYIGL::GL_VERSION_4_5_STR);
2166  CYIGL::CurrentAPI.glCopyTextureSubImage1DProc(uTexture, nLevel, nXoffset, nX, nY, nWidth);
2167 }
2168 #define glCopyTextureSubImage1D YiGLCopyTextureSubImage1D
2169 
2175 inline void YiGLCopyTextureSubImage2D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight)
2176 {
2177  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyTextureSubImage2DStr);
2178  YI_ASSERT(CYIGL::CurrentAPI.glCopyTextureSubImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCopyTextureSubImage2DStr, CYIGL::GL_VERSION_4_5_STR);
2179  CYIGL::CurrentAPI.glCopyTextureSubImage2DProc(uTexture, nLevel, nXoffset, nYoffset, nX, nY, nWidth, nHeight);
2180 }
2181 #define glCopyTextureSubImage2D YiGLCopyTextureSubImage2D
2182 
2188 inline void YiGLCopyTextureSubImage3D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight)
2189 {
2190  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCopyTextureSubImage3DStr);
2191  YI_ASSERT(CYIGL::CurrentAPI.glCopyTextureSubImage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCopyTextureSubImage3DStr, CYIGL::GL_VERSION_4_5_STR);
2192  CYIGL::CurrentAPI.glCopyTextureSubImage3DProc(uTexture, nLevel, nXoffset, nYoffset, nZoffset, nX, nY, nWidth, nHeight);
2193 }
2194 #define glCopyTextureSubImage3D YiGLCopyTextureSubImage3D
2195 
2201 inline void YiGLCreateBuffers(GLsizei nN, GLuint *puBuffers)
2202 {
2203  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateBuffersStr);
2204  YI_ASSERT(CYIGL::CurrentAPI.glCreateBuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateBuffersStr, CYIGL::GL_VERSION_4_5_STR);
2205  CYIGL::CurrentAPI.glCreateBuffersProc(nN, puBuffers);
2206 }
2207 #define glCreateBuffers YiGLCreateBuffers
2208 
2214 inline void YiGLCreateFramebuffers(GLsizei nN, GLuint *puFramebuffers)
2215 {
2216  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateFramebuffersStr);
2217  YI_ASSERT(CYIGL::CurrentAPI.glCreateFramebuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateFramebuffersStr, CYIGL::GL_VERSION_4_5_STR);
2218  CYIGL::CurrentAPI.glCreateFramebuffersProc(nN, puFramebuffers);
2219 }
2220 #define glCreateFramebuffers YiGLCreateFramebuffers
2221 
2228 inline GLuint YiGLCreateProgram(void)
2229 {
2230  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateProgramStr);
2231  YI_ASSERT(CYIGL::CurrentAPI.glCreateProgramProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCreateProgramStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
2232  return CYIGL::CurrentAPI.glCreateProgramProc();
2233 }
2234 #define glCreateProgram YiGLCreateProgram
2235 
2241 inline void YiGLCreateProgramPipelines(GLsizei nN, GLuint *puPipelines)
2242 {
2243  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateProgramPipelinesStr);
2244  YI_ASSERT(CYIGL::CurrentAPI.glCreateProgramPipelinesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateProgramPipelinesStr, CYIGL::GL_VERSION_4_5_STR);
2245  CYIGL::CurrentAPI.glCreateProgramPipelinesProc(nN, puPipelines);
2246 }
2247 #define glCreateProgramPipelines YiGLCreateProgramPipelines
2248 
2254 inline void YiGLCreateQueries(GLenum eTarget, GLsizei nN, GLuint *puIds)
2255 {
2256  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateQueriesStr);
2257  YI_ASSERT(CYIGL::CurrentAPI.glCreateQueriesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateQueriesStr, CYIGL::GL_VERSION_4_5_STR);
2258  CYIGL::CurrentAPI.glCreateQueriesProc(eTarget, nN, puIds);
2259 }
2260 #define glCreateQueries YiGLCreateQueries
2261 
2267 inline void YiGLCreateRenderbuffers(GLsizei nN, GLuint *puRenderbuffers)
2268 {
2269  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateRenderbuffersStr);
2270  YI_ASSERT(CYIGL::CurrentAPI.glCreateRenderbuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateRenderbuffersStr, CYIGL::GL_VERSION_4_5_STR);
2271  CYIGL::CurrentAPI.glCreateRenderbuffersProc(nN, puRenderbuffers);
2272 }
2273 #define glCreateRenderbuffers YiGLCreateRenderbuffers
2274 
2280 inline void YiGLCreateSamplers(GLsizei nN, GLuint *puSamplers)
2281 {
2282  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateSamplersStr);
2283  YI_ASSERT(CYIGL::CurrentAPI.glCreateSamplersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateSamplersStr, CYIGL::GL_VERSION_4_5_STR);
2284  CYIGL::CurrentAPI.glCreateSamplersProc(nN, puSamplers);
2285 }
2286 #define glCreateSamplers YiGLCreateSamplers
2287 
2294 inline GLuint YiGLCreateShader(GLenum eType)
2295 {
2296  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateShaderStr);
2297  YI_ASSERT(CYIGL::CurrentAPI.glCreateShaderProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCreateShaderStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
2298  return CYIGL::CurrentAPI.glCreateShaderProc(eType);
2299 }
2300 #define glCreateShader YiGLCreateShader
2301 
2308 inline GLuint YiGLCreateShaderProgramv(GLenum eType, GLsizei nCount, const GLchar *const *ppStrings)
2309 {
2310  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateShaderProgramvStr);
2311  YI_ASSERT(CYIGL::CurrentAPI.glCreateShaderProgramvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCreateShaderProgramvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
2312  return CYIGL::CurrentAPI.glCreateShaderProgramvProc(eType, nCount, ppStrings);
2313 }
2314 #define glCreateShaderProgramv YiGLCreateShaderProgramv
2315 
2321 inline void YiGLCreateTextures(GLenum eTarget, GLsizei nN, GLuint *puTextures)
2322 {
2323  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateTexturesStr);
2324  YI_ASSERT(CYIGL::CurrentAPI.glCreateTexturesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateTexturesStr, CYIGL::GL_VERSION_4_5_STR);
2325  CYIGL::CurrentAPI.glCreateTexturesProc(eTarget, nN, puTextures);
2326 }
2327 #define glCreateTextures YiGLCreateTextures
2328 
2334 inline void YiGLCreateTransformFeedbacks(GLsizei nN, GLuint *puIds)
2335 {
2336  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateTransformFeedbacksStr);
2337  YI_ASSERT(CYIGL::CurrentAPI.glCreateTransformFeedbacksProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateTransformFeedbacksStr, CYIGL::GL_VERSION_4_5_STR);
2338  CYIGL::CurrentAPI.glCreateTransformFeedbacksProc(nN, puIds);
2339 }
2340 #define glCreateTransformFeedbacks YiGLCreateTransformFeedbacks
2341 
2347 inline void YiGLCreateVertexArrays(GLsizei nN, GLuint *puArrays)
2348 {
2349  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCreateVertexArraysStr);
2350  YI_ASSERT(CYIGL::CurrentAPI.glCreateVertexArraysProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glCreateVertexArraysStr, CYIGL::GL_VERSION_4_5_STR);
2351  CYIGL::CurrentAPI.glCreateVertexArraysProc(nN, puArrays);
2352 }
2353 #define glCreateVertexArrays YiGLCreateVertexArrays
2354 
2361 inline void YiGLCullFace(GLenum eMode)
2362 {
2363  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glCullFaceStr);
2364  YI_ASSERT(CYIGL::CurrentAPI.glCullFaceProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glCullFaceStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
2365  CYIGL::CurrentAPI.glCullFaceProc(eMode);
2366 }
2367 #define glCullFace YiGLCullFace
2368 
2375 inline void YiGLDebugMessageCallback(GLDEBUGPROC callback, const void *pUserParam)
2376 {
2377  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDebugMessageCallbackStr);
2378  YI_ASSERT(CYIGL::CurrentAPI.glDebugMessageCallbackProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDebugMessageCallbackStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
2379  CYIGL::CurrentAPI.glDebugMessageCallbackProc(callback, pUserParam);
2380 }
2381 #define glDebugMessageCallback YiGLDebugMessageCallback
2382 
2389 inline void YiGLDebugMessageControl(GLenum eSource, GLenum eType, GLenum eSeverity, GLsizei nCount, const GLuint *puIds, GLboolean bEnabled)
2390 {
2391  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDebugMessageControlStr);
2392  YI_ASSERT(CYIGL::CurrentAPI.glDebugMessageControlProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDebugMessageControlStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
2393  CYIGL::CurrentAPI.glDebugMessageControlProc(eSource, eType, eSeverity, nCount, puIds, bEnabled);
2394 }
2395 #define glDebugMessageControl YiGLDebugMessageControl
2396 
2403 inline void YiGLDebugMessageInsert(GLenum eSource, GLenum eType, GLuint uId, GLenum eSeverity, GLsizei nLength, const GLchar *pBuf)
2404 {
2405  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDebugMessageInsertStr);
2406  YI_ASSERT(CYIGL::CurrentAPI.glDebugMessageInsertProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDebugMessageInsertStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
2407  CYIGL::CurrentAPI.glDebugMessageInsertProc(eSource, eType, uId, eSeverity, nLength, pBuf);
2408 }
2409 #define glDebugMessageInsert YiGLDebugMessageInsert
2410 
2417 inline void YiGLDeleteBuffers(GLsizei nN, const GLuint *puBuffers)
2418 {
2419  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteBuffersStr);
2420  YI_ASSERT(CYIGL::CurrentAPI.glDeleteBuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteBuffersStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_5_STR);
2421  CYIGL::CurrentAPI.glDeleteBuffersProc(nN, puBuffers);
2422 }
2423 #define glDeleteBuffers YiGLDeleteBuffers
2424 
2431 inline void YiGLDeleteFramebuffers(GLsizei nN, const GLuint *puFramebuffers)
2432 {
2433  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteFramebuffersStr);
2434  YI_ASSERT(CYIGL::CurrentAPI.glDeleteFramebuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteFramebuffersStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
2435  CYIGL::CurrentAPI.glDeleteFramebuffersProc(nN, puFramebuffers);
2436 }
2437 #define glDeleteFramebuffers YiGLDeleteFramebuffers
2438 
2445 inline void YiGLDeleteProgram(GLuint uProgram)
2446 {
2447  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteProgramStr);
2448  YI_ASSERT(CYIGL::CurrentAPI.glDeleteProgramProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteProgramStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
2449  CYIGL::CurrentAPI.glDeleteProgramProc(uProgram);
2450 }
2451 #define glDeleteProgram YiGLDeleteProgram
2452 
2459 inline void YiGLDeleteProgramPipelines(GLsizei nN, const GLuint *puPipelines)
2460 {
2461  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteProgramPipelinesStr);
2462  YI_ASSERT(CYIGL::CurrentAPI.glDeleteProgramPipelinesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteProgramPipelinesStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
2463  CYIGL::CurrentAPI.glDeleteProgramPipelinesProc(nN, puPipelines);
2464 }
2465 #define glDeleteProgramPipelines YiGLDeleteProgramPipelines
2466 
2473 inline void YiGLDeleteQueries(GLsizei nN, const GLuint *puIds)
2474 {
2475  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteQueriesStr);
2476  YI_ASSERT(CYIGL::CurrentAPI.glDeleteQueriesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteQueriesStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
2477  CYIGL::CurrentAPI.glDeleteQueriesProc(nN, puIds);
2478 }
2479 #define glDeleteQueries YiGLDeleteQueries
2480 
2487 inline void YiGLDeleteRenderbuffers(GLsizei nN, const GLuint *puRenderbuffers)
2488 {
2489  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteRenderbuffersStr);
2490  YI_ASSERT(CYIGL::CurrentAPI.glDeleteRenderbuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteRenderbuffersStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
2491  CYIGL::CurrentAPI.glDeleteRenderbuffersProc(nN, puRenderbuffers);
2492 }
2493 #define glDeleteRenderbuffers YiGLDeleteRenderbuffers
2494 
2501 inline void YiGLDeleteSamplers(GLsizei nCount, const GLuint *puSamplers)
2502 {
2503  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteSamplersStr);
2504  YI_ASSERT(CYIGL::CurrentAPI.glDeleteSamplersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteSamplersStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
2505  CYIGL::CurrentAPI.glDeleteSamplersProc(nCount, puSamplers);
2506 }
2507 #define glDeleteSamplers YiGLDeleteSamplers
2508 
2515 inline void YiGLDeleteShader(GLuint uShader)
2516 {
2517  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteShaderStr);
2518  YI_ASSERT(CYIGL::CurrentAPI.glDeleteShaderProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteShaderStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
2519  CYIGL::CurrentAPI.glDeleteShaderProc(uShader);
2520 }
2521 #define glDeleteShader YiGLDeleteShader
2522 
2529 inline void YiGLDeleteSync(GLsync pSync)
2530 {
2531  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteSyncStr);
2532  YI_ASSERT(CYIGL::CurrentAPI.glDeleteSyncProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteSyncStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
2533  CYIGL::CurrentAPI.glDeleteSyncProc(pSync);
2534 }
2535 #define glDeleteSync YiGLDeleteSync
2536 
2543 inline void YiGLDeleteTextures(GLsizei nN, const GLuint *puTextures)
2544 {
2545  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteTexturesStr);
2546  YI_ASSERT(CYIGL::CurrentAPI.glDeleteTexturesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteTexturesStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
2547  CYIGL::CurrentAPI.glDeleteTexturesProc(nN, puTextures);
2548 }
2549 #define glDeleteTextures YiGLDeleteTextures
2550 
2557 inline void YiGLDeleteTransformFeedbacks(GLsizei nN, const GLuint *puIds)
2558 {
2559  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteTransformFeedbacksStr);
2560  YI_ASSERT(CYIGL::CurrentAPI.glDeleteTransformFeedbacksProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteTransformFeedbacksStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_0_STR);
2561  CYIGL::CurrentAPI.glDeleteTransformFeedbacksProc(nN, puIds);
2562 }
2563 #define glDeleteTransformFeedbacks YiGLDeleteTransformFeedbacks
2564 
2571 inline void YiGLDeleteVertexArrays(GLsizei nN, const GLuint *puArrays)
2572 {
2573  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDeleteVertexArraysStr);
2574  YI_ASSERT(CYIGL::CurrentAPI.glDeleteVertexArraysProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDeleteVertexArraysStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
2575  CYIGL::CurrentAPI.glDeleteVertexArraysProc(nN, puArrays);
2576 }
2577 #define glDeleteVertexArrays YiGLDeleteVertexArrays
2578 
2585 inline void YiGLDepthFunc(GLenum eFunc)
2586 {
2587  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDepthFuncStr);
2588  YI_ASSERT(CYIGL::CurrentAPI.glDepthFuncProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDepthFuncStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
2589  CYIGL::CurrentAPI.glDepthFuncProc(eFunc);
2590 }
2591 #define glDepthFunc YiGLDepthFunc
2592 
2599 inline void YiGLDepthMask(GLboolean bFlag)
2600 {
2601  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDepthMaskStr);
2602  YI_ASSERT(CYIGL::CurrentAPI.glDepthMaskProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDepthMaskStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
2603  CYIGL::CurrentAPI.glDepthMaskProc(bFlag);
2604 }
2605 #define glDepthMask YiGLDepthMask
2606 
2612 inline void YiGLDepthRange(GLdouble fNear, GLdouble fFar)
2613 {
2614  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDepthRangeStr);
2615  YI_ASSERT(CYIGL::CurrentAPI.glDepthRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDepthRangeStr, CYIGL::GL_VERSION_1_0_STR);
2616  CYIGL::CurrentAPI.glDepthRangeProc(fNear, fFar);
2617 }
2618 #define glDepthRange YiGLDepthRange
2619 
2625 inline void YiGLDepthRangeArrayv(GLuint uFirst, GLsizei nCount, const GLdouble *pfV)
2626 {
2627  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDepthRangeArrayvStr);
2628  YI_ASSERT(CYIGL::CurrentAPI.glDepthRangeArrayvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDepthRangeArrayvStr, CYIGL::GL_VERSION_4_1_STR);
2629  CYIGL::CurrentAPI.glDepthRangeArrayvProc(uFirst, nCount, pfV);
2630 }
2631 #define glDepthRangeArrayv YiGLDepthRangeArrayv
2632 
2638 inline void YiGLDepthRangeIndexed(GLuint uIndex, GLdouble fN, GLdouble fF)
2639 {
2640  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDepthRangeIndexedStr);
2641  YI_ASSERT(CYIGL::CurrentAPI.glDepthRangeIndexedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDepthRangeIndexedStr, CYIGL::GL_VERSION_4_1_STR);
2642  CYIGL::CurrentAPI.glDepthRangeIndexedProc(uIndex, fN, fF);
2643 }
2644 #define glDepthRangeIndexed YiGLDepthRangeIndexed
2645 
2652 inline void YiGLDepthRangef(GLfloat fN, GLfloat fF)
2653 {
2654  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDepthRangefStr);
2655  YI_ASSERT(CYIGL::CurrentAPI.glDepthRangefProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDepthRangefStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_4_1_STR);
2656  CYIGL::CurrentAPI.glDepthRangefProc(fN, fF);
2657 }
2658 #define glDepthRangef YiGLDepthRangef
2659 
2666 inline void YiGLDetachShader(GLuint uProgram, GLuint uShader)
2667 {
2668  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDetachShaderStr);
2669  YI_ASSERT(CYIGL::CurrentAPI.glDetachShaderProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDetachShaderStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
2670  CYIGL::CurrentAPI.glDetachShaderProc(uProgram, uShader);
2671 }
2672 #define glDetachShader YiGLDetachShader
2673 
2680 inline void YiGLDisable(GLenum eCap)
2681 {
2682  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDisableStr);
2683  YI_ASSERT(CYIGL::CurrentAPI.glDisableProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDisableStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
2684  CYIGL::CurrentAPI.glDisableProc(eCap);
2685 }
2686 #define glDisable YiGLDisable
2687 
2693 inline void YiGLDisableVertexArrayAttrib(GLuint uVaobj, GLuint uIndex)
2694 {
2695  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDisableVertexArrayAttribStr);
2696  YI_ASSERT(CYIGL::CurrentAPI.glDisableVertexArrayAttribProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDisableVertexArrayAttribStr, CYIGL::GL_VERSION_4_5_STR);
2697  CYIGL::CurrentAPI.glDisableVertexArrayAttribProc(uVaobj, uIndex);
2698 }
2699 #define glDisableVertexArrayAttrib YiGLDisableVertexArrayAttrib
2700 
2707 inline void YiGLDisableVertexAttribArray(GLuint uIndex)
2708 {
2709  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDisableVertexAttribArrayStr);
2710  YI_ASSERT(CYIGL::CurrentAPI.glDisableVertexAttribArrayProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDisableVertexAttribArrayStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
2711  CYIGL::CurrentAPI.glDisableVertexAttribArrayProc(uIndex);
2712 }
2713 #define glDisableVertexAttribArray YiGLDisableVertexAttribArray
2714 
2721 inline void YiGLDisablei(GLenum eTarget, GLuint uIndex)
2722 {
2723  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDisableiStr);
2724  YI_ASSERT(CYIGL::CurrentAPI.glDisableiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDisableiStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_0_STR);
2725  CYIGL::CurrentAPI.glDisableiProc(eTarget, uIndex);
2726 }
2727 #define glDisablei YiGLDisablei
2728 
2735 inline void YiGLDispatchCompute(GLuint uNumGroupsX, GLuint uNumGroupsY, GLuint uNumGroupsZ)
2736 {
2737  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDispatchComputeStr);
2738  YI_ASSERT(CYIGL::CurrentAPI.glDispatchComputeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDispatchComputeStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
2739  CYIGL::CurrentAPI.glDispatchComputeProc(uNumGroupsX, uNumGroupsY, uNumGroupsZ);
2740 }
2741 #define glDispatchCompute YiGLDispatchCompute
2742 
2749 inline void YiGLDispatchComputeIndirect(GLintptr pIndirect)
2750 {
2751  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDispatchComputeIndirectStr);
2752  YI_ASSERT(CYIGL::CurrentAPI.glDispatchComputeIndirectProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDispatchComputeIndirectStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
2753  CYIGL::CurrentAPI.glDispatchComputeIndirectProc(pIndirect);
2754 }
2755 #define glDispatchComputeIndirect YiGLDispatchComputeIndirect
2756 
2763 inline void YiGLDrawArrays(GLenum eMode, GLint nFirst, GLsizei nCount)
2764 {
2765  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawArraysStr);
2766  YI_ASSERT(CYIGL::CurrentAPI.glDrawArraysProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawArraysStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
2767  CYIGL::CurrentAPI.glDrawArraysProc(eMode, nFirst, nCount);
2768 }
2769 #define glDrawArrays YiGLDrawArrays
2770 
2777 inline void YiGLDrawArraysIndirect(GLenum eMode, const void *pIndirect)
2778 {
2779  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawArraysIndirectStr);
2780  YI_ASSERT(CYIGL::CurrentAPI.glDrawArraysIndirectProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawArraysIndirectStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_0_STR);
2781  CYIGL::CurrentAPI.glDrawArraysIndirectProc(eMode, pIndirect);
2782 }
2783 #define glDrawArraysIndirect YiGLDrawArraysIndirect
2784 
2791 inline void YiGLDrawArraysInstanced(GLenum eMode, GLint nFirst, GLsizei nCount, GLsizei nInstancecount)
2792 {
2793  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawArraysInstancedStr);
2794  YI_ASSERT(CYIGL::CurrentAPI.glDrawArraysInstancedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawArraysInstancedStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
2795  CYIGL::CurrentAPI.glDrawArraysInstancedProc(eMode, nFirst, nCount, nInstancecount);
2796 }
2797 #define glDrawArraysInstanced YiGLDrawArraysInstanced
2798 
2804 inline void YiGLDrawArraysInstancedBaseInstance(GLenum eMode, GLint nFirst, GLsizei nCount, GLsizei nInstancecount, GLuint uBaseinstance)
2805 {
2806  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawArraysInstancedBaseInstanceStr);
2807  YI_ASSERT(CYIGL::CurrentAPI.glDrawArraysInstancedBaseInstanceProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDrawArraysInstancedBaseInstanceStr, CYIGL::GL_VERSION_4_2_STR);
2808  CYIGL::CurrentAPI.glDrawArraysInstancedBaseInstanceProc(eMode, nFirst, nCount, nInstancecount, uBaseinstance);
2809 }
2810 #define glDrawArraysInstancedBaseInstance YiGLDrawArraysInstancedBaseInstance
2811 
2817 inline void YiGLDrawBuffer(GLenum eBuf)
2818 {
2819  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawBufferStr);
2820  YI_ASSERT(CYIGL::CurrentAPI.glDrawBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDrawBufferStr, CYIGL::GL_VERSION_1_0_STR);
2821  CYIGL::CurrentAPI.glDrawBufferProc(eBuf);
2822 }
2823 #define glDrawBuffer YiGLDrawBuffer
2824 
2831 inline void YiGLDrawBuffers(GLsizei nN, const GLenum *peBufs)
2832 {
2833  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawBuffersStr);
2834  YI_ASSERT(CYIGL::CurrentAPI.glDrawBuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawBuffersStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_2_0_STR);
2835  CYIGL::CurrentAPI.glDrawBuffersProc(nN, peBufs);
2836 }
2837 #define glDrawBuffers YiGLDrawBuffers
2838 
2845 inline void YiGLDrawElements(GLenum eMode, GLsizei nCount, GLenum eType, const void *pIndices)
2846 {
2847  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawElementsStr);
2848  YI_ASSERT(CYIGL::CurrentAPI.glDrawElementsProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawElementsStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
2849  CYIGL::CurrentAPI.glDrawElementsProc(eMode, nCount, eType, pIndices);
2850 }
2851 #define glDrawElements YiGLDrawElements
2852 
2859 inline void YiGLDrawElementsBaseVertex(GLenum eMode, GLsizei nCount, GLenum eType, const void *pIndices, GLint nBasevertex)
2860 {
2861  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawElementsBaseVertexStr);
2862  YI_ASSERT(CYIGL::CurrentAPI.glDrawElementsBaseVertexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawElementsBaseVertexStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_2_STR);
2863  CYIGL::CurrentAPI.glDrawElementsBaseVertexProc(eMode, nCount, eType, pIndices, nBasevertex);
2864 }
2865 #define glDrawElementsBaseVertex YiGLDrawElementsBaseVertex
2866 
2873 inline void YiGLDrawElementsIndirect(GLenum eMode, GLenum eType, const void *pIndirect)
2874 {
2875  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawElementsIndirectStr);
2876  YI_ASSERT(CYIGL::CurrentAPI.glDrawElementsIndirectProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawElementsIndirectStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_0_STR);
2877  CYIGL::CurrentAPI.glDrawElementsIndirectProc(eMode, eType, pIndirect);
2878 }
2879 #define glDrawElementsIndirect YiGLDrawElementsIndirect
2880 
2887 inline void YiGLDrawElementsInstanced(GLenum eMode, GLsizei nCount, GLenum eType, const void *pIndices, GLsizei nInstancecount)
2888 {
2889  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawElementsInstancedStr);
2890  YI_ASSERT(CYIGL::CurrentAPI.glDrawElementsInstancedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawElementsInstancedStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
2891  CYIGL::CurrentAPI.glDrawElementsInstancedProc(eMode, nCount, eType, pIndices, nInstancecount);
2892 }
2893 #define glDrawElementsInstanced YiGLDrawElementsInstanced
2894 
2900 inline void YiGLDrawElementsInstancedBaseInstance(GLenum eMode, GLsizei nCount, GLenum eType, const void *pIndices, GLsizei nInstancecount, GLuint uBaseinstance)
2901 {
2902  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawElementsInstancedBaseInstanceStr);
2903  YI_ASSERT(CYIGL::CurrentAPI.glDrawElementsInstancedBaseInstanceProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDrawElementsInstancedBaseInstanceStr, CYIGL::GL_VERSION_4_2_STR);
2904  CYIGL::CurrentAPI.glDrawElementsInstancedBaseInstanceProc(eMode, nCount, eType, pIndices, nInstancecount, uBaseinstance);
2905 }
2906 #define glDrawElementsInstancedBaseInstance YiGLDrawElementsInstancedBaseInstance
2907 
2914 inline void YiGLDrawElementsInstancedBaseVertex(GLenum eMode, GLsizei nCount, GLenum eType, const void *pIndices, GLsizei nInstancecount, GLint nBasevertex)
2915 {
2916  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawElementsInstancedBaseVertexStr);
2917  YI_ASSERT(CYIGL::CurrentAPI.glDrawElementsInstancedBaseVertexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawElementsInstancedBaseVertexStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_2_STR);
2918  CYIGL::CurrentAPI.glDrawElementsInstancedBaseVertexProc(eMode, nCount, eType, pIndices, nInstancecount, nBasevertex);
2919 }
2920 #define glDrawElementsInstancedBaseVertex YiGLDrawElementsInstancedBaseVertex
2921 
2927 inline void YiGLDrawElementsInstancedBaseVertexBaseInstance(GLenum eMode, GLsizei nCount, GLenum eType, const void *pIndices, GLsizei nInstancecount, GLint nBasevertex, GLuint uBaseinstance)
2928 {
2929  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawElementsInstancedBaseVertexBaseInstanceStr);
2930  YI_ASSERT(CYIGL::CurrentAPI.glDrawElementsInstancedBaseVertexBaseInstanceProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDrawElementsInstancedBaseVertexBaseInstanceStr, CYIGL::GL_VERSION_4_2_STR);
2931  CYIGL::CurrentAPI.glDrawElementsInstancedBaseVertexBaseInstanceProc(eMode, nCount, eType, pIndices, nInstancecount, nBasevertex, uBaseinstance);
2932 }
2933 #define glDrawElementsInstancedBaseVertexBaseInstance YiGLDrawElementsInstancedBaseVertexBaseInstance
2934 
2941 inline void YiGLDrawRangeElements(GLenum eMode, GLuint uStart, GLuint uEnd, GLsizei nCount, GLenum eType, const void *pIndices)
2942 {
2943  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawRangeElementsStr);
2944  YI_ASSERT(CYIGL::CurrentAPI.glDrawRangeElementsProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawRangeElementsStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_2_STR);
2945  CYIGL::CurrentAPI.glDrawRangeElementsProc(eMode, uStart, uEnd, nCount, eType, pIndices);
2946 }
2947 #define glDrawRangeElements YiGLDrawRangeElements
2948 
2955 inline void YiGLDrawRangeElementsBaseVertex(GLenum eMode, GLuint uStart, GLuint uEnd, GLsizei nCount, GLenum eType, const void *pIndices, GLint nBasevertex)
2956 {
2957  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawRangeElementsBaseVertexStr);
2958  YI_ASSERT(CYIGL::CurrentAPI.glDrawRangeElementsBaseVertexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glDrawRangeElementsBaseVertexStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_2_STR);
2959  CYIGL::CurrentAPI.glDrawRangeElementsBaseVertexProc(eMode, uStart, uEnd, nCount, eType, pIndices, nBasevertex);
2960 }
2961 #define glDrawRangeElementsBaseVertex YiGLDrawRangeElementsBaseVertex
2962 
2968 inline void YiGLDrawTransformFeedback(GLenum eMode, GLuint uId)
2969 {
2970  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawTransformFeedbackStr);
2971  YI_ASSERT(CYIGL::CurrentAPI.glDrawTransformFeedbackProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDrawTransformFeedbackStr, CYIGL::GL_VERSION_4_0_STR);
2972  CYIGL::CurrentAPI.glDrawTransformFeedbackProc(eMode, uId);
2973 }
2974 #define glDrawTransformFeedback YiGLDrawTransformFeedback
2975 
2981 inline void YiGLDrawTransformFeedbackInstanced(GLenum eMode, GLuint uId, GLsizei nInstancecount)
2982 {
2983  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawTransformFeedbackInstancedStr);
2984  YI_ASSERT(CYIGL::CurrentAPI.glDrawTransformFeedbackInstancedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDrawTransformFeedbackInstancedStr, CYIGL::GL_VERSION_4_2_STR);
2985  CYIGL::CurrentAPI.glDrawTransformFeedbackInstancedProc(eMode, uId, nInstancecount);
2986 }
2987 #define glDrawTransformFeedbackInstanced YiGLDrawTransformFeedbackInstanced
2988 
2994 inline void YiGLDrawTransformFeedbackStream(GLenum eMode, GLuint uId, GLuint uStream)
2995 {
2996  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawTransformFeedbackStreamStr);
2997  YI_ASSERT(CYIGL::CurrentAPI.glDrawTransformFeedbackStreamProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDrawTransformFeedbackStreamStr, CYIGL::GL_VERSION_4_0_STR);
2998  CYIGL::CurrentAPI.glDrawTransformFeedbackStreamProc(eMode, uId, uStream);
2999 }
3000 #define glDrawTransformFeedbackStream YiGLDrawTransformFeedbackStream
3001 
3007 inline void YiGLDrawTransformFeedbackStreamInstanced(GLenum eMode, GLuint uId, GLuint uStream, GLsizei nInstancecount)
3008 {
3009  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glDrawTransformFeedbackStreamInstancedStr);
3010  YI_ASSERT(CYIGL::CurrentAPI.glDrawTransformFeedbackStreamInstancedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glDrawTransformFeedbackStreamInstancedStr, CYIGL::GL_VERSION_4_2_STR);
3011  CYIGL::CurrentAPI.glDrawTransformFeedbackStreamInstancedProc(eMode, uId, uStream, nInstancecount);
3012 }
3013 #define glDrawTransformFeedbackStreamInstanced YiGLDrawTransformFeedbackStreamInstanced
3014 
3021 inline void YiGLEnable(GLenum eCap)
3022 {
3023  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glEnableStr);
3024  YI_ASSERT(CYIGL::CurrentAPI.glEnableProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glEnableStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
3025  CYIGL::CurrentAPI.glEnableProc(eCap);
3026 }
3027 #define glEnable YiGLEnable
3028 
3034 inline void YiGLEnableVertexArrayAttrib(GLuint uVaobj, GLuint uIndex)
3035 {
3036  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glEnableVertexArrayAttribStr);
3037  YI_ASSERT(CYIGL::CurrentAPI.glEnableVertexArrayAttribProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glEnableVertexArrayAttribStr, CYIGL::GL_VERSION_4_5_STR);
3038  CYIGL::CurrentAPI.glEnableVertexArrayAttribProc(uVaobj, uIndex);
3039 }
3040 #define glEnableVertexArrayAttrib YiGLEnableVertexArrayAttrib
3041 
3048 inline void YiGLEnableVertexAttribArray(GLuint uIndex)
3049 {
3050  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glEnableVertexAttribArrayStr);
3051  YI_ASSERT(CYIGL::CurrentAPI.glEnableVertexAttribArrayProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glEnableVertexAttribArrayStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
3052  CYIGL::CurrentAPI.glEnableVertexAttribArrayProc(uIndex);
3053 }
3054 #define glEnableVertexAttribArray YiGLEnableVertexAttribArray
3055 
3062 inline void YiGLEnablei(GLenum eTarget, GLuint uIndex)
3063 {
3064  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glEnableiStr);
3065  YI_ASSERT(CYIGL::CurrentAPI.glEnableiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glEnableiStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_0_STR);
3066  CYIGL::CurrentAPI.glEnableiProc(eTarget, uIndex);
3067 }
3068 #define glEnablei YiGLEnablei
3069 
3075 inline void YiGLEndConditionalRender(void)
3076 {
3077  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glEndConditionalRenderStr);
3078  YI_ASSERT(CYIGL::CurrentAPI.glEndConditionalRenderProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glEndConditionalRenderStr, CYIGL::GL_VERSION_3_0_STR);
3079  CYIGL::CurrentAPI.glEndConditionalRenderProc();
3080 }
3081 #define glEndConditionalRender YiGLEndConditionalRender
3082 
3089 inline void YiGLEndQuery(GLenum eTarget)
3090 {
3091  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glEndQueryStr);
3092  YI_ASSERT(CYIGL::CurrentAPI.glEndQueryProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glEndQueryStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
3093  CYIGL::CurrentAPI.glEndQueryProc(eTarget);
3094 }
3095 #define glEndQuery YiGLEndQuery
3096 
3102 inline void YiGLEndQueryIndexed(GLenum eTarget, GLuint uIndex)
3103 {
3104  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glEndQueryIndexedStr);
3105  YI_ASSERT(CYIGL::CurrentAPI.glEndQueryIndexedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glEndQueryIndexedStr, CYIGL::GL_VERSION_4_0_STR);
3106  CYIGL::CurrentAPI.glEndQueryIndexedProc(eTarget, uIndex);
3107 }
3108 #define glEndQueryIndexed YiGLEndQueryIndexed
3109 
3116 inline void YiGLEndTransformFeedback(void)
3117 {
3118  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glEndTransformFeedbackStr);
3119  YI_ASSERT(CYIGL::CurrentAPI.glEndTransformFeedbackProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glEndTransformFeedbackStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
3120  CYIGL::CurrentAPI.glEndTransformFeedbackProc();
3121 }
3122 #define glEndTransformFeedback YiGLEndTransformFeedback
3123 
3130 inline GLsync YiGLFenceSync(GLenum eCondition, GLbitfield uFlags)
3131 {
3132  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFenceSyncStr);
3133  YI_ASSERT(CYIGL::CurrentAPI.glFenceSyncProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFenceSyncStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
3134  return CYIGL::CurrentAPI.glFenceSyncProc(eCondition, uFlags);
3135 }
3136 #define glFenceSync YiGLFenceSync
3137 
3144 inline void YiGLFinish(void)
3145 {
3146  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFinishStr);
3147  YI_ASSERT(CYIGL::CurrentAPI.glFinishProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFinishStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
3148  CYIGL::CurrentAPI.glFinishProc();
3149 }
3150 #define glFinish YiGLFinish
3151 
3158 inline void YiGLFlush(void)
3159 {
3160  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFlushStr);
3161  YI_ASSERT(CYIGL::CurrentAPI.glFlushProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFlushStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
3162  CYIGL::CurrentAPI.glFlushProc();
3163 }
3164 #define glFlush YiGLFlush
3165 
3172 inline void YiGLFlushMappedBufferRange(GLenum eTarget, GLintptr pOffset, GLsizeiptr pLength)
3173 {
3174  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFlushMappedBufferRangeStr);
3175  YI_ASSERT(CYIGL::CurrentAPI.glFlushMappedBufferRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFlushMappedBufferRangeStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
3176  CYIGL::CurrentAPI.glFlushMappedBufferRangeProc(eTarget, pOffset, pLength);
3177 }
3178 #define glFlushMappedBufferRange YiGLFlushMappedBufferRange
3179 
3185 inline void YiGLFlushMappedNamedBufferRange(GLuint uBuffer, GLintptr pOffset, GLsizeiptr pLength)
3186 {
3187  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFlushMappedNamedBufferRangeStr);
3188  YI_ASSERT(CYIGL::CurrentAPI.glFlushMappedNamedBufferRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glFlushMappedNamedBufferRangeStr, CYIGL::GL_VERSION_4_5_STR);
3189  CYIGL::CurrentAPI.glFlushMappedNamedBufferRangeProc(uBuffer, pOffset, pLength);
3190 }
3191 #define glFlushMappedNamedBufferRange YiGLFlushMappedNamedBufferRange
3192 
3198 inline void YiGLFogCoordPointer(GLenum eType, GLsizei nStride, const void *pPointer)
3199 {
3200  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFogCoordPointerStr);
3201  YI_ASSERT(CYIGL::CurrentAPI.glFogCoordPointerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glFogCoordPointerStr, CYIGL::GL_VERSION_1_4_STR);
3202  CYIGL::CurrentAPI.glFogCoordPointerProc(eType, nStride, pPointer);
3203 }
3204 #define glFogCoordPointer YiGLFogCoordPointer
3205 
3211 inline void YiGLFogCoordd(GLdouble fCoord)
3212 {
3213  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFogCoorddStr);
3214  YI_ASSERT(CYIGL::CurrentAPI.glFogCoorddProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glFogCoorddStr, CYIGL::GL_VERSION_1_4_STR);
3215  CYIGL::CurrentAPI.glFogCoorddProc(fCoord);
3216 }
3217 #define glFogCoordd YiGLFogCoordd
3218 
3224 inline void YiGLFogCoorddv(const GLdouble *pfCoord)
3225 {
3226  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFogCoorddvStr);
3227  YI_ASSERT(CYIGL::CurrentAPI.glFogCoorddvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glFogCoorddvStr, CYIGL::GL_VERSION_1_4_STR);
3228  CYIGL::CurrentAPI.glFogCoorddvProc(pfCoord);
3229 }
3230 #define glFogCoorddv YiGLFogCoorddv
3231 
3237 inline void YiGLFogCoordf(GLfloat fCoord)
3238 {
3239  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFogCoordfStr);
3240  YI_ASSERT(CYIGL::CurrentAPI.glFogCoordfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glFogCoordfStr, CYIGL::GL_VERSION_1_4_STR);
3241  CYIGL::CurrentAPI.glFogCoordfProc(fCoord);
3242 }
3243 #define glFogCoordf YiGLFogCoordf
3244 
3250 inline void YiGLFogCoordfv(const GLfloat *pfCoord)
3251 {
3252  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFogCoordfvStr);
3253  YI_ASSERT(CYIGL::CurrentAPI.glFogCoordfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glFogCoordfvStr, CYIGL::GL_VERSION_1_4_STR);
3254  CYIGL::CurrentAPI.glFogCoordfvProc(pfCoord);
3255 }
3256 #define glFogCoordfv YiGLFogCoordfv
3257 
3264 inline void YiGLFramebufferParameteri(GLenum eTarget, GLenum ePname, GLint nParam)
3265 {
3266  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFramebufferParameteriStr);
3267  YI_ASSERT(CYIGL::CurrentAPI.glFramebufferParameteriProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFramebufferParameteriStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
3268  CYIGL::CurrentAPI.glFramebufferParameteriProc(eTarget, ePname, nParam);
3269 }
3270 #define glFramebufferParameteri YiGLFramebufferParameteri
3271 
3278 inline void YiGLFramebufferRenderbuffer(GLenum eTarget, GLenum eAttachment, GLenum eRenderbuffertarget, GLuint uRenderbuffer)
3279 {
3280  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFramebufferRenderbufferStr);
3281  YI_ASSERT(CYIGL::CurrentAPI.glFramebufferRenderbufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFramebufferRenderbufferStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
3282  CYIGL::CurrentAPI.glFramebufferRenderbufferProc(eTarget, eAttachment, eRenderbuffertarget, uRenderbuffer);
3283 }
3284 #define glFramebufferRenderbuffer YiGLFramebufferRenderbuffer
3285 
3292 inline void YiGLFramebufferTexture(GLenum eTarget, GLenum eAttachment, GLuint uTexture, GLint nLevel)
3293 {
3294  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFramebufferTextureStr);
3295  YI_ASSERT(CYIGL::CurrentAPI.glFramebufferTextureProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFramebufferTextureStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_2_STR);
3296  CYIGL::CurrentAPI.glFramebufferTextureProc(eTarget, eAttachment, uTexture, nLevel);
3297 }
3298 #define glFramebufferTexture YiGLFramebufferTexture
3299 
3305 inline void YiGLFramebufferTexture1D(GLenum eTarget, GLenum eAttachment, GLenum eTextarget, GLuint uTexture, GLint nLevel)
3306 {
3307  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFramebufferTexture1DStr);
3308  YI_ASSERT(CYIGL::CurrentAPI.glFramebufferTexture1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glFramebufferTexture1DStr, CYIGL::GL_VERSION_3_0_STR);
3309  CYIGL::CurrentAPI.glFramebufferTexture1DProc(eTarget, eAttachment, eTextarget, uTexture, nLevel);
3310 }
3311 #define glFramebufferTexture1D YiGLFramebufferTexture1D
3312 
3319 inline void YiGLFramebufferTexture2D(GLenum eTarget, GLenum eAttachment, GLenum eTextarget, GLuint uTexture, GLint nLevel)
3320 {
3321  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFramebufferTexture2DStr);
3322  YI_ASSERT(CYIGL::CurrentAPI.glFramebufferTexture2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFramebufferTexture2DStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
3323  CYIGL::CurrentAPI.glFramebufferTexture2DProc(eTarget, eAttachment, eTextarget, uTexture, nLevel);
3324 }
3325 #define glFramebufferTexture2D YiGLFramebufferTexture2D
3326 
3332 inline void YiGLFramebufferTexture3D(GLenum eTarget, GLenum eAttachment, GLenum eTextarget, GLuint uTexture, GLint nLevel, GLint nZoffset)
3333 {
3334  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFramebufferTexture3DStr);
3335  YI_ASSERT(CYIGL::CurrentAPI.glFramebufferTexture3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glFramebufferTexture3DStr, CYIGL::GL_VERSION_3_0_STR);
3336  CYIGL::CurrentAPI.glFramebufferTexture3DProc(eTarget, eAttachment, eTextarget, uTexture, nLevel, nZoffset);
3337 }
3338 #define glFramebufferTexture3D YiGLFramebufferTexture3D
3339 
3346 inline void YiGLFramebufferTextureLayer(GLenum eTarget, GLenum eAttachment, GLuint uTexture, GLint nLevel, GLint nLayer)
3347 {
3348  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFramebufferTextureLayerStr);
3349  YI_ASSERT(CYIGL::CurrentAPI.glFramebufferTextureLayerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFramebufferTextureLayerStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
3350  CYIGL::CurrentAPI.glFramebufferTextureLayerProc(eTarget, eAttachment, uTexture, nLevel, nLayer);
3351 }
3352 #define glFramebufferTextureLayer YiGLFramebufferTextureLayer
3353 
3360 inline void YiGLFrontFace(GLenum eMode)
3361 {
3362  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glFrontFaceStr);
3363  YI_ASSERT(CYIGL::CurrentAPI.glFrontFaceProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glFrontFaceStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
3364  CYIGL::CurrentAPI.glFrontFaceProc(eMode);
3365 }
3366 #define glFrontFace YiGLFrontFace
3367 
3374 inline void YiGLGenBuffers(GLsizei nN, GLuint *puBuffers)
3375 {
3376  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenBuffersStr);
3377  YI_ASSERT(CYIGL::CurrentAPI.glGenBuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenBuffersStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_5_STR);
3378  CYIGL::CurrentAPI.glGenBuffersProc(nN, puBuffers);
3379 }
3380 #define glGenBuffers YiGLGenBuffers
3381 
3388 inline void YiGLGenFramebuffers(GLsizei nN, GLuint *puFramebuffers)
3389 {
3390  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenFramebuffersStr);
3391  YI_ASSERT(CYIGL::CurrentAPI.glGenFramebuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenFramebuffersStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
3392  CYIGL::CurrentAPI.glGenFramebuffersProc(nN, puFramebuffers);
3393 }
3394 #define glGenFramebuffers YiGLGenFramebuffers
3395 
3402 inline void YiGLGenProgramPipelines(GLsizei nN, GLuint *puPipelines)
3403 {
3404  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenProgramPipelinesStr);
3405  YI_ASSERT(CYIGL::CurrentAPI.glGenProgramPipelinesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenProgramPipelinesStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
3406  CYIGL::CurrentAPI.glGenProgramPipelinesProc(nN, puPipelines);
3407 }
3408 #define glGenProgramPipelines YiGLGenProgramPipelines
3409 
3416 inline void YiGLGenQueries(GLsizei nN, GLuint *puIds)
3417 {
3418  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenQueriesStr);
3419  YI_ASSERT(CYIGL::CurrentAPI.glGenQueriesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenQueriesStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
3420  CYIGL::CurrentAPI.glGenQueriesProc(nN, puIds);
3421 }
3422 #define glGenQueries YiGLGenQueries
3423 
3430 inline void YiGLGenRenderbuffers(GLsizei nN, GLuint *puRenderbuffers)
3431 {
3432  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenRenderbuffersStr);
3433  YI_ASSERT(CYIGL::CurrentAPI.glGenRenderbuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenRenderbuffersStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
3434  CYIGL::CurrentAPI.glGenRenderbuffersProc(nN, puRenderbuffers);
3435 }
3436 #define glGenRenderbuffers YiGLGenRenderbuffers
3437 
3444 inline void YiGLGenSamplers(GLsizei nCount, GLuint *puSamplers)
3445 {
3446  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenSamplersStr);
3447  YI_ASSERT(CYIGL::CurrentAPI.glGenSamplersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenSamplersStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
3448  CYIGL::CurrentAPI.glGenSamplersProc(nCount, puSamplers);
3449 }
3450 #define glGenSamplers YiGLGenSamplers
3451 
3458 inline void YiGLGenTextures(GLsizei nN, GLuint *puTextures)
3459 {
3460  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenTexturesStr);
3461  YI_ASSERT(CYIGL::CurrentAPI.glGenTexturesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenTexturesStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
3462  CYIGL::CurrentAPI.glGenTexturesProc(nN, puTextures);
3463 }
3464 #define glGenTextures YiGLGenTextures
3465 
3472 inline void YiGLGenTransformFeedbacks(GLsizei nN, GLuint *puIds)
3473 {
3474  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenTransformFeedbacksStr);
3475  YI_ASSERT(CYIGL::CurrentAPI.glGenTransformFeedbacksProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenTransformFeedbacksStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_0_STR);
3476  CYIGL::CurrentAPI.glGenTransformFeedbacksProc(nN, puIds);
3477 }
3478 #define glGenTransformFeedbacks YiGLGenTransformFeedbacks
3479 
3486 inline void YiGLGenVertexArrays(GLsizei nN, GLuint *puArrays)
3487 {
3488  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenVertexArraysStr);
3489  YI_ASSERT(CYIGL::CurrentAPI.glGenVertexArraysProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenVertexArraysStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
3490  CYIGL::CurrentAPI.glGenVertexArraysProc(nN, puArrays);
3491 }
3492 #define glGenVertexArrays YiGLGenVertexArrays
3493 
3500 inline void YiGLGenerateMipmap(GLenum eTarget)
3501 {
3502  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenerateMipmapStr);
3503  YI_ASSERT(CYIGL::CurrentAPI.glGenerateMipmapProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGenerateMipmapStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
3504  CYIGL::CurrentAPI.glGenerateMipmapProc(eTarget);
3505 }
3506 #define glGenerateMipmap YiGLGenerateMipmap
3507 
3513 inline void YiGLGenerateTextureMipmap(GLuint uTexture)
3514 {
3515  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGenerateTextureMipmapStr);
3516  YI_ASSERT(CYIGL::CurrentAPI.glGenerateTextureMipmapProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGenerateTextureMipmapStr, CYIGL::GL_VERSION_4_5_STR);
3517  CYIGL::CurrentAPI.glGenerateTextureMipmapProc(uTexture);
3518 }
3519 #define glGenerateTextureMipmap YiGLGenerateTextureMipmap
3520 
3526 inline void YiGLGetActiveAtomicCounterBufferiv(GLuint uProgram, GLuint uBufferIndex, GLenum ePname, GLint *pnParams)
3527 {
3528  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveAtomicCounterBufferivStr);
3529  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveAtomicCounterBufferivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetActiveAtomicCounterBufferivStr, CYIGL::GL_VERSION_4_2_STR);
3530  CYIGL::CurrentAPI.glGetActiveAtomicCounterBufferivProc(uProgram, uBufferIndex, ePname, pnParams);
3531 }
3532 #define glGetActiveAtomicCounterBufferiv YiGLGetActiveAtomicCounterBufferiv
3533 
3540 inline void YiGLGetActiveAttrib(GLuint uProgram, GLuint uIndex, GLsizei nBufSize, GLsizei *pnLength, GLint *pnSize, GLenum *peType, GLchar *pName)
3541 {
3542  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveAttribStr);
3543  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveAttribProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetActiveAttribStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
3544  CYIGL::CurrentAPI.glGetActiveAttribProc(uProgram, uIndex, nBufSize, pnLength, pnSize, peType, pName);
3545 }
3546 #define glGetActiveAttrib YiGLGetActiveAttrib
3547 
3553 inline void YiGLGetActiveSubroutineName(GLuint uProgram, GLenum eShadertype, GLuint uIndex, GLsizei nBufsize, GLsizei *pnLength, GLchar *pName)
3554 {
3555  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveSubroutineNameStr);
3556  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveSubroutineNameProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetActiveSubroutineNameStr, CYIGL::GL_VERSION_4_0_STR);
3557  CYIGL::CurrentAPI.glGetActiveSubroutineNameProc(uProgram, eShadertype, uIndex, nBufsize, pnLength, pName);
3558 }
3559 #define glGetActiveSubroutineName YiGLGetActiveSubroutineName
3560 
3566 inline void YiGLGetActiveSubroutineUniformName(GLuint uProgram, GLenum eShadertype, GLuint uIndex, GLsizei nBufsize, GLsizei *pnLength, GLchar *pName)
3567 {
3568  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveSubroutineUniformNameStr);
3569  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveSubroutineUniformNameProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetActiveSubroutineUniformNameStr, CYIGL::GL_VERSION_4_0_STR);
3570  CYIGL::CurrentAPI.glGetActiveSubroutineUniformNameProc(uProgram, eShadertype, uIndex, nBufsize, pnLength, pName);
3571 }
3572 #define glGetActiveSubroutineUniformName YiGLGetActiveSubroutineUniformName
3573 
3579 inline void YiGLGetActiveSubroutineUniformiv(GLuint uProgram, GLenum eShadertype, GLuint uIndex, GLenum ePname, GLint *pnValues)
3580 {
3581  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveSubroutineUniformivStr);
3582  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveSubroutineUniformivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetActiveSubroutineUniformivStr, CYIGL::GL_VERSION_4_0_STR);
3583  CYIGL::CurrentAPI.glGetActiveSubroutineUniformivProc(uProgram, eShadertype, uIndex, ePname, pnValues);
3584 }
3585 #define glGetActiveSubroutineUniformiv YiGLGetActiveSubroutineUniformiv
3586 
3593 inline void YiGLGetActiveUniform(GLuint uProgram, GLuint uIndex, GLsizei nBufSize, GLsizei *pnLength, GLint *pnSize, GLenum *peType, GLchar *pName)
3594 {
3595  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveUniformStr);
3596  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveUniformProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetActiveUniformStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
3597  CYIGL::CurrentAPI.glGetActiveUniformProc(uProgram, uIndex, nBufSize, pnLength, pnSize, peType, pName);
3598 }
3599 #define glGetActiveUniform YiGLGetActiveUniform
3600 
3607 inline void YiGLGetActiveUniformBlockName(GLuint uProgram, GLuint uUniformBlockIndex, GLsizei nBufSize, GLsizei *pnLength, GLchar *pUniformBlockName)
3608 {
3609  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveUniformBlockNameStr);
3610  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveUniformBlockNameProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetActiveUniformBlockNameStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
3611  CYIGL::CurrentAPI.glGetActiveUniformBlockNameProc(uProgram, uUniformBlockIndex, nBufSize, pnLength, pUniformBlockName);
3612 }
3613 #define glGetActiveUniformBlockName YiGLGetActiveUniformBlockName
3614 
3621 inline void YiGLGetActiveUniformBlockiv(GLuint uProgram, GLuint uUniformBlockIndex, GLenum ePname, GLint *pnParams)
3622 {
3623  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveUniformBlockivStr);
3624  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveUniformBlockivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetActiveUniformBlockivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
3625  CYIGL::CurrentAPI.glGetActiveUniformBlockivProc(uProgram, uUniformBlockIndex, ePname, pnParams);
3626 }
3627 #define glGetActiveUniformBlockiv YiGLGetActiveUniformBlockiv
3628 
3634 inline void YiGLGetActiveUniformName(GLuint uProgram, GLuint uUniformIndex, GLsizei nBufSize, GLsizei *pnLength, GLchar *pUniformName)
3635 {
3636  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveUniformNameStr);
3637  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveUniformNameProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetActiveUniformNameStr, CYIGL::GL_VERSION_3_1_STR);
3638  CYIGL::CurrentAPI.glGetActiveUniformNameProc(uProgram, uUniformIndex, nBufSize, pnLength, pUniformName);
3639 }
3640 #define glGetActiveUniformName YiGLGetActiveUniformName
3641 
3648 inline void YiGLGetActiveUniformsiv(GLuint uProgram, GLsizei nUniformCount, const GLuint *puUniformIndices, GLenum ePname, GLint *pnParams)
3649 {
3650  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetActiveUniformsivStr);
3651  YI_ASSERT(CYIGL::CurrentAPI.glGetActiveUniformsivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetActiveUniformsivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
3652  CYIGL::CurrentAPI.glGetActiveUniformsivProc(uProgram, nUniformCount, puUniformIndices, ePname, pnParams);
3653 }
3654 #define glGetActiveUniformsiv YiGLGetActiveUniformsiv
3655 
3662 inline void YiGLGetAttachedShaders(GLuint uProgram, GLsizei nMaxCount, GLsizei *pnCount, GLuint *puShaders)
3663 {
3664  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetAttachedShadersStr);
3665  YI_ASSERT(CYIGL::CurrentAPI.glGetAttachedShadersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetAttachedShadersStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
3666  CYIGL::CurrentAPI.glGetAttachedShadersProc(uProgram, nMaxCount, pnCount, puShaders);
3667 }
3668 #define glGetAttachedShaders YiGLGetAttachedShaders
3669 
3676 inline GLint YiGLGetAttribLocation(GLuint uProgram, const GLchar *pName)
3677 {
3678  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetAttribLocationStr);
3679  YI_ASSERT(CYIGL::CurrentAPI.glGetAttribLocationProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetAttribLocationStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
3680  return CYIGL::CurrentAPI.glGetAttribLocationProc(uProgram, pName);
3681 }
3682 #define glGetAttribLocation YiGLGetAttribLocation
3683 
3690 inline void YiGLGetBooleani_v(GLenum eTarget, GLuint uIndex, GLboolean *pbData)
3691 {
3692  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetBooleani_vStr);
3693  YI_ASSERT(CYIGL::CurrentAPI.glGetBooleani_vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetBooleani_vStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_3_0_STR);
3694  CYIGL::CurrentAPI.glGetBooleani_vProc(eTarget, uIndex, pbData);
3695 }
3696 #define glGetBooleani_v YiGLGetBooleani_v
3697 
3704 inline void YiGLGetBooleanv(GLenum ePname, GLboolean *pbData)
3705 {
3706  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetBooleanvStr);
3707  YI_ASSERT(CYIGL::CurrentAPI.glGetBooleanvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetBooleanvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
3708  CYIGL::CurrentAPI.glGetBooleanvProc(ePname, pbData);
3709 }
3710 #define glGetBooleanv YiGLGetBooleanv
3711 
3718 inline void YiGLGetBufferParameteri64v(GLenum eTarget, GLenum ePname, GLint64 *pnParams)
3719 {
3720  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetBufferParameteri64vStr);
3721  YI_ASSERT(CYIGL::CurrentAPI.glGetBufferParameteri64vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetBufferParameteri64vStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
3722  CYIGL::CurrentAPI.glGetBufferParameteri64vProc(eTarget, ePname, pnParams);
3723 }
3724 #define glGetBufferParameteri64v YiGLGetBufferParameteri64v
3725 
3732 inline void YiGLGetBufferParameteriv(GLenum eTarget, GLenum ePname, GLint *pnParams)
3733 {
3734  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetBufferParameterivStr);
3735  YI_ASSERT(CYIGL::CurrentAPI.glGetBufferParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetBufferParameterivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_5_STR);
3736  CYIGL::CurrentAPI.glGetBufferParameterivProc(eTarget, ePname, pnParams);
3737 }
3738 #define glGetBufferParameteriv YiGLGetBufferParameteriv
3739 
3746 inline void YiGLGetBufferPointerv(GLenum eTarget, GLenum ePname, void **ppParams)
3747 {
3748  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetBufferPointervStr);
3749  YI_ASSERT(CYIGL::CurrentAPI.glGetBufferPointervProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetBufferPointervStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
3750  CYIGL::CurrentAPI.glGetBufferPointervProc(eTarget, ePname, ppParams);
3751 }
3752 #define glGetBufferPointerv YiGLGetBufferPointerv
3753 
3759 inline void YiGLGetBufferSubData(GLenum eTarget, GLintptr pOffset, GLsizeiptr pSize, void *pData)
3760 {
3761  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetBufferSubDataStr);
3762  YI_ASSERT(CYIGL::CurrentAPI.glGetBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetBufferSubDataStr, CYIGL::GL_VERSION_1_5_STR);
3763  CYIGL::CurrentAPI.glGetBufferSubDataProc(eTarget, pOffset, pSize, pData);
3764 }
3765 #define glGetBufferSubData YiGLGetBufferSubData
3766 
3772 inline void YiGLGetCompressedTexImage(GLenum eTarget, GLint nLevel, void *pImg)
3773 {
3774  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetCompressedTexImageStr);
3775  YI_ASSERT(CYIGL::CurrentAPI.glGetCompressedTexImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetCompressedTexImageStr, CYIGL::GL_VERSION_1_3_STR);
3776  CYIGL::CurrentAPI.glGetCompressedTexImageProc(eTarget, nLevel, pImg);
3777 }
3778 #define glGetCompressedTexImage YiGLGetCompressedTexImage
3779 
3785 inline void YiGLGetCompressedTextureImage(GLuint uTexture, GLint nLevel, GLsizei nBufSize, void *pPixels)
3786 {
3787  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetCompressedTextureImageStr);
3788  YI_ASSERT(CYIGL::CurrentAPI.glGetCompressedTextureImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetCompressedTextureImageStr, CYIGL::GL_VERSION_4_5_STR);
3789  CYIGL::CurrentAPI.glGetCompressedTextureImageProc(uTexture, nLevel, nBufSize, pPixels);
3790 }
3791 #define glGetCompressedTextureImage YiGLGetCompressedTextureImage
3792 
3798 inline void YiGLGetCompressedTextureSubImage(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLsizei nBufSize, void *pPixels)
3799 {
3800  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetCompressedTextureSubImageStr);
3801  YI_ASSERT(CYIGL::CurrentAPI.glGetCompressedTextureSubImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetCompressedTextureSubImageStr, CYIGL::GL_VERSION_4_5_STR);
3802  CYIGL::CurrentAPI.glGetCompressedTextureSubImageProc(uTexture, nLevel, nXoffset, nYoffset, nZoffset, nWidth, nHeight, nDepth, nBufSize, pPixels);
3803 }
3804 #define glGetCompressedTextureSubImage YiGLGetCompressedTextureSubImage
3805 
3812 inline GLuint YiGLGetDebugMessageLog(GLuint uCount, GLsizei nBufSize, GLenum *peSources, GLenum *peTypes, GLuint *puIds, GLenum *peSeverities, GLsizei *pnLengths, GLchar *pMessageLog)
3813 {
3814  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetDebugMessageLogStr);
3815  YI_ASSERT(CYIGL::CurrentAPI.glGetDebugMessageLogProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetDebugMessageLogStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
3816  return CYIGL::CurrentAPI.glGetDebugMessageLogProc(uCount, nBufSize, peSources, peTypes, puIds, peSeverities, pnLengths, pMessageLog);
3817 }
3818 #define glGetDebugMessageLog YiGLGetDebugMessageLog
3819 
3825 inline void YiGLGetDoublei_v(GLenum eTarget, GLuint uIndex, GLdouble *pfData)
3826 {
3827  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetDoublei_vStr);
3828  YI_ASSERT(CYIGL::CurrentAPI.glGetDoublei_vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetDoublei_vStr, CYIGL::GL_VERSION_4_1_STR);
3829  CYIGL::CurrentAPI.glGetDoublei_vProc(eTarget, uIndex, pfData);
3830 }
3831 #define glGetDoublei_v YiGLGetDoublei_v
3832 
3838 inline void YiGLGetDoublev(GLenum ePname, GLdouble *pfData)
3839 {
3840  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetDoublevStr);
3841  YI_ASSERT(CYIGL::CurrentAPI.glGetDoublevProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetDoublevStr, CYIGL::GL_VERSION_1_0_STR);
3842  CYIGL::CurrentAPI.glGetDoublevProc(ePname, pfData);
3843 }
3844 #define glGetDoublev YiGLGetDoublev
3845 
3852 inline GLenum YiGLGetError(void)
3853 {
3854  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetErrorStr);
3855  YI_ASSERT(CYIGL::CurrentAPI.glGetErrorProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetErrorStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
3856  return CYIGL::CurrentAPI.glGetErrorProc();
3857 }
3858 #define glGetError YiGLGetError
3859 
3865 inline void YiGLGetFloati_v(GLenum eTarget, GLuint uIndex, GLfloat *pfData)
3866 {
3867  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetFloati_vStr);
3868  YI_ASSERT(CYIGL::CurrentAPI.glGetFloati_vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetFloati_vStr, CYIGL::GL_VERSION_4_1_STR);
3869  CYIGL::CurrentAPI.glGetFloati_vProc(eTarget, uIndex, pfData);
3870 }
3871 #define glGetFloati_v YiGLGetFloati_v
3872 
3879 inline void YiGLGetFloatv(GLenum ePname, GLfloat *pfData)
3880 {
3881  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetFloatvStr);
3882  YI_ASSERT(CYIGL::CurrentAPI.glGetFloatvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetFloatvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
3883  CYIGL::CurrentAPI.glGetFloatvProc(ePname, pfData);
3884 }
3885 #define glGetFloatv YiGLGetFloatv
3886 
3892 inline GLint YiGLGetFragDataIndex(GLuint uProgram, const GLchar *pName)
3893 {
3894  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetFragDataIndexStr);
3895  YI_ASSERT(CYIGL::CurrentAPI.glGetFragDataIndexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetFragDataIndexStr, CYIGL::GL_VERSION_3_3_STR);
3896  return CYIGL::CurrentAPI.glGetFragDataIndexProc(uProgram, pName);
3897 }
3898 #define glGetFragDataIndex YiGLGetFragDataIndex
3899 
3906 inline GLint YiGLGetFragDataLocation(GLuint uProgram, const GLchar *pName)
3907 {
3908  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetFragDataLocationStr);
3909  YI_ASSERT(CYIGL::CurrentAPI.glGetFragDataLocationProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetFragDataLocationStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
3910  return CYIGL::CurrentAPI.glGetFragDataLocationProc(uProgram, pName);
3911 }
3912 #define glGetFragDataLocation YiGLGetFragDataLocation
3913 
3920 inline void YiGLGetFramebufferAttachmentParameteriv(GLenum eTarget, GLenum eAttachment, GLenum ePname, GLint *pnParams)
3921 {
3922  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetFramebufferAttachmentParameterivStr);
3923  YI_ASSERT(CYIGL::CurrentAPI.glGetFramebufferAttachmentParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetFramebufferAttachmentParameterivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
3924  CYIGL::CurrentAPI.glGetFramebufferAttachmentParameterivProc(eTarget, eAttachment, ePname, pnParams);
3925 }
3926 #define glGetFramebufferAttachmentParameteriv YiGLGetFramebufferAttachmentParameteriv
3927 
3934 inline void YiGLGetFramebufferParameteriv(GLenum eTarget, GLenum ePname, GLint *pnParams)
3935 {
3936  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetFramebufferParameterivStr);
3937  YI_ASSERT(CYIGL::CurrentAPI.glGetFramebufferParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetFramebufferParameterivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
3938  CYIGL::CurrentAPI.glGetFramebufferParameterivProc(eTarget, ePname, pnParams);
3939 }
3940 #define glGetFramebufferParameteriv YiGLGetFramebufferParameteriv
3941 
3948 inline GLenum YiGLGetGraphicsResetStatus(void)
3949 {
3950  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetGraphicsResetStatusStr);
3951  YI_ASSERT(CYIGL::CurrentAPI.glGetGraphicsResetStatusProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetGraphicsResetStatusStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_5_STR);
3952  return CYIGL::CurrentAPI.glGetGraphicsResetStatusProc();
3953 }
3954 #define glGetGraphicsResetStatus YiGLGetGraphicsResetStatus
3955 
3962 inline void YiGLGetInteger64i_v(GLenum eTarget, GLuint uIndex, GLint64 *pnData)
3963 {
3964  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetInteger64i_vStr);
3965  YI_ASSERT(CYIGL::CurrentAPI.glGetInteger64i_vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetInteger64i_vStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
3966  CYIGL::CurrentAPI.glGetInteger64i_vProc(eTarget, uIndex, pnData);
3967 }
3968 #define glGetInteger64i_v YiGLGetInteger64i_v
3969 
3976 inline void YiGLGetInteger64v(GLenum ePname, GLint64 *pnData)
3977 {
3978  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetInteger64vStr);
3979  YI_ASSERT(CYIGL::CurrentAPI.glGetInteger64vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetInteger64vStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
3980  CYIGL::CurrentAPI.glGetInteger64vProc(ePname, pnData);
3981 }
3982 #define glGetInteger64v YiGLGetInteger64v
3983 
3990 inline void YiGLGetIntegeri_v(GLenum eTarget, GLuint uIndex, GLint *pnData)
3991 {
3992  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetIntegeri_vStr);
3993  YI_ASSERT(CYIGL::CurrentAPI.glGetIntegeri_vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetIntegeri_vStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
3994  CYIGL::CurrentAPI.glGetIntegeri_vProc(eTarget, uIndex, pnData);
3995 }
3996 #define glGetIntegeri_v YiGLGetIntegeri_v
3997 
4004 inline void YiGLGetIntegerv(GLenum ePname, GLint *pnData)
4005 {
4006  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetIntegervStr);
4007  YI_ASSERT(CYIGL::CurrentAPI.glGetIntegervProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetIntegervStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
4008  CYIGL::CurrentAPI.glGetIntegervProc(ePname, pnData);
4009 }
4010 #define glGetIntegerv YiGLGetIntegerv
4011 
4017 inline void YiGLGetInternalformati64v(GLenum eTarget, GLenum eInternalformat, GLenum ePname, GLsizei nBufSize, GLint64 *pnParams)
4018 {
4019  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetInternalformati64vStr);
4020  YI_ASSERT(CYIGL::CurrentAPI.glGetInternalformati64vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetInternalformati64vStr, CYIGL::GL_VERSION_4_3_STR);
4021  CYIGL::CurrentAPI.glGetInternalformati64vProc(eTarget, eInternalformat, ePname, nBufSize, pnParams);
4022 }
4023 #define glGetInternalformati64v YiGLGetInternalformati64v
4024 
4031 inline void YiGLGetInternalformativ(GLenum eTarget, GLenum eInternalformat, GLenum ePname, GLsizei nBufSize, GLint *pnParams)
4032 {
4033  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetInternalformativStr);
4034  YI_ASSERT(CYIGL::CurrentAPI.glGetInternalformativProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetInternalformativStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_2_STR);
4035  CYIGL::CurrentAPI.glGetInternalformativProc(eTarget, eInternalformat, ePname, nBufSize, pnParams);
4036 }
4037 #define glGetInternalformativ YiGLGetInternalformativ
4038 
4045 inline void YiGLGetMultisamplefv(GLenum ePname, GLuint uIndex, GLfloat *pfVal)
4046 {
4047  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetMultisamplefvStr);
4048  YI_ASSERT(CYIGL::CurrentAPI.glGetMultisamplefvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetMultisamplefvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_3_2_STR);
4049  CYIGL::CurrentAPI.glGetMultisamplefvProc(ePname, uIndex, pfVal);
4050 }
4051 #define glGetMultisamplefv YiGLGetMultisamplefv
4052 
4058 inline void YiGLGetNamedBufferParameteri64v(GLuint uBuffer, GLenum ePname, GLint64 *pnParams)
4059 {
4060  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetNamedBufferParameteri64vStr);
4061  YI_ASSERT(CYIGL::CurrentAPI.glGetNamedBufferParameteri64vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetNamedBufferParameteri64vStr, CYIGL::GL_VERSION_4_5_STR);
4062  CYIGL::CurrentAPI.glGetNamedBufferParameteri64vProc(uBuffer, ePname, pnParams);
4063 }
4064 #define glGetNamedBufferParameteri64v YiGLGetNamedBufferParameteri64v
4065 
4071 inline void YiGLGetNamedBufferParameteriv(GLuint uBuffer, GLenum ePname, GLint *pnParams)
4072 {
4073  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetNamedBufferParameterivStr);
4074  YI_ASSERT(CYIGL::CurrentAPI.glGetNamedBufferParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetNamedBufferParameterivStr, CYIGL::GL_VERSION_4_5_STR);
4075  CYIGL::CurrentAPI.glGetNamedBufferParameterivProc(uBuffer, ePname, pnParams);
4076 }
4077 #define glGetNamedBufferParameteriv YiGLGetNamedBufferParameteriv
4078 
4084 inline void YiGLGetNamedBufferPointerv(GLuint uBuffer, GLenum ePname, void **ppParams)
4085 {
4086  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetNamedBufferPointervStr);
4087  YI_ASSERT(CYIGL::CurrentAPI.glGetNamedBufferPointervProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetNamedBufferPointervStr, CYIGL::GL_VERSION_4_5_STR);
4088  CYIGL::CurrentAPI.glGetNamedBufferPointervProc(uBuffer, ePname, ppParams);
4089 }
4090 #define glGetNamedBufferPointerv YiGLGetNamedBufferPointerv
4091 
4097 inline void YiGLGetNamedBufferSubData(GLuint uBuffer, GLintptr pOffset, GLsizeiptr pSize, void *pData)
4098 {
4099  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetNamedBufferSubDataStr);
4100  YI_ASSERT(CYIGL::CurrentAPI.glGetNamedBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetNamedBufferSubDataStr, CYIGL::GL_VERSION_4_5_STR);
4101  CYIGL::CurrentAPI.glGetNamedBufferSubDataProc(uBuffer, pOffset, pSize, pData);
4102 }
4103 #define glGetNamedBufferSubData YiGLGetNamedBufferSubData
4104 
4110 inline void YiGLGetNamedFramebufferAttachmentParameteriv(GLuint uFramebuffer, GLenum eAttachment, GLenum ePname, GLint *pnParams)
4111 {
4112  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetNamedFramebufferAttachmentParameterivStr);
4113  YI_ASSERT(CYIGL::CurrentAPI.glGetNamedFramebufferAttachmentParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetNamedFramebufferAttachmentParameterivStr, CYIGL::GL_VERSION_4_5_STR);
4114  CYIGL::CurrentAPI.glGetNamedFramebufferAttachmentParameterivProc(uFramebuffer, eAttachment, ePname, pnParams);
4115 }
4116 #define glGetNamedFramebufferAttachmentParameteriv YiGLGetNamedFramebufferAttachmentParameteriv
4117 
4123 inline void YiGLGetNamedFramebufferParameteriv(GLuint uFramebuffer, GLenum ePname, GLint *pnParam)
4124 {
4125  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetNamedFramebufferParameterivStr);
4126  YI_ASSERT(CYIGL::CurrentAPI.glGetNamedFramebufferParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetNamedFramebufferParameterivStr, CYIGL::GL_VERSION_4_5_STR);
4127  CYIGL::CurrentAPI.glGetNamedFramebufferParameterivProc(uFramebuffer, ePname, pnParam);
4128 }
4129 #define glGetNamedFramebufferParameteriv YiGLGetNamedFramebufferParameteriv
4130 
4136 inline void YiGLGetNamedRenderbufferParameteriv(GLuint uRenderbuffer, GLenum ePname, GLint *pnParams)
4137 {
4138  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetNamedRenderbufferParameterivStr);
4139  YI_ASSERT(CYIGL::CurrentAPI.glGetNamedRenderbufferParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetNamedRenderbufferParameterivStr, CYIGL::GL_VERSION_4_5_STR);
4140  CYIGL::CurrentAPI.glGetNamedRenderbufferParameterivProc(uRenderbuffer, ePname, pnParams);
4141 }
4142 #define glGetNamedRenderbufferParameteriv YiGLGetNamedRenderbufferParameteriv
4143 
4150 inline void YiGLGetObjectLabel(GLenum eIdentifier, GLuint uName, GLsizei nBufSize, GLsizei *pnLength, GLchar *pLabel)
4151 {
4152  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetObjectLabelStr);
4153  YI_ASSERT(CYIGL::CurrentAPI.glGetObjectLabelProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetObjectLabelStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
4154  CYIGL::CurrentAPI.glGetObjectLabelProc(eIdentifier, uName, nBufSize, pnLength, pLabel);
4155 }
4156 #define glGetObjectLabel YiGLGetObjectLabel
4157 
4164 inline void YiGLGetObjectPtrLabel(const void *pPtr, GLsizei nBufSize, GLsizei *pnLength, GLchar *pLabel)
4165 {
4166  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetObjectPtrLabelStr);
4167  YI_ASSERT(CYIGL::CurrentAPI.glGetObjectPtrLabelProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetObjectPtrLabelStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
4168  CYIGL::CurrentAPI.glGetObjectPtrLabelProc(pPtr, nBufSize, pnLength, pLabel);
4169 }
4170 #define glGetObjectPtrLabel YiGLGetObjectPtrLabel
4171 
4178 inline void YiGLGetPointerv(GLenum ePname, void **ppParams)
4179 {
4180  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetPointervStr);
4181  YI_ASSERT(CYIGL::CurrentAPI.glGetPointervProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetPointervStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_1_1_STR);
4182  CYIGL::CurrentAPI.glGetPointervProc(ePname, ppParams);
4183 }
4184 #define glGetPointerv YiGLGetPointerv
4185 
4192 inline void YiGLGetProgramBinary(GLuint uProgram, GLsizei nBufSize, GLsizei *pnLength, GLenum *peBinaryFormat, void *pBinary)
4193 {
4194  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramBinaryStr);
4195  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramBinaryProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramBinaryStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_1_STR);
4196  CYIGL::CurrentAPI.glGetProgramBinaryProc(uProgram, nBufSize, pnLength, peBinaryFormat, pBinary);
4197 }
4198 #define glGetProgramBinary YiGLGetProgramBinary
4199 
4206 inline void YiGLGetProgramInfoLog(GLuint uProgram, GLsizei nBufSize, GLsizei *pnLength, GLchar *pInfoLog)
4207 {
4208  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramInfoLogStr);
4209  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramInfoLogProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramInfoLogStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
4210  CYIGL::CurrentAPI.glGetProgramInfoLogProc(uProgram, nBufSize, pnLength, pInfoLog);
4211 }
4212 #define glGetProgramInfoLog YiGLGetProgramInfoLog
4213 
4220 inline void YiGLGetProgramInterfaceiv(GLuint uProgram, GLenum eProgramInterface, GLenum ePname, GLint *pnParams)
4221 {
4222  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramInterfaceivStr);
4223  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramInterfaceivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramInterfaceivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
4224  CYIGL::CurrentAPI.glGetProgramInterfaceivProc(uProgram, eProgramInterface, ePname, pnParams);
4225 }
4226 #define glGetProgramInterfaceiv YiGLGetProgramInterfaceiv
4227 
4234 inline void YiGLGetProgramPipelineInfoLog(GLuint uPipeline, GLsizei nBufSize, GLsizei *pnLength, GLchar *pInfoLog)
4235 {
4236  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramPipelineInfoLogStr);
4237  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramPipelineInfoLogProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramPipelineInfoLogStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
4238  CYIGL::CurrentAPI.glGetProgramPipelineInfoLogProc(uPipeline, nBufSize, pnLength, pInfoLog);
4239 }
4240 #define glGetProgramPipelineInfoLog YiGLGetProgramPipelineInfoLog
4241 
4248 inline void YiGLGetProgramPipelineiv(GLuint uPipeline, GLenum ePname, GLint *pnParams)
4249 {
4250  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramPipelineivStr);
4251  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramPipelineivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramPipelineivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
4252  CYIGL::CurrentAPI.glGetProgramPipelineivProc(uPipeline, ePname, pnParams);
4253 }
4254 #define glGetProgramPipelineiv YiGLGetProgramPipelineiv
4255 
4262 inline GLuint YiGLGetProgramResourceIndex(GLuint uProgram, GLenum eProgramInterface, const GLchar *pName)
4263 {
4264  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramResourceIndexStr);
4265  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramResourceIndexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramResourceIndexStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
4266  return CYIGL::CurrentAPI.glGetProgramResourceIndexProc(uProgram, eProgramInterface, pName);
4267 }
4268 #define glGetProgramResourceIndex YiGLGetProgramResourceIndex
4269 
4276 inline GLint YiGLGetProgramResourceLocation(GLuint uProgram, GLenum eProgramInterface, const GLchar *pName)
4277 {
4278  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramResourceLocationStr);
4279  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramResourceLocationProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramResourceLocationStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
4280  return CYIGL::CurrentAPI.glGetProgramResourceLocationProc(uProgram, eProgramInterface, pName);
4281 }
4282 #define glGetProgramResourceLocation YiGLGetProgramResourceLocation
4283 
4289 inline GLint YiGLGetProgramResourceLocationIndex(GLuint uProgram, GLenum eProgramInterface, const GLchar *pName)
4290 {
4291  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramResourceLocationIndexStr);
4292  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramResourceLocationIndexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetProgramResourceLocationIndexStr, CYIGL::GL_VERSION_4_3_STR);
4293  return CYIGL::CurrentAPI.glGetProgramResourceLocationIndexProc(uProgram, eProgramInterface, pName);
4294 }
4295 #define glGetProgramResourceLocationIndex YiGLGetProgramResourceLocationIndex
4296 
4303 inline void YiGLGetProgramResourceName(GLuint uProgram, GLenum eProgramInterface, GLuint uIndex, GLsizei nBufSize, GLsizei *pnLength, GLchar *pName)
4304 {
4305  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramResourceNameStr);
4306  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramResourceNameProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramResourceNameStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
4307  CYIGL::CurrentAPI.glGetProgramResourceNameProc(uProgram, eProgramInterface, uIndex, nBufSize, pnLength, pName);
4308 }
4309 #define glGetProgramResourceName YiGLGetProgramResourceName
4310 
4317 inline void YiGLGetProgramResourceiv(GLuint uProgram, GLenum eProgramInterface, GLuint uIndex, GLsizei nPropCount, const GLenum *peProps, GLsizei nBufSize, GLsizei *pnLength, GLint *pnParams)
4318 {
4319  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramResourceivStr);
4320  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramResourceivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramResourceivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
4321  CYIGL::CurrentAPI.glGetProgramResourceivProc(uProgram, eProgramInterface, uIndex, nPropCount, peProps, nBufSize, pnLength, pnParams);
4322 }
4323 #define glGetProgramResourceiv YiGLGetProgramResourceiv
4324 
4330 inline void YiGLGetProgramStageiv(GLuint uProgram, GLenum eShadertype, GLenum ePname, GLint *pnValues)
4331 {
4332  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramStageivStr);
4333  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramStageivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetProgramStageivStr, CYIGL::GL_VERSION_4_0_STR);
4334  CYIGL::CurrentAPI.glGetProgramStageivProc(uProgram, eShadertype, ePname, pnValues);
4335 }
4336 #define glGetProgramStageiv YiGLGetProgramStageiv
4337 
4344 inline void YiGLGetProgramiv(GLuint uProgram, GLenum ePname, GLint *pnParams)
4345 {
4346  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetProgramivStr);
4347  YI_ASSERT(CYIGL::CurrentAPI.glGetProgramivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetProgramivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
4348  CYIGL::CurrentAPI.glGetProgramivProc(uProgram, ePname, pnParams);
4349 }
4350 #define glGetProgramiv YiGLGetProgramiv
4351 
4357 inline void YiGLGetQueryBufferObjecti64v(GLuint uId, GLuint uBuffer, GLenum ePname, GLintptr pOffset)
4358 {
4359  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryBufferObjecti64vStr);
4360  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryBufferObjecti64vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetQueryBufferObjecti64vStr, CYIGL::GL_VERSION_4_5_STR);
4361  CYIGL::CurrentAPI.glGetQueryBufferObjecti64vProc(uId, uBuffer, ePname, pOffset);
4362 }
4363 #define glGetQueryBufferObjecti64v YiGLGetQueryBufferObjecti64v
4364 
4370 inline void YiGLGetQueryBufferObjectiv(GLuint uId, GLuint uBuffer, GLenum ePname, GLintptr pOffset)
4371 {
4372  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryBufferObjectivStr);
4373  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryBufferObjectivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetQueryBufferObjectivStr, CYIGL::GL_VERSION_4_5_STR);
4374  CYIGL::CurrentAPI.glGetQueryBufferObjectivProc(uId, uBuffer, ePname, pOffset);
4375 }
4376 #define glGetQueryBufferObjectiv YiGLGetQueryBufferObjectiv
4377 
4383 inline void YiGLGetQueryBufferObjectui64v(GLuint uId, GLuint uBuffer, GLenum ePname, GLintptr pOffset)
4384 {
4385  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryBufferObjectui64vStr);
4386  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryBufferObjectui64vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetQueryBufferObjectui64vStr, CYIGL::GL_VERSION_4_5_STR);
4387  CYIGL::CurrentAPI.glGetQueryBufferObjectui64vProc(uId, uBuffer, ePname, pOffset);
4388 }
4389 #define glGetQueryBufferObjectui64v YiGLGetQueryBufferObjectui64v
4390 
4396 inline void YiGLGetQueryBufferObjectuiv(GLuint uId, GLuint uBuffer, GLenum ePname, GLintptr pOffset)
4397 {
4398  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryBufferObjectuivStr);
4399  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryBufferObjectuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetQueryBufferObjectuivStr, CYIGL::GL_VERSION_4_5_STR);
4400  CYIGL::CurrentAPI.glGetQueryBufferObjectuivProc(uId, uBuffer, ePname, pOffset);
4401 }
4402 #define glGetQueryBufferObjectuiv YiGLGetQueryBufferObjectuiv
4403 
4409 inline void YiGLGetQueryIndexediv(GLenum eTarget, GLuint uIndex, GLenum ePname, GLint *pnParams)
4410 {
4411  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryIndexedivStr);
4412  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryIndexedivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetQueryIndexedivStr, CYIGL::GL_VERSION_4_0_STR);
4413  CYIGL::CurrentAPI.glGetQueryIndexedivProc(eTarget, uIndex, ePname, pnParams);
4414 }
4415 #define glGetQueryIndexediv YiGLGetQueryIndexediv
4416 
4422 inline void YiGLGetQueryObjecti64v(GLuint uId, GLenum ePname, GLint64 *pnParams)
4423 {
4424  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryObjecti64vStr);
4425  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryObjecti64vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetQueryObjecti64vStr, CYIGL::GL_VERSION_3_3_STR);
4426  CYIGL::CurrentAPI.glGetQueryObjecti64vProc(uId, ePname, pnParams);
4427 }
4428 #define glGetQueryObjecti64v YiGLGetQueryObjecti64v
4429 
4435 inline void YiGLGetQueryObjectiv(GLuint uId, GLenum ePname, GLint *pnParams)
4436 {
4437  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryObjectivStr);
4438  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryObjectivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetQueryObjectivStr, CYIGL::GL_VERSION_1_5_STR);
4439  CYIGL::CurrentAPI.glGetQueryObjectivProc(uId, ePname, pnParams);
4440 }
4441 #define glGetQueryObjectiv YiGLGetQueryObjectiv
4442 
4448 inline void YiGLGetQueryObjectui64v(GLuint uId, GLenum ePname, GLuint64 *puParams)
4449 {
4450  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryObjectui64vStr);
4451  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryObjectui64vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetQueryObjectui64vStr, CYIGL::GL_VERSION_3_3_STR);
4452  CYIGL::CurrentAPI.glGetQueryObjectui64vProc(uId, ePname, puParams);
4453 }
4454 #define glGetQueryObjectui64v YiGLGetQueryObjectui64v
4455 
4462 inline void YiGLGetQueryObjectuiv(GLuint uId, GLenum ePname, GLuint *puParams)
4463 {
4464  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryObjectuivStr);
4465  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryObjectuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetQueryObjectuivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
4466  CYIGL::CurrentAPI.glGetQueryObjectuivProc(uId, ePname, puParams);
4467 }
4468 #define glGetQueryObjectuiv YiGLGetQueryObjectuiv
4469 
4476 inline void YiGLGetQueryiv(GLenum eTarget, GLenum ePname, GLint *pnParams)
4477 {
4478  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetQueryivStr);
4479  YI_ASSERT(CYIGL::CurrentAPI.glGetQueryivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetQueryivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
4480  CYIGL::CurrentAPI.glGetQueryivProc(eTarget, ePname, pnParams);
4481 }
4482 #define glGetQueryiv YiGLGetQueryiv
4483 
4490 inline void YiGLGetRenderbufferParameteriv(GLenum eTarget, GLenum ePname, GLint *pnParams)
4491 {
4492  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetRenderbufferParameterivStr);
4493  YI_ASSERT(CYIGL::CurrentAPI.glGetRenderbufferParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetRenderbufferParameterivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
4494  CYIGL::CurrentAPI.glGetRenderbufferParameterivProc(eTarget, ePname, pnParams);
4495 }
4496 #define glGetRenderbufferParameteriv YiGLGetRenderbufferParameteriv
4497 
4504 inline void YiGLGetSamplerParameterIiv(GLuint uSampler, GLenum ePname, GLint *pnParams)
4505 {
4506  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetSamplerParameterIivStr);
4507  YI_ASSERT(CYIGL::CurrentAPI.glGetSamplerParameterIivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetSamplerParameterIivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_3_STR);
4508  CYIGL::CurrentAPI.glGetSamplerParameterIivProc(uSampler, ePname, pnParams);
4509 }
4510 #define glGetSamplerParameterIiv YiGLGetSamplerParameterIiv
4511 
4518 inline void YiGLGetSamplerParameterIuiv(GLuint uSampler, GLenum ePname, GLuint *puParams)
4519 {
4520  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetSamplerParameterIuivStr);
4521  YI_ASSERT(CYIGL::CurrentAPI.glGetSamplerParameterIuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetSamplerParameterIuivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_3_STR);
4522  CYIGL::CurrentAPI.glGetSamplerParameterIuivProc(uSampler, ePname, puParams);
4523 }
4524 #define glGetSamplerParameterIuiv YiGLGetSamplerParameterIuiv
4525 
4532 inline void YiGLGetSamplerParameterfv(GLuint uSampler, GLenum ePname, GLfloat *pfParams)
4533 {
4534  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetSamplerParameterfvStr);
4535  YI_ASSERT(CYIGL::CurrentAPI.glGetSamplerParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetSamplerParameterfvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
4536  CYIGL::CurrentAPI.glGetSamplerParameterfvProc(uSampler, ePname, pfParams);
4537 }
4538 #define glGetSamplerParameterfv YiGLGetSamplerParameterfv
4539 
4546 inline void YiGLGetSamplerParameteriv(GLuint uSampler, GLenum ePname, GLint *pnParams)
4547 {
4548  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetSamplerParameterivStr);
4549  YI_ASSERT(CYIGL::CurrentAPI.glGetSamplerParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetSamplerParameterivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
4550  CYIGL::CurrentAPI.glGetSamplerParameterivProc(uSampler, ePname, pnParams);
4551 }
4552 #define glGetSamplerParameteriv YiGLGetSamplerParameteriv
4553 
4560 inline void YiGLGetShaderInfoLog(GLuint uShader, GLsizei nBufSize, GLsizei *pnLength, GLchar *pInfoLog)
4561 {
4562  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetShaderInfoLogStr);
4563  YI_ASSERT(CYIGL::CurrentAPI.glGetShaderInfoLogProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetShaderInfoLogStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
4564  CYIGL::CurrentAPI.glGetShaderInfoLogProc(uShader, nBufSize, pnLength, pInfoLog);
4565 }
4566 #define glGetShaderInfoLog YiGLGetShaderInfoLog
4567 
4574 inline void YiGLGetShaderPrecisionFormat(GLenum eShadertype, GLenum ePrecisiontype, GLint *pnRange, GLint *pnPrecision)
4575 {
4576  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetShaderPrecisionFormatStr);
4577  YI_ASSERT(CYIGL::CurrentAPI.glGetShaderPrecisionFormatProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetShaderPrecisionFormatStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_4_1_STR);
4578  CYIGL::CurrentAPI.glGetShaderPrecisionFormatProc(eShadertype, ePrecisiontype, pnRange, pnPrecision);
4579 }
4580 #define glGetShaderPrecisionFormat YiGLGetShaderPrecisionFormat
4581 
4588 inline void YiGLGetShaderSource(GLuint uShader, GLsizei nBufSize, GLsizei *pnLength, GLchar *pSource)
4589 {
4590  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetShaderSourceStr);
4591  YI_ASSERT(CYIGL::CurrentAPI.glGetShaderSourceProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetShaderSourceStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
4592  CYIGL::CurrentAPI.glGetShaderSourceProc(uShader, nBufSize, pnLength, pSource);
4593 }
4594 #define glGetShaderSource YiGLGetShaderSource
4595 
4602 inline void YiGLGetShaderiv(GLuint uShader, GLenum ePname, GLint *pnParams)
4603 {
4604  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetShaderivStr);
4605  YI_ASSERT(CYIGL::CurrentAPI.glGetShaderivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetShaderivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
4606  CYIGL::CurrentAPI.glGetShaderivProc(uShader, ePname, pnParams);
4607 }
4608 #define glGetShaderiv YiGLGetShaderiv
4609 
4616 inline const GLubyte *YiGLGetString(GLenum eName)
4617 {
4618  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetStringStr);
4619  YI_ASSERT(CYIGL::CurrentAPI.glGetStringProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetStringStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
4620  return CYIGL::CurrentAPI.glGetStringProc(eName);
4621 }
4622 #define glGetString YiGLGetString
4623 
4630 inline const GLubyte *YiGLGetStringi(GLenum eName, GLuint uIndex)
4631 {
4632  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetStringiStr);
4633  YI_ASSERT(CYIGL::CurrentAPI.glGetStringiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetStringiStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
4634  return CYIGL::CurrentAPI.glGetStringiProc(eName, uIndex);
4635 }
4636 #define glGetStringi YiGLGetStringi
4637 
4643 inline GLuint YiGLGetSubroutineIndex(GLuint uProgram, GLenum eShadertype, const GLchar *pName)
4644 {
4645  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetSubroutineIndexStr);
4646  YI_ASSERT(CYIGL::CurrentAPI.glGetSubroutineIndexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetSubroutineIndexStr, CYIGL::GL_VERSION_4_0_STR);
4647  return CYIGL::CurrentAPI.glGetSubroutineIndexProc(uProgram, eShadertype, pName);
4648 }
4649 #define glGetSubroutineIndex YiGLGetSubroutineIndex
4650 
4656 inline GLint YiGLGetSubroutineUniformLocation(GLuint uProgram, GLenum eShadertype, const GLchar *pName)
4657 {
4658  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetSubroutineUniformLocationStr);
4659  YI_ASSERT(CYIGL::CurrentAPI.glGetSubroutineUniformLocationProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetSubroutineUniformLocationStr, CYIGL::GL_VERSION_4_0_STR);
4660  return CYIGL::CurrentAPI.glGetSubroutineUniformLocationProc(uProgram, eShadertype, pName);
4661 }
4662 #define glGetSubroutineUniformLocation YiGLGetSubroutineUniformLocation
4663 
4670 inline void YiGLGetSynciv(GLsync pSync, GLenum ePname, GLsizei nBufSize, GLsizei *pnLength, GLint *pnValues)
4671 {
4672  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetSyncivStr);
4673  YI_ASSERT(CYIGL::CurrentAPI.glGetSyncivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetSyncivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
4674  CYIGL::CurrentAPI.glGetSyncivProc(pSync, ePname, nBufSize, pnLength, pnValues);
4675 }
4676 #define glGetSynciv YiGLGetSynciv
4677 
4683 inline void YiGLGetTexImage(GLenum eTarget, GLint nLevel, GLenum eFormat, GLenum eType, void *pPixels)
4684 {
4685  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTexImageStr);
4686  YI_ASSERT(CYIGL::CurrentAPI.glGetTexImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTexImageStr, CYIGL::GL_VERSION_1_0_STR);
4687  CYIGL::CurrentAPI.glGetTexImageProc(eTarget, nLevel, eFormat, eType, pPixels);
4688 }
4689 #define glGetTexImage YiGLGetTexImage
4690 
4697 inline void YiGLGetTexLevelParameterfv(GLenum eTarget, GLint nLevel, GLenum ePname, GLfloat *pfParams)
4698 {
4699  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTexLevelParameterfvStr);
4700  YI_ASSERT(CYIGL::CurrentAPI.glGetTexLevelParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetTexLevelParameterfvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_1_0_STR);
4701  CYIGL::CurrentAPI.glGetTexLevelParameterfvProc(eTarget, nLevel, ePname, pfParams);
4702 }
4703 #define glGetTexLevelParameterfv YiGLGetTexLevelParameterfv
4704 
4711 inline void YiGLGetTexLevelParameteriv(GLenum eTarget, GLint nLevel, GLenum ePname, GLint *pnParams)
4712 {
4713  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTexLevelParameterivStr);
4714  YI_ASSERT(CYIGL::CurrentAPI.glGetTexLevelParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetTexLevelParameterivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_1_0_STR);
4715  CYIGL::CurrentAPI.glGetTexLevelParameterivProc(eTarget, nLevel, ePname, pnParams);
4716 }
4717 #define glGetTexLevelParameteriv YiGLGetTexLevelParameteriv
4718 
4725 inline void YiGLGetTexParameterIiv(GLenum eTarget, GLenum ePname, GLint *pnParams)
4726 {
4727  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTexParameterIivStr);
4728  YI_ASSERT(CYIGL::CurrentAPI.glGetTexParameterIivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetTexParameterIivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_0_STR);
4729  CYIGL::CurrentAPI.glGetTexParameterIivProc(eTarget, ePname, pnParams);
4730 }
4731 #define glGetTexParameterIiv YiGLGetTexParameterIiv
4732 
4739 inline void YiGLGetTexParameterIuiv(GLenum eTarget, GLenum ePname, GLuint *puParams)
4740 {
4741  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTexParameterIuivStr);
4742  YI_ASSERT(CYIGL::CurrentAPI.glGetTexParameterIuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetTexParameterIuivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_0_STR);
4743  CYIGL::CurrentAPI.glGetTexParameterIuivProc(eTarget, ePname, puParams);
4744 }
4745 #define glGetTexParameterIuiv YiGLGetTexParameterIuiv
4746 
4753 inline void YiGLGetTexParameterfv(GLenum eTarget, GLenum ePname, GLfloat *pfParams)
4754 {
4755  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTexParameterfvStr);
4756  YI_ASSERT(CYIGL::CurrentAPI.glGetTexParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetTexParameterfvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
4757  CYIGL::CurrentAPI.glGetTexParameterfvProc(eTarget, ePname, pfParams);
4758 }
4759 #define glGetTexParameterfv YiGLGetTexParameterfv
4760 
4767 inline void YiGLGetTexParameteriv(GLenum eTarget, GLenum ePname, GLint *pnParams)
4768 {
4769  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTexParameterivStr);
4770  YI_ASSERT(CYIGL::CurrentAPI.glGetTexParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetTexParameterivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
4771  CYIGL::CurrentAPI.glGetTexParameterivProc(eTarget, ePname, pnParams);
4772 }
4773 #define glGetTexParameteriv YiGLGetTexParameteriv
4774 
4780 inline void YiGLGetTextureImage(GLuint uTexture, GLint nLevel, GLenum eFormat, GLenum eType, GLsizei nBufSize, void *pPixels)
4781 {
4782  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTextureImageStr);
4783  YI_ASSERT(CYIGL::CurrentAPI.glGetTextureImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTextureImageStr, CYIGL::GL_VERSION_4_5_STR);
4784  CYIGL::CurrentAPI.glGetTextureImageProc(uTexture, nLevel, eFormat, eType, nBufSize, pPixels);
4785 }
4786 #define glGetTextureImage YiGLGetTextureImage
4787 
4793 inline void YiGLGetTextureLevelParameterfv(GLuint uTexture, GLint nLevel, GLenum ePname, GLfloat *pfParams)
4794 {
4795  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTextureLevelParameterfvStr);
4796  YI_ASSERT(CYIGL::CurrentAPI.glGetTextureLevelParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTextureLevelParameterfvStr, CYIGL::GL_VERSION_4_5_STR);
4797  CYIGL::CurrentAPI.glGetTextureLevelParameterfvProc(uTexture, nLevel, ePname, pfParams);
4798 }
4799 #define glGetTextureLevelParameterfv YiGLGetTextureLevelParameterfv
4800 
4806 inline void YiGLGetTextureLevelParameteriv(GLuint uTexture, GLint nLevel, GLenum ePname, GLint *pnParams)
4807 {
4808  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTextureLevelParameterivStr);
4809  YI_ASSERT(CYIGL::CurrentAPI.glGetTextureLevelParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTextureLevelParameterivStr, CYIGL::GL_VERSION_4_5_STR);
4810  CYIGL::CurrentAPI.glGetTextureLevelParameterivProc(uTexture, nLevel, ePname, pnParams);
4811 }
4812 #define glGetTextureLevelParameteriv YiGLGetTextureLevelParameteriv
4813 
4819 inline void YiGLGetTextureParameterIiv(GLuint uTexture, GLenum ePname, GLint *pnParams)
4820 {
4821  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTextureParameterIivStr);
4822  YI_ASSERT(CYIGL::CurrentAPI.glGetTextureParameterIivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTextureParameterIivStr, CYIGL::GL_VERSION_4_5_STR);
4823  CYIGL::CurrentAPI.glGetTextureParameterIivProc(uTexture, ePname, pnParams);
4824 }
4825 #define glGetTextureParameterIiv YiGLGetTextureParameterIiv
4826 
4832 inline void YiGLGetTextureParameterIuiv(GLuint uTexture, GLenum ePname, GLuint *puParams)
4833 {
4834  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTextureParameterIuivStr);
4835  YI_ASSERT(CYIGL::CurrentAPI.glGetTextureParameterIuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTextureParameterIuivStr, CYIGL::GL_VERSION_4_5_STR);
4836  CYIGL::CurrentAPI.glGetTextureParameterIuivProc(uTexture, ePname, puParams);
4837 }
4838 #define glGetTextureParameterIuiv YiGLGetTextureParameterIuiv
4839 
4845 inline void YiGLGetTextureParameterfv(GLuint uTexture, GLenum ePname, GLfloat *pfParams)
4846 {
4847  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTextureParameterfvStr);
4848  YI_ASSERT(CYIGL::CurrentAPI.glGetTextureParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTextureParameterfvStr, CYIGL::GL_VERSION_4_5_STR);
4849  CYIGL::CurrentAPI.glGetTextureParameterfvProc(uTexture, ePname, pfParams);
4850 }
4851 #define glGetTextureParameterfv YiGLGetTextureParameterfv
4852 
4858 inline void YiGLGetTextureParameteriv(GLuint uTexture, GLenum ePname, GLint *pnParams)
4859 {
4860  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTextureParameterivStr);
4861  YI_ASSERT(CYIGL::CurrentAPI.glGetTextureParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTextureParameterivStr, CYIGL::GL_VERSION_4_5_STR);
4862  CYIGL::CurrentAPI.glGetTextureParameterivProc(uTexture, ePname, pnParams);
4863 }
4864 #define glGetTextureParameteriv YiGLGetTextureParameteriv
4865 
4871 inline void YiGLGetTextureSubImage(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLenum eFormat, GLenum eType, GLsizei nBufSize, void *pPixels)
4872 {
4873  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTextureSubImageStr);
4874  YI_ASSERT(CYIGL::CurrentAPI.glGetTextureSubImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTextureSubImageStr, CYIGL::GL_VERSION_4_5_STR);
4875  CYIGL::CurrentAPI.glGetTextureSubImageProc(uTexture, nLevel, nXoffset, nYoffset, nZoffset, nWidth, nHeight, nDepth, eFormat, eType, nBufSize, pPixels);
4876 }
4877 #define glGetTextureSubImage YiGLGetTextureSubImage
4878 
4885 inline void YiGLGetTransformFeedbackVarying(GLuint uProgram, GLuint uIndex, GLsizei nBufSize, GLsizei *pnLength, GLsizei *pnSize, GLenum *peType, GLchar *pName)
4886 {
4887  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTransformFeedbackVaryingStr);
4888  YI_ASSERT(CYIGL::CurrentAPI.glGetTransformFeedbackVaryingProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetTransformFeedbackVaryingStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
4889  CYIGL::CurrentAPI.glGetTransformFeedbackVaryingProc(uProgram, uIndex, nBufSize, pnLength, pnSize, peType, pName);
4890 }
4891 #define glGetTransformFeedbackVarying YiGLGetTransformFeedbackVarying
4892 
4898 inline void YiGLGetTransformFeedbacki64_v(GLuint uXfb, GLenum ePname, GLuint uIndex, GLint64 *pnParam)
4899 {
4900  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTransformFeedbacki64_vStr);
4901  YI_ASSERT(CYIGL::CurrentAPI.glGetTransformFeedbacki64_vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTransformFeedbacki64_vStr, CYIGL::GL_VERSION_4_5_STR);
4902  CYIGL::CurrentAPI.glGetTransformFeedbacki64_vProc(uXfb, ePname, uIndex, pnParam);
4903 }
4904 #define glGetTransformFeedbacki64_v YiGLGetTransformFeedbacki64_v
4905 
4911 inline void YiGLGetTransformFeedbacki_v(GLuint uXfb, GLenum ePname, GLuint uIndex, GLint *pnParam)
4912 {
4913  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTransformFeedbacki_vStr);
4914  YI_ASSERT(CYIGL::CurrentAPI.glGetTransformFeedbacki_vProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTransformFeedbacki_vStr, CYIGL::GL_VERSION_4_5_STR);
4915  CYIGL::CurrentAPI.glGetTransformFeedbacki_vProc(uXfb, ePname, uIndex, pnParam);
4916 }
4917 #define glGetTransformFeedbacki_v YiGLGetTransformFeedbacki_v
4918 
4924 inline void YiGLGetTransformFeedbackiv(GLuint uXfb, GLenum ePname, GLint *pnParam)
4925 {
4926  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetTransformFeedbackivStr);
4927  YI_ASSERT(CYIGL::CurrentAPI.glGetTransformFeedbackivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetTransformFeedbackivStr, CYIGL::GL_VERSION_4_5_STR);
4928  CYIGL::CurrentAPI.glGetTransformFeedbackivProc(uXfb, ePname, pnParam);
4929 }
4930 #define glGetTransformFeedbackiv YiGLGetTransformFeedbackiv
4931 
4938 inline GLuint YiGLGetUniformBlockIndex(GLuint uProgram, const GLchar *pUniformBlockName)
4939 {
4940  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetUniformBlockIndexStr);
4941  YI_ASSERT(CYIGL::CurrentAPI.glGetUniformBlockIndexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetUniformBlockIndexStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
4942  return CYIGL::CurrentAPI.glGetUniformBlockIndexProc(uProgram, pUniformBlockName);
4943 }
4944 #define glGetUniformBlockIndex YiGLGetUniformBlockIndex
4945 
4952 inline void YiGLGetUniformIndices(GLuint uProgram, GLsizei nUniformCount, const GLchar *const *ppUniformNames, GLuint *puUniformIndices)
4953 {
4954  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetUniformIndicesStr);
4955  YI_ASSERT(CYIGL::CurrentAPI.glGetUniformIndicesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetUniformIndicesStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
4956  CYIGL::CurrentAPI.glGetUniformIndicesProc(uProgram, nUniformCount, ppUniformNames, puUniformIndices);
4957 }
4958 #define glGetUniformIndices YiGLGetUniformIndices
4959 
4966 inline GLint YiGLGetUniformLocation(GLuint uProgram, const GLchar *pName)
4967 {
4968  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetUniformLocationStr);
4969  YI_ASSERT(CYIGL::CurrentAPI.glGetUniformLocationProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetUniformLocationStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
4970  return CYIGL::CurrentAPI.glGetUniformLocationProc(uProgram, pName);
4971 }
4972 #define glGetUniformLocation YiGLGetUniformLocation
4973 
4979 inline void YiGLGetUniformSubroutineuiv(GLenum eShadertype, GLint nLocation, GLuint *puParams)
4980 {
4981  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetUniformSubroutineuivStr);
4982  YI_ASSERT(CYIGL::CurrentAPI.glGetUniformSubroutineuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetUniformSubroutineuivStr, CYIGL::GL_VERSION_4_0_STR);
4983  CYIGL::CurrentAPI.glGetUniformSubroutineuivProc(eShadertype, nLocation, puParams);
4984 }
4985 #define glGetUniformSubroutineuiv YiGLGetUniformSubroutineuiv
4986 
4992 inline void YiGLGetUniformdv(GLuint uProgram, GLint nLocation, GLdouble *pfParams)
4993 {
4994  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetUniformdvStr);
4995  YI_ASSERT(CYIGL::CurrentAPI.glGetUniformdvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetUniformdvStr, CYIGL::GL_VERSION_4_0_STR);
4996  CYIGL::CurrentAPI.glGetUniformdvProc(uProgram, nLocation, pfParams);
4997 }
4998 #define glGetUniformdv YiGLGetUniformdv
4999 
5006 inline void YiGLGetUniformfv(GLuint uProgram, GLint nLocation, GLfloat *pfParams)
5007 {
5008  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetUniformfvStr);
5009  YI_ASSERT(CYIGL::CurrentAPI.glGetUniformfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetUniformfvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
5010  CYIGL::CurrentAPI.glGetUniformfvProc(uProgram, nLocation, pfParams);
5011 }
5012 #define glGetUniformfv YiGLGetUniformfv
5013 
5020 inline void YiGLGetUniformiv(GLuint uProgram, GLint nLocation, GLint *pnParams)
5021 {
5022  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetUniformivStr);
5023  YI_ASSERT(CYIGL::CurrentAPI.glGetUniformivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetUniformivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
5024  CYIGL::CurrentAPI.glGetUniformivProc(uProgram, nLocation, pnParams);
5025 }
5026 #define glGetUniformiv YiGLGetUniformiv
5027 
5034 inline void YiGLGetUniformuiv(GLuint uProgram, GLint nLocation, GLuint *puParams)
5035 {
5036  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetUniformuivStr);
5037  YI_ASSERT(CYIGL::CurrentAPI.glGetUniformuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetUniformuivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
5038  CYIGL::CurrentAPI.glGetUniformuivProc(uProgram, nLocation, puParams);
5039 }
5040 #define glGetUniformuiv YiGLGetUniformuiv
5041 
5047 inline void YiGLGetVertexArrayIndexed64iv(GLuint uVaobj, GLuint uIndex, GLenum ePname, GLint64 *pnParam)
5048 {
5049  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexArrayIndexed64ivStr);
5050  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexArrayIndexed64ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetVertexArrayIndexed64ivStr, CYIGL::GL_VERSION_4_5_STR);
5051  CYIGL::CurrentAPI.glGetVertexArrayIndexed64ivProc(uVaobj, uIndex, ePname, pnParam);
5052 }
5053 #define glGetVertexArrayIndexed64iv YiGLGetVertexArrayIndexed64iv
5054 
5060 inline void YiGLGetVertexArrayIndexediv(GLuint uVaobj, GLuint uIndex, GLenum ePname, GLint *pnParam)
5061 {
5062  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexArrayIndexedivStr);
5063  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexArrayIndexedivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetVertexArrayIndexedivStr, CYIGL::GL_VERSION_4_5_STR);
5064  CYIGL::CurrentAPI.glGetVertexArrayIndexedivProc(uVaobj, uIndex, ePname, pnParam);
5065 }
5066 #define glGetVertexArrayIndexediv YiGLGetVertexArrayIndexediv
5067 
5073 inline void YiGLGetVertexArrayiv(GLuint uVaobj, GLenum ePname, GLint *pnParam)
5074 {
5075  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexArrayivStr);
5076  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexArrayivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetVertexArrayivStr, CYIGL::GL_VERSION_4_5_STR);
5077  CYIGL::CurrentAPI.glGetVertexArrayivProc(uVaobj, ePname, pnParam);
5078 }
5079 #define glGetVertexArrayiv YiGLGetVertexArrayiv
5080 
5087 inline void YiGLGetVertexAttribIiv(GLuint uIndex, GLenum ePname, GLint *pnParams)
5088 {
5089  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexAttribIivStr);
5090  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexAttribIivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetVertexAttribIivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
5091  CYIGL::CurrentAPI.glGetVertexAttribIivProc(uIndex, ePname, pnParams);
5092 }
5093 #define glGetVertexAttribIiv YiGLGetVertexAttribIiv
5094 
5101 inline void YiGLGetVertexAttribIuiv(GLuint uIndex, GLenum ePname, GLuint *puParams)
5102 {
5103  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexAttribIuivStr);
5104  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexAttribIuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetVertexAttribIuivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
5105  CYIGL::CurrentAPI.glGetVertexAttribIuivProc(uIndex, ePname, puParams);
5106 }
5107 #define glGetVertexAttribIuiv YiGLGetVertexAttribIuiv
5108 
5114 inline void YiGLGetVertexAttribLdv(GLuint uIndex, GLenum ePname, GLdouble *pfParams)
5115 {
5116  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexAttribLdvStr);
5117  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexAttribLdvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetVertexAttribLdvStr, CYIGL::GL_VERSION_4_1_STR);
5118  CYIGL::CurrentAPI.glGetVertexAttribLdvProc(uIndex, ePname, pfParams);
5119 }
5120 #define glGetVertexAttribLdv YiGLGetVertexAttribLdv
5121 
5128 inline void YiGLGetVertexAttribPointerv(GLuint uIndex, GLenum ePname, void **ppPointer)
5129 {
5130  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexAttribPointervStr);
5131  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexAttribPointervProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetVertexAttribPointervStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
5132  CYIGL::CurrentAPI.glGetVertexAttribPointervProc(uIndex, ePname, ppPointer);
5133 }
5134 #define glGetVertexAttribPointerv YiGLGetVertexAttribPointerv
5135 
5141 inline void YiGLGetVertexAttribdv(GLuint uIndex, GLenum ePname, GLdouble *pfParams)
5142 {
5143  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexAttribdvStr);
5144  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexAttribdvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetVertexAttribdvStr, CYIGL::GL_VERSION_2_0_STR);
5145  CYIGL::CurrentAPI.glGetVertexAttribdvProc(uIndex, ePname, pfParams);
5146 }
5147 #define glGetVertexAttribdv YiGLGetVertexAttribdv
5148 
5155 inline void YiGLGetVertexAttribfv(GLuint uIndex, GLenum ePname, GLfloat *pfParams)
5156 {
5157  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexAttribfvStr);
5158  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexAttribfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetVertexAttribfvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
5159  CYIGL::CurrentAPI.glGetVertexAttribfvProc(uIndex, ePname, pfParams);
5160 }
5161 #define glGetVertexAttribfv YiGLGetVertexAttribfv
5162 
5169 inline void YiGLGetVertexAttribiv(GLuint uIndex, GLenum ePname, GLint *pnParams)
5170 {
5171  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetVertexAttribivStr);
5172  YI_ASSERT(CYIGL::CurrentAPI.glGetVertexAttribivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetVertexAttribivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
5173  CYIGL::CurrentAPI.glGetVertexAttribivProc(uIndex, ePname, pnParams);
5174 }
5175 #define glGetVertexAttribiv YiGLGetVertexAttribiv
5176 
5182 inline void YiGLGetnColorTable(GLenum eTarget, GLenum eFormat, GLenum eType, GLsizei nBufSize, void *pTable)
5183 {
5184  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnColorTableStr);
5185  YI_ASSERT(CYIGL::CurrentAPI.glGetnColorTableProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnColorTableStr, CYIGL::GL_VERSION_4_5_STR);
5186  CYIGL::CurrentAPI.glGetnColorTableProc(eTarget, eFormat, eType, nBufSize, pTable);
5187 }
5188 #define glGetnColorTable YiGLGetnColorTable
5189 
5195 inline void YiGLGetnCompressedTexImage(GLenum eTarget, GLint nLod, GLsizei nBufSize, void *pPixels)
5196 {
5197  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnCompressedTexImageStr);
5198  YI_ASSERT(CYIGL::CurrentAPI.glGetnCompressedTexImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnCompressedTexImageStr, CYIGL::GL_VERSION_4_5_STR);
5199  CYIGL::CurrentAPI.glGetnCompressedTexImageProc(eTarget, nLod, nBufSize, pPixels);
5200 }
5201 #define glGetnCompressedTexImage YiGLGetnCompressedTexImage
5202 
5208 inline void YiGLGetnConvolutionFilter(GLenum eTarget, GLenum eFormat, GLenum eType, GLsizei nBufSize, void *pImage)
5209 {
5210  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnConvolutionFilterStr);
5211  YI_ASSERT(CYIGL::CurrentAPI.glGetnConvolutionFilterProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnConvolutionFilterStr, CYIGL::GL_VERSION_4_5_STR);
5212  CYIGL::CurrentAPI.glGetnConvolutionFilterProc(eTarget, eFormat, eType, nBufSize, pImage);
5213 }
5214 #define glGetnConvolutionFilter YiGLGetnConvolutionFilter
5215 
5221 inline void YiGLGetnHistogram(GLenum eTarget, GLboolean bReset, GLenum eFormat, GLenum eType, GLsizei nBufSize, void *pValues)
5222 {
5223  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnHistogramStr);
5224  YI_ASSERT(CYIGL::CurrentAPI.glGetnHistogramProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnHistogramStr, CYIGL::GL_VERSION_4_5_STR);
5225  CYIGL::CurrentAPI.glGetnHistogramProc(eTarget, bReset, eFormat, eType, nBufSize, pValues);
5226 }
5227 #define glGetnHistogram YiGLGetnHistogram
5228 
5234 inline void YiGLGetnMapdv(GLenum eTarget, GLenum eQuery, GLsizei nBufSize, GLdouble *pfV)
5235 {
5236  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnMapdvStr);
5237  YI_ASSERT(CYIGL::CurrentAPI.glGetnMapdvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnMapdvStr, CYIGL::GL_VERSION_4_5_STR);
5238  CYIGL::CurrentAPI.glGetnMapdvProc(eTarget, eQuery, nBufSize, pfV);
5239 }
5240 #define glGetnMapdv YiGLGetnMapdv
5241 
5247 inline void YiGLGetnMapfv(GLenum eTarget, GLenum eQuery, GLsizei nBufSize, GLfloat *pfV)
5248 {
5249  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnMapfvStr);
5250  YI_ASSERT(CYIGL::CurrentAPI.glGetnMapfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnMapfvStr, CYIGL::GL_VERSION_4_5_STR);
5251  CYIGL::CurrentAPI.glGetnMapfvProc(eTarget, eQuery, nBufSize, pfV);
5252 }
5253 #define glGetnMapfv YiGLGetnMapfv
5254 
5260 inline void YiGLGetnMapiv(GLenum eTarget, GLenum eQuery, GLsizei nBufSize, GLint *pnV)
5261 {
5262  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnMapivStr);
5263  YI_ASSERT(CYIGL::CurrentAPI.glGetnMapivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnMapivStr, CYIGL::GL_VERSION_4_5_STR);
5264  CYIGL::CurrentAPI.glGetnMapivProc(eTarget, eQuery, nBufSize, pnV);
5265 }
5266 #define glGetnMapiv YiGLGetnMapiv
5267 
5273 inline void YiGLGetnMinmax(GLenum eTarget, GLboolean bReset, GLenum eFormat, GLenum eType, GLsizei nBufSize, void *pValues)
5274 {
5275  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnMinmaxStr);
5276  YI_ASSERT(CYIGL::CurrentAPI.glGetnMinmaxProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnMinmaxStr, CYIGL::GL_VERSION_4_5_STR);
5277  CYIGL::CurrentAPI.glGetnMinmaxProc(eTarget, bReset, eFormat, eType, nBufSize, pValues);
5278 }
5279 #define glGetnMinmax YiGLGetnMinmax
5280 
5286 inline void YiGLGetnPixelMapfv(GLenum eMap, GLsizei nBufSize, GLfloat *pfValues)
5287 {
5288  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnPixelMapfvStr);
5289  YI_ASSERT(CYIGL::CurrentAPI.glGetnPixelMapfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnPixelMapfvStr, CYIGL::GL_VERSION_4_5_STR);
5290  CYIGL::CurrentAPI.glGetnPixelMapfvProc(eMap, nBufSize, pfValues);
5291 }
5292 #define glGetnPixelMapfv YiGLGetnPixelMapfv
5293 
5299 inline void YiGLGetnPixelMapuiv(GLenum eMap, GLsizei nBufSize, GLuint *puValues)
5300 {
5301  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnPixelMapuivStr);
5302  YI_ASSERT(CYIGL::CurrentAPI.glGetnPixelMapuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnPixelMapuivStr, CYIGL::GL_VERSION_4_5_STR);
5303  CYIGL::CurrentAPI.glGetnPixelMapuivProc(eMap, nBufSize, puValues);
5304 }
5305 #define glGetnPixelMapuiv YiGLGetnPixelMapuiv
5306 
5312 inline void YiGLGetnPixelMapusv(GLenum eMap, GLsizei nBufSize, GLushort *puValues)
5313 {
5314  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnPixelMapusvStr);
5315  YI_ASSERT(CYIGL::CurrentAPI.glGetnPixelMapusvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnPixelMapusvStr, CYIGL::GL_VERSION_4_5_STR);
5316  CYIGL::CurrentAPI.glGetnPixelMapusvProc(eMap, nBufSize, puValues);
5317 }
5318 #define glGetnPixelMapusv YiGLGetnPixelMapusv
5319 
5325 inline void YiGLGetnPolygonStipple(GLsizei nBufSize, GLubyte *puPattern)
5326 {
5327  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnPolygonStippleStr);
5328  YI_ASSERT(CYIGL::CurrentAPI.glGetnPolygonStippleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnPolygonStippleStr, CYIGL::GL_VERSION_4_5_STR);
5329  CYIGL::CurrentAPI.glGetnPolygonStippleProc(nBufSize, puPattern);
5330 }
5331 #define glGetnPolygonStipple YiGLGetnPolygonStipple
5332 
5338 inline void YiGLGetnSeparableFilter(GLenum eTarget, GLenum eFormat, GLenum eType, GLsizei nRowBufSize, void *pRow, GLsizei nColumnBufSize, void *pColumn, void *pSpan)
5339 {
5340  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnSeparableFilterStr);
5341  YI_ASSERT(CYIGL::CurrentAPI.glGetnSeparableFilterProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnSeparableFilterStr, CYIGL::GL_VERSION_4_5_STR);
5342  CYIGL::CurrentAPI.glGetnSeparableFilterProc(eTarget, eFormat, eType, nRowBufSize, pRow, nColumnBufSize, pColumn, pSpan);
5343 }
5344 #define glGetnSeparableFilter YiGLGetnSeparableFilter
5345 
5351 inline void YiGLGetnTexImage(GLenum eTarget, GLint nLevel, GLenum eFormat, GLenum eType, GLsizei nBufSize, void *pPixels)
5352 {
5353  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnTexImageStr);
5354  YI_ASSERT(CYIGL::CurrentAPI.glGetnTexImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnTexImageStr, CYIGL::GL_VERSION_4_5_STR);
5355  CYIGL::CurrentAPI.glGetnTexImageProc(eTarget, nLevel, eFormat, eType, nBufSize, pPixels);
5356 }
5357 #define glGetnTexImage YiGLGetnTexImage
5358 
5364 inline void YiGLGetnUniformdv(GLuint uProgram, GLint nLocation, GLsizei nBufSize, GLdouble *pfParams)
5365 {
5366  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnUniformdvStr);
5367  YI_ASSERT(CYIGL::CurrentAPI.glGetnUniformdvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glGetnUniformdvStr, CYIGL::GL_VERSION_4_5_STR);
5368  CYIGL::CurrentAPI.glGetnUniformdvProc(uProgram, nLocation, nBufSize, pfParams);
5369 }
5370 #define glGetnUniformdv YiGLGetnUniformdv
5371 
5378 inline void YiGLGetnUniformfv(GLuint uProgram, GLint nLocation, GLsizei nBufSize, GLfloat *pfParams)
5379 {
5380  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnUniformfvStr);
5381  YI_ASSERT(CYIGL::CurrentAPI.glGetnUniformfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetnUniformfvStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_5_STR);
5382  CYIGL::CurrentAPI.glGetnUniformfvProc(uProgram, nLocation, nBufSize, pfParams);
5383 }
5384 #define glGetnUniformfv YiGLGetnUniformfv
5385 
5392 inline void YiGLGetnUniformiv(GLuint uProgram, GLint nLocation, GLsizei nBufSize, GLint *pnParams)
5393 {
5394  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnUniformivStr);
5395  YI_ASSERT(CYIGL::CurrentAPI.glGetnUniformivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetnUniformivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_5_STR);
5396  CYIGL::CurrentAPI.glGetnUniformivProc(uProgram, nLocation, nBufSize, pnParams);
5397 }
5398 #define glGetnUniformiv YiGLGetnUniformiv
5399 
5406 inline void YiGLGetnUniformuiv(GLuint uProgram, GLint nLocation, GLsizei nBufSize, GLuint *puParams)
5407 {
5408  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glGetnUniformuivStr);
5409  YI_ASSERT(CYIGL::CurrentAPI.glGetnUniformuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glGetnUniformuivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_5_STR);
5410  CYIGL::CurrentAPI.glGetnUniformuivProc(uProgram, nLocation, nBufSize, puParams);
5411 }
5412 #define glGetnUniformuiv YiGLGetnUniformuiv
5413 
5420 inline void YiGLHint(GLenum eTarget, GLenum eMode)
5421 {
5422  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glHintStr);
5423  YI_ASSERT(CYIGL::CurrentAPI.glHintProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glHintStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
5424  CYIGL::CurrentAPI.glHintProc(eTarget, eMode);
5425 }
5426 #define glHint YiGLHint
5427 
5433 inline void YiGLInvalidateBufferData(GLuint uBuffer)
5434 {
5435  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glInvalidateBufferDataStr);
5436  YI_ASSERT(CYIGL::CurrentAPI.glInvalidateBufferDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glInvalidateBufferDataStr, CYIGL::GL_VERSION_4_3_STR);
5437  CYIGL::CurrentAPI.glInvalidateBufferDataProc(uBuffer);
5438 }
5439 #define glInvalidateBufferData YiGLInvalidateBufferData
5440 
5446 inline void YiGLInvalidateBufferSubData(GLuint uBuffer, GLintptr pOffset, GLsizeiptr pLength)
5447 {
5448  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glInvalidateBufferSubDataStr);
5449  YI_ASSERT(CYIGL::CurrentAPI.glInvalidateBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glInvalidateBufferSubDataStr, CYIGL::GL_VERSION_4_3_STR);
5450  CYIGL::CurrentAPI.glInvalidateBufferSubDataProc(uBuffer, pOffset, pLength);
5451 }
5452 #define glInvalidateBufferSubData YiGLInvalidateBufferSubData
5453 
5460 inline void YiGLInvalidateFramebuffer(GLenum eTarget, GLsizei nNumAttachments, const GLenum *peAttachments)
5461 {
5462  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glInvalidateFramebufferStr);
5463  YI_ASSERT(CYIGL::CurrentAPI.glInvalidateFramebufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glInvalidateFramebufferStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_3_STR);
5464  CYIGL::CurrentAPI.glInvalidateFramebufferProc(eTarget, nNumAttachments, peAttachments);
5465 }
5466 #define glInvalidateFramebuffer YiGLInvalidateFramebuffer
5467 
5473 inline void YiGLInvalidateNamedFramebufferData(GLuint uFramebuffer, GLsizei nNumAttachments, const GLenum *peAttachments)
5474 {
5475  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glInvalidateNamedFramebufferDataStr);
5476  YI_ASSERT(CYIGL::CurrentAPI.glInvalidateNamedFramebufferDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glInvalidateNamedFramebufferDataStr, CYIGL::GL_VERSION_4_5_STR);
5477  CYIGL::CurrentAPI.glInvalidateNamedFramebufferDataProc(uFramebuffer, nNumAttachments, peAttachments);
5478 }
5479 #define glInvalidateNamedFramebufferData YiGLInvalidateNamedFramebufferData
5480 
5486 inline void YiGLInvalidateNamedFramebufferSubData(GLuint uFramebuffer, GLsizei nNumAttachments, const GLenum *peAttachments, GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight)
5487 {
5488  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glInvalidateNamedFramebufferSubDataStr);
5489  YI_ASSERT(CYIGL::CurrentAPI.glInvalidateNamedFramebufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glInvalidateNamedFramebufferSubDataStr, CYIGL::GL_VERSION_4_5_STR);
5490  CYIGL::CurrentAPI.glInvalidateNamedFramebufferSubDataProc(uFramebuffer, nNumAttachments, peAttachments, nX, nY, nWidth, nHeight);
5491 }
5492 #define glInvalidateNamedFramebufferSubData YiGLInvalidateNamedFramebufferSubData
5493 
5500 inline void YiGLInvalidateSubFramebuffer(GLenum eTarget, GLsizei nNumAttachments, const GLenum *peAttachments, GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight)
5501 {
5502  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glInvalidateSubFramebufferStr);
5503  YI_ASSERT(CYIGL::CurrentAPI.glInvalidateSubFramebufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glInvalidateSubFramebufferStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_3_STR);
5504  CYIGL::CurrentAPI.glInvalidateSubFramebufferProc(eTarget, nNumAttachments, peAttachments, nX, nY, nWidth, nHeight);
5505 }
5506 #define glInvalidateSubFramebuffer YiGLInvalidateSubFramebuffer
5507 
5513 inline void YiGLInvalidateTexImage(GLuint uTexture, GLint nLevel)
5514 {
5515  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glInvalidateTexImageStr);
5516  YI_ASSERT(CYIGL::CurrentAPI.glInvalidateTexImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glInvalidateTexImageStr, CYIGL::GL_VERSION_4_3_STR);
5517  CYIGL::CurrentAPI.glInvalidateTexImageProc(uTexture, nLevel);
5518 }
5519 #define glInvalidateTexImage YiGLInvalidateTexImage
5520 
5526 inline void YiGLInvalidateTexSubImage(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth)
5527 {
5528  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glInvalidateTexSubImageStr);
5529  YI_ASSERT(CYIGL::CurrentAPI.glInvalidateTexSubImageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glInvalidateTexSubImageStr, CYIGL::GL_VERSION_4_3_STR);
5530  CYIGL::CurrentAPI.glInvalidateTexSubImageProc(uTexture, nLevel, nXoffset, nYoffset, nZoffset, nWidth, nHeight, nDepth);
5531 }
5532 #define glInvalidateTexSubImage YiGLInvalidateTexSubImage
5533 
5540 inline GLboolean YiGLIsBuffer(GLuint uBuffer)
5541 {
5542  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsBufferStr);
5543  YI_ASSERT(CYIGL::CurrentAPI.glIsBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsBufferStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_5_STR);
5544  return CYIGL::CurrentAPI.glIsBufferProc(uBuffer);
5545 }
5546 #define glIsBuffer YiGLIsBuffer
5547 
5554 inline GLboolean YiGLIsEnabled(GLenum eCap)
5555 {
5556  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsEnabledStr);
5557  YI_ASSERT(CYIGL::CurrentAPI.glIsEnabledProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsEnabledStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
5558  return CYIGL::CurrentAPI.glIsEnabledProc(eCap);
5559 }
5560 #define glIsEnabled YiGLIsEnabled
5561 
5568 inline GLboolean YiGLIsEnabledi(GLenum eTarget, GLuint uIndex)
5569 {
5570  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsEnablediStr);
5571  YI_ASSERT(CYIGL::CurrentAPI.glIsEnablediProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsEnablediStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_0_STR);
5572  return CYIGL::CurrentAPI.glIsEnablediProc(eTarget, uIndex);
5573 }
5574 #define glIsEnabledi YiGLIsEnabledi
5575 
5582 inline GLboolean YiGLIsFramebuffer(GLuint uFramebuffer)
5583 {
5584  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsFramebufferStr);
5585  YI_ASSERT(CYIGL::CurrentAPI.glIsFramebufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsFramebufferStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
5586  return CYIGL::CurrentAPI.glIsFramebufferProc(uFramebuffer);
5587 }
5588 #define glIsFramebuffer YiGLIsFramebuffer
5589 
5596 inline GLboolean YiGLIsProgram(GLuint uProgram)
5597 {
5598  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsProgramStr);
5599  YI_ASSERT(CYIGL::CurrentAPI.glIsProgramProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsProgramStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
5600  return CYIGL::CurrentAPI.glIsProgramProc(uProgram);
5601 }
5602 #define glIsProgram YiGLIsProgram
5603 
5610 inline GLboolean YiGLIsProgramPipeline(GLuint uPipeline)
5611 {
5612  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsProgramPipelineStr);
5613  YI_ASSERT(CYIGL::CurrentAPI.glIsProgramPipelineProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsProgramPipelineStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
5614  return CYIGL::CurrentAPI.glIsProgramPipelineProc(uPipeline);
5615 }
5616 #define glIsProgramPipeline YiGLIsProgramPipeline
5617 
5624 inline GLboolean YiGLIsQuery(GLuint uId)
5625 {
5626  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsQueryStr);
5627  YI_ASSERT(CYIGL::CurrentAPI.glIsQueryProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsQueryStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
5628  return CYIGL::CurrentAPI.glIsQueryProc(uId);
5629 }
5630 #define glIsQuery YiGLIsQuery
5631 
5638 inline GLboolean YiGLIsRenderbuffer(GLuint uRenderbuffer)
5639 {
5640  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsRenderbufferStr);
5641  YI_ASSERT(CYIGL::CurrentAPI.glIsRenderbufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsRenderbufferStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
5642  return CYIGL::CurrentAPI.glIsRenderbufferProc(uRenderbuffer);
5643 }
5644 #define glIsRenderbuffer YiGLIsRenderbuffer
5645 
5652 inline GLboolean YiGLIsSampler(GLuint uSampler)
5653 {
5654  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsSamplerStr);
5655  YI_ASSERT(CYIGL::CurrentAPI.glIsSamplerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsSamplerStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
5656  return CYIGL::CurrentAPI.glIsSamplerProc(uSampler);
5657 }
5658 #define glIsSampler YiGLIsSampler
5659 
5666 inline GLboolean YiGLIsShader(GLuint uShader)
5667 {
5668  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsShaderStr);
5669  YI_ASSERT(CYIGL::CurrentAPI.glIsShaderProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsShaderStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
5670  return CYIGL::CurrentAPI.glIsShaderProc(uShader);
5671 }
5672 #define glIsShader YiGLIsShader
5673 
5680 inline GLboolean YiGLIsSync(GLsync pSync)
5681 {
5682  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsSyncStr);
5683  YI_ASSERT(CYIGL::CurrentAPI.glIsSyncProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsSyncStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
5684  return CYIGL::CurrentAPI.glIsSyncProc(pSync);
5685 }
5686 #define glIsSync YiGLIsSync
5687 
5694 inline GLboolean YiGLIsTexture(GLuint uTexture)
5695 {
5696  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsTextureStr);
5697  YI_ASSERT(CYIGL::CurrentAPI.glIsTextureProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsTextureStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
5698  return CYIGL::CurrentAPI.glIsTextureProc(uTexture);
5699 }
5700 #define glIsTexture YiGLIsTexture
5701 
5708 inline GLboolean YiGLIsTransformFeedback(GLuint uId)
5709 {
5710  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsTransformFeedbackStr);
5711  YI_ASSERT(CYIGL::CurrentAPI.glIsTransformFeedbackProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsTransformFeedbackStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_0_STR);
5712  return CYIGL::CurrentAPI.glIsTransformFeedbackProc(uId);
5713 }
5714 #define glIsTransformFeedback YiGLIsTransformFeedback
5715 
5722 inline GLboolean YiGLIsVertexArray(GLuint uArray)
5723 {
5724  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glIsVertexArrayStr);
5725  YI_ASSERT(CYIGL::CurrentAPI.glIsVertexArrayProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glIsVertexArrayStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
5726  return CYIGL::CurrentAPI.glIsVertexArrayProc(uArray);
5727 }
5728 #define glIsVertexArray YiGLIsVertexArray
5729 
5736 inline void YiGLLineWidth(GLfloat fWidth)
5737 {
5738  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glLineWidthStr);
5739  YI_ASSERT(CYIGL::CurrentAPI.glLineWidthProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glLineWidthStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
5740  CYIGL::CurrentAPI.glLineWidthProc(fWidth);
5741 }
5742 #define glLineWidth YiGLLineWidth
5743 
5750 inline void YiGLLinkProgram(GLuint uProgram)
5751 {
5752  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glLinkProgramStr);
5753  YI_ASSERT(CYIGL::CurrentAPI.glLinkProgramProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glLinkProgramStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
5754  CYIGL::CurrentAPI.glLinkProgramProc(uProgram);
5755 }
5756 #define glLinkProgram YiGLLinkProgram
5757 
5763 inline void YiGLLoadTransposeMatrixd(const GLdouble *pfM)
5764 {
5765  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glLoadTransposeMatrixdStr);
5766  YI_ASSERT(CYIGL::CurrentAPI.glLoadTransposeMatrixdProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glLoadTransposeMatrixdStr, CYIGL::GL_VERSION_1_3_STR);
5767  CYIGL::CurrentAPI.glLoadTransposeMatrixdProc(pfM);
5768 }
5769 #define glLoadTransposeMatrixd YiGLLoadTransposeMatrixd
5770 
5776 inline void YiGLLoadTransposeMatrixf(const GLfloat *pfM)
5777 {
5778  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glLoadTransposeMatrixfStr);
5779  YI_ASSERT(CYIGL::CurrentAPI.glLoadTransposeMatrixfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glLoadTransposeMatrixfStr, CYIGL::GL_VERSION_1_3_STR);
5780  CYIGL::CurrentAPI.glLoadTransposeMatrixfProc(pfM);
5781 }
5782 #define glLoadTransposeMatrixf YiGLLoadTransposeMatrixf
5783 
5789 inline void YiGLLogicOp(GLenum eOpcode)
5790 {
5791  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glLogicOpStr);
5792  YI_ASSERT(CYIGL::CurrentAPI.glLogicOpProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glLogicOpStr, CYIGL::GL_VERSION_1_0_STR);
5793  CYIGL::CurrentAPI.glLogicOpProc(eOpcode);
5794 }
5795 #define glLogicOp YiGLLogicOp
5796 
5802 inline void *YiGLMapBuffer(GLenum eTarget, GLenum eAccess)
5803 {
5804  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMapBufferStr);
5805  YI_ASSERT(CYIGL::CurrentAPI.glMapBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMapBufferStr, CYIGL::GL_VERSION_1_5_STR);
5806  return CYIGL::CurrentAPI.glMapBufferProc(eTarget, eAccess);
5807 }
5808 #define glMapBuffer YiGLMapBuffer
5809 
5816 inline void *YiGLMapBufferRange(GLenum eTarget, GLintptr pOffset, GLsizeiptr pLength, GLbitfield uAccess)
5817 {
5818  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMapBufferRangeStr);
5819  YI_ASSERT(CYIGL::CurrentAPI.glMapBufferRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glMapBufferRangeStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
5820  return CYIGL::CurrentAPI.glMapBufferRangeProc(eTarget, pOffset, pLength, uAccess);
5821 }
5822 #define glMapBufferRange YiGLMapBufferRange
5823 
5829 inline void *YiGLMapNamedBuffer(GLuint uBuffer, GLenum eAccess)
5830 {
5831  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMapNamedBufferStr);
5832  YI_ASSERT(CYIGL::CurrentAPI.glMapNamedBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMapNamedBufferStr, CYIGL::GL_VERSION_4_5_STR);
5833  return CYIGL::CurrentAPI.glMapNamedBufferProc(uBuffer, eAccess);
5834 }
5835 #define glMapNamedBuffer YiGLMapNamedBuffer
5836 
5842 inline void *YiGLMapNamedBufferRange(GLuint uBuffer, GLintptr pOffset, GLsizeiptr pLength, GLbitfield uAccess)
5843 {
5844  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMapNamedBufferRangeStr);
5845  YI_ASSERT(CYIGL::CurrentAPI.glMapNamedBufferRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMapNamedBufferRangeStr, CYIGL::GL_VERSION_4_5_STR);
5846  return CYIGL::CurrentAPI.glMapNamedBufferRangeProc(uBuffer, pOffset, pLength, uAccess);
5847 }
5848 #define glMapNamedBufferRange YiGLMapNamedBufferRange
5849 
5856 inline void YiGLMemoryBarrier(GLbitfield uBarriers)
5857 {
5858  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMemoryBarrierStr);
5859  YI_ASSERT(CYIGL::CurrentAPI.glMemoryBarrierProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glMemoryBarrierStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_2_STR);
5860  CYIGL::CurrentAPI.glMemoryBarrierProc(uBarriers);
5861 }
5862 #define glMemoryBarrier YiGLMemoryBarrier
5863 
5870 inline void YiGLMemoryBarrierByRegion(GLbitfield uBarriers)
5871 {
5872  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMemoryBarrierByRegionStr);
5873  YI_ASSERT(CYIGL::CurrentAPI.glMemoryBarrierByRegionProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glMemoryBarrierByRegionStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_5_STR);
5874  CYIGL::CurrentAPI.glMemoryBarrierByRegionProc(uBarriers);
5875 }
5876 #define glMemoryBarrierByRegion YiGLMemoryBarrierByRegion
5877 
5884 inline void YiGLMinSampleShading(GLfloat fValue)
5885 {
5886  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMinSampleShadingStr);
5887  YI_ASSERT(CYIGL::CurrentAPI.glMinSampleShadingProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glMinSampleShadingStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_0_STR);
5888  CYIGL::CurrentAPI.glMinSampleShadingProc(fValue);
5889 }
5890 #define glMinSampleShading YiGLMinSampleShading
5891 
5897 inline void YiGLMultTransposeMatrixd(const GLdouble *pfM)
5898 {
5899  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultTransposeMatrixdStr);
5900  YI_ASSERT(CYIGL::CurrentAPI.glMultTransposeMatrixdProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultTransposeMatrixdStr, CYIGL::GL_VERSION_1_3_STR);
5901  CYIGL::CurrentAPI.glMultTransposeMatrixdProc(pfM);
5902 }
5903 #define glMultTransposeMatrixd YiGLMultTransposeMatrixd
5904 
5910 inline void YiGLMultTransposeMatrixf(const GLfloat *pfM)
5911 {
5912  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultTransposeMatrixfStr);
5913  YI_ASSERT(CYIGL::CurrentAPI.glMultTransposeMatrixfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultTransposeMatrixfStr, CYIGL::GL_VERSION_1_3_STR);
5914  CYIGL::CurrentAPI.glMultTransposeMatrixfProc(pfM);
5915 }
5916 #define glMultTransposeMatrixf YiGLMultTransposeMatrixf
5917 
5923 inline void YiGLMultiDrawArrays(GLenum eMode, const GLint *pnFirst, const GLsizei *pnCount, GLsizei nDrawcount)
5924 {
5925  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiDrawArraysStr);
5926  YI_ASSERT(CYIGL::CurrentAPI.glMultiDrawArraysProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiDrawArraysStr, CYIGL::GL_VERSION_1_4_STR);
5927  CYIGL::CurrentAPI.glMultiDrawArraysProc(eMode, pnFirst, pnCount, nDrawcount);
5928 }
5929 #define glMultiDrawArrays YiGLMultiDrawArrays
5930 
5936 inline void YiGLMultiDrawArraysIndirect(GLenum eMode, const void *pIndirect, GLsizei nDrawcount, GLsizei nStride)
5937 {
5938  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiDrawArraysIndirectStr);
5939  YI_ASSERT(CYIGL::CurrentAPI.glMultiDrawArraysIndirectProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiDrawArraysIndirectStr, CYIGL::GL_VERSION_4_3_STR);
5940  CYIGL::CurrentAPI.glMultiDrawArraysIndirectProc(eMode, pIndirect, nDrawcount, nStride);
5941 }
5942 #define glMultiDrawArraysIndirect YiGLMultiDrawArraysIndirect
5943 
5949 inline void YiGLMultiDrawElements(GLenum eMode, const GLsizei *pnCount, GLenum eType, const void *const *ppIndices, GLsizei nDrawcount)
5950 {
5951  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiDrawElementsStr);
5952  YI_ASSERT(CYIGL::CurrentAPI.glMultiDrawElementsProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiDrawElementsStr, CYIGL::GL_VERSION_1_4_STR);
5953  CYIGL::CurrentAPI.glMultiDrawElementsProc(eMode, pnCount, eType, ppIndices, nDrawcount);
5954 }
5955 #define glMultiDrawElements YiGLMultiDrawElements
5956 
5962 inline void YiGLMultiDrawElementsBaseVertex(GLenum eMode, const GLsizei *pnCount, GLenum eType, const void *const *ppIndices, GLsizei nDrawcount, const GLint *pnBasevertex)
5963 {
5964  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiDrawElementsBaseVertexStr);
5965  YI_ASSERT(CYIGL::CurrentAPI.glMultiDrawElementsBaseVertexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiDrawElementsBaseVertexStr, CYIGL::GL_VERSION_3_2_STR);
5966  CYIGL::CurrentAPI.glMultiDrawElementsBaseVertexProc(eMode, pnCount, eType, ppIndices, nDrawcount, pnBasevertex);
5967 }
5968 #define glMultiDrawElementsBaseVertex YiGLMultiDrawElementsBaseVertex
5969 
5975 inline void YiGLMultiDrawElementsIndirect(GLenum eMode, GLenum eType, const void *pIndirect, GLsizei nDrawcount, GLsizei nStride)
5976 {
5977  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiDrawElementsIndirectStr);
5978  YI_ASSERT(CYIGL::CurrentAPI.glMultiDrawElementsIndirectProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiDrawElementsIndirectStr, CYIGL::GL_VERSION_4_3_STR);
5979  CYIGL::CurrentAPI.glMultiDrawElementsIndirectProc(eMode, eType, pIndirect, nDrawcount, nStride);
5980 }
5981 #define glMultiDrawElementsIndirect YiGLMultiDrawElementsIndirect
5982 
5988 inline void YiGLMultiTexCoord1d(GLenum eTarget, GLdouble fS)
5989 {
5990  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord1dStr);
5991  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord1dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord1dStr, CYIGL::GL_VERSION_1_3_STR);
5992  CYIGL::CurrentAPI.glMultiTexCoord1dProc(eTarget, fS);
5993 }
5994 #define glMultiTexCoord1d YiGLMultiTexCoord1d
5995 
6001 inline void YiGLMultiTexCoord1dv(GLenum eTarget, const GLdouble *pfV)
6002 {
6003  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord1dvStr);
6004  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord1dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord1dvStr, CYIGL::GL_VERSION_1_3_STR);
6005  CYIGL::CurrentAPI.glMultiTexCoord1dvProc(eTarget, pfV);
6006 }
6007 #define glMultiTexCoord1dv YiGLMultiTexCoord1dv
6008 
6014 inline void YiGLMultiTexCoord1f(GLenum eTarget, GLfloat fS)
6015 {
6016  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord1fStr);
6017  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord1fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord1fStr, CYIGL::GL_VERSION_1_3_STR);
6018  CYIGL::CurrentAPI.glMultiTexCoord1fProc(eTarget, fS);
6019 }
6020 #define glMultiTexCoord1f YiGLMultiTexCoord1f
6021 
6027 inline void YiGLMultiTexCoord1fv(GLenum eTarget, const GLfloat *pfV)
6028 {
6029  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord1fvStr);
6030  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord1fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord1fvStr, CYIGL::GL_VERSION_1_3_STR);
6031  CYIGL::CurrentAPI.glMultiTexCoord1fvProc(eTarget, pfV);
6032 }
6033 #define glMultiTexCoord1fv YiGLMultiTexCoord1fv
6034 
6040 inline void YiGLMultiTexCoord1i(GLenum eTarget, GLint nS)
6041 {
6042  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord1iStr);
6043  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord1iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord1iStr, CYIGL::GL_VERSION_1_3_STR);
6044  CYIGL::CurrentAPI.glMultiTexCoord1iProc(eTarget, nS);
6045 }
6046 #define glMultiTexCoord1i YiGLMultiTexCoord1i
6047 
6053 inline void YiGLMultiTexCoord1iv(GLenum eTarget, const GLint *pnV)
6054 {
6055  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord1ivStr);
6056  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord1ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord1ivStr, CYIGL::GL_VERSION_1_3_STR);
6057  CYIGL::CurrentAPI.glMultiTexCoord1ivProc(eTarget, pnV);
6058 }
6059 #define glMultiTexCoord1iv YiGLMultiTexCoord1iv
6060 
6066 inline void YiGLMultiTexCoord1s(GLenum eTarget, GLshort nS)
6067 {
6068  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord1sStr);
6069  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord1sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord1sStr, CYIGL::GL_VERSION_1_3_STR);
6070  CYIGL::CurrentAPI.glMultiTexCoord1sProc(eTarget, nS);
6071 }
6072 #define glMultiTexCoord1s YiGLMultiTexCoord1s
6073 
6079 inline void YiGLMultiTexCoord1sv(GLenum eTarget, const GLshort *pnV)
6080 {
6081  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord1svStr);
6082  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord1svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord1svStr, CYIGL::GL_VERSION_1_3_STR);
6083  CYIGL::CurrentAPI.glMultiTexCoord1svProc(eTarget, pnV);
6084 }
6085 #define glMultiTexCoord1sv YiGLMultiTexCoord1sv
6086 
6092 inline void YiGLMultiTexCoord2d(GLenum eTarget, GLdouble fS, GLdouble fT)
6093 {
6094  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord2dStr);
6095  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord2dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord2dStr, CYIGL::GL_VERSION_1_3_STR);
6096  CYIGL::CurrentAPI.glMultiTexCoord2dProc(eTarget, fS, fT);
6097 }
6098 #define glMultiTexCoord2d YiGLMultiTexCoord2d
6099 
6105 inline void YiGLMultiTexCoord2dv(GLenum eTarget, const GLdouble *pfV)
6106 {
6107  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord2dvStr);
6108  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord2dvStr, CYIGL::GL_VERSION_1_3_STR);
6109  CYIGL::CurrentAPI.glMultiTexCoord2dvProc(eTarget, pfV);
6110 }
6111 #define glMultiTexCoord2dv YiGLMultiTexCoord2dv
6112 
6118 inline void YiGLMultiTexCoord2f(GLenum eTarget, GLfloat fS, GLfloat fT)
6119 {
6120  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord2fStr);
6121  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord2fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord2fStr, CYIGL::GL_VERSION_1_3_STR);
6122  CYIGL::CurrentAPI.glMultiTexCoord2fProc(eTarget, fS, fT);
6123 }
6124 #define glMultiTexCoord2f YiGLMultiTexCoord2f
6125 
6131 inline void YiGLMultiTexCoord2fv(GLenum eTarget, const GLfloat *pfV)
6132 {
6133  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord2fvStr);
6134  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord2fvStr, CYIGL::GL_VERSION_1_3_STR);
6135  CYIGL::CurrentAPI.glMultiTexCoord2fvProc(eTarget, pfV);
6136 }
6137 #define glMultiTexCoord2fv YiGLMultiTexCoord2fv
6138 
6144 inline void YiGLMultiTexCoord2i(GLenum eTarget, GLint nS, GLint nT)
6145 {
6146  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord2iStr);
6147  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord2iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord2iStr, CYIGL::GL_VERSION_1_3_STR);
6148  CYIGL::CurrentAPI.glMultiTexCoord2iProc(eTarget, nS, nT);
6149 }
6150 #define glMultiTexCoord2i YiGLMultiTexCoord2i
6151 
6157 inline void YiGLMultiTexCoord2iv(GLenum eTarget, const GLint *pnV)
6158 {
6159  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord2ivStr);
6160  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord2ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord2ivStr, CYIGL::GL_VERSION_1_3_STR);
6161  CYIGL::CurrentAPI.glMultiTexCoord2ivProc(eTarget, pnV);
6162 }
6163 #define glMultiTexCoord2iv YiGLMultiTexCoord2iv
6164 
6170 inline void YiGLMultiTexCoord2s(GLenum eTarget, GLshort nS, GLshort nT)
6171 {
6172  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord2sStr);
6173  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord2sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord2sStr, CYIGL::GL_VERSION_1_3_STR);
6174  CYIGL::CurrentAPI.glMultiTexCoord2sProc(eTarget, nS, nT);
6175 }
6176 #define glMultiTexCoord2s YiGLMultiTexCoord2s
6177 
6183 inline void YiGLMultiTexCoord2sv(GLenum eTarget, const GLshort *pnV)
6184 {
6185  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord2svStr);
6186  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord2svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord2svStr, CYIGL::GL_VERSION_1_3_STR);
6187  CYIGL::CurrentAPI.glMultiTexCoord2svProc(eTarget, pnV);
6188 }
6189 #define glMultiTexCoord2sv YiGLMultiTexCoord2sv
6190 
6196 inline void YiGLMultiTexCoord3d(GLenum eTarget, GLdouble fS, GLdouble fT, GLdouble fR)
6197 {
6198  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord3dStr);
6199  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord3dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord3dStr, CYIGL::GL_VERSION_1_3_STR);
6200  CYIGL::CurrentAPI.glMultiTexCoord3dProc(eTarget, fS, fT, fR);
6201 }
6202 #define glMultiTexCoord3d YiGLMultiTexCoord3d
6203 
6209 inline void YiGLMultiTexCoord3dv(GLenum eTarget, const GLdouble *pfV)
6210 {
6211  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord3dvStr);
6212  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord3dvStr, CYIGL::GL_VERSION_1_3_STR);
6213  CYIGL::CurrentAPI.glMultiTexCoord3dvProc(eTarget, pfV);
6214 }
6215 #define glMultiTexCoord3dv YiGLMultiTexCoord3dv
6216 
6222 inline void YiGLMultiTexCoord3f(GLenum eTarget, GLfloat fS, GLfloat fT, GLfloat fR)
6223 {
6224  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord3fStr);
6225  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord3fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord3fStr, CYIGL::GL_VERSION_1_3_STR);
6226  CYIGL::CurrentAPI.glMultiTexCoord3fProc(eTarget, fS, fT, fR);
6227 }
6228 #define glMultiTexCoord3f YiGLMultiTexCoord3f
6229 
6235 inline void YiGLMultiTexCoord3fv(GLenum eTarget, const GLfloat *pfV)
6236 {
6237  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord3fvStr);
6238  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord3fvStr, CYIGL::GL_VERSION_1_3_STR);
6239  CYIGL::CurrentAPI.glMultiTexCoord3fvProc(eTarget, pfV);
6240 }
6241 #define glMultiTexCoord3fv YiGLMultiTexCoord3fv
6242 
6248 inline void YiGLMultiTexCoord3i(GLenum eTarget, GLint nS, GLint nT, GLint nR)
6249 {
6250  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord3iStr);
6251  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord3iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord3iStr, CYIGL::GL_VERSION_1_3_STR);
6252  CYIGL::CurrentAPI.glMultiTexCoord3iProc(eTarget, nS, nT, nR);
6253 }
6254 #define glMultiTexCoord3i YiGLMultiTexCoord3i
6255 
6261 inline void YiGLMultiTexCoord3iv(GLenum eTarget, const GLint *pnV)
6262 {
6263  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord3ivStr);
6264  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord3ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord3ivStr, CYIGL::GL_VERSION_1_3_STR);
6265  CYIGL::CurrentAPI.glMultiTexCoord3ivProc(eTarget, pnV);
6266 }
6267 #define glMultiTexCoord3iv YiGLMultiTexCoord3iv
6268 
6274 inline void YiGLMultiTexCoord3s(GLenum eTarget, GLshort nS, GLshort nT, GLshort nR)
6275 {
6276  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord3sStr);
6277  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord3sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord3sStr, CYIGL::GL_VERSION_1_3_STR);
6278  CYIGL::CurrentAPI.glMultiTexCoord3sProc(eTarget, nS, nT, nR);
6279 }
6280 #define glMultiTexCoord3s YiGLMultiTexCoord3s
6281 
6287 inline void YiGLMultiTexCoord3sv(GLenum eTarget, const GLshort *pnV)
6288 {
6289  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord3svStr);
6290  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord3svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord3svStr, CYIGL::GL_VERSION_1_3_STR);
6291  CYIGL::CurrentAPI.glMultiTexCoord3svProc(eTarget, pnV);
6292 }
6293 #define glMultiTexCoord3sv YiGLMultiTexCoord3sv
6294 
6300 inline void YiGLMultiTexCoord4d(GLenum eTarget, GLdouble fS, GLdouble fT, GLdouble fR, GLdouble fQ)
6301 {
6302  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord4dStr);
6303  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord4dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord4dStr, CYIGL::GL_VERSION_1_3_STR);
6304  CYIGL::CurrentAPI.glMultiTexCoord4dProc(eTarget, fS, fT, fR, fQ);
6305 }
6306 #define glMultiTexCoord4d YiGLMultiTexCoord4d
6307 
6313 inline void YiGLMultiTexCoord4dv(GLenum eTarget, const GLdouble *pfV)
6314 {
6315  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord4dvStr);
6316  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord4dvStr, CYIGL::GL_VERSION_1_3_STR);
6317  CYIGL::CurrentAPI.glMultiTexCoord4dvProc(eTarget, pfV);
6318 }
6319 #define glMultiTexCoord4dv YiGLMultiTexCoord4dv
6320 
6326 inline void YiGLMultiTexCoord4f(GLenum eTarget, GLfloat fS, GLfloat fT, GLfloat fR, GLfloat fQ)
6327 {
6328  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord4fStr);
6329  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord4fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord4fStr, CYIGL::GL_VERSION_1_3_STR);
6330  CYIGL::CurrentAPI.glMultiTexCoord4fProc(eTarget, fS, fT, fR, fQ);
6331 }
6332 #define glMultiTexCoord4f YiGLMultiTexCoord4f
6333 
6339 inline void YiGLMultiTexCoord4fv(GLenum eTarget, const GLfloat *pfV)
6340 {
6341  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord4fvStr);
6342  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord4fvStr, CYIGL::GL_VERSION_1_3_STR);
6343  CYIGL::CurrentAPI.glMultiTexCoord4fvProc(eTarget, pfV);
6344 }
6345 #define glMultiTexCoord4fv YiGLMultiTexCoord4fv
6346 
6352 inline void YiGLMultiTexCoord4i(GLenum eTarget, GLint nS, GLint nT, GLint nR, GLint nQ)
6353 {
6354  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord4iStr);
6355  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord4iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord4iStr, CYIGL::GL_VERSION_1_3_STR);
6356  CYIGL::CurrentAPI.glMultiTexCoord4iProc(eTarget, nS, nT, nR, nQ);
6357 }
6358 #define glMultiTexCoord4i YiGLMultiTexCoord4i
6359 
6365 inline void YiGLMultiTexCoord4iv(GLenum eTarget, const GLint *pnV)
6366 {
6367  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord4ivStr);
6368  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord4ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord4ivStr, CYIGL::GL_VERSION_1_3_STR);
6369  CYIGL::CurrentAPI.glMultiTexCoord4ivProc(eTarget, pnV);
6370 }
6371 #define glMultiTexCoord4iv YiGLMultiTexCoord4iv
6372 
6378 inline void YiGLMultiTexCoord4s(GLenum eTarget, GLshort nS, GLshort nT, GLshort nR, GLshort nQ)
6379 {
6380  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord4sStr);
6381  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord4sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord4sStr, CYIGL::GL_VERSION_1_3_STR);
6382  CYIGL::CurrentAPI.glMultiTexCoord4sProc(eTarget, nS, nT, nR, nQ);
6383 }
6384 #define glMultiTexCoord4s YiGLMultiTexCoord4s
6385 
6391 inline void YiGLMultiTexCoord4sv(GLenum eTarget, const GLshort *pnV)
6392 {
6393  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoord4svStr);
6394  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoord4svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoord4svStr, CYIGL::GL_VERSION_1_3_STR);
6395  CYIGL::CurrentAPI.glMultiTexCoord4svProc(eTarget, pnV);
6396 }
6397 #define glMultiTexCoord4sv YiGLMultiTexCoord4sv
6398 
6404 inline void YiGLMultiTexCoordP1ui(GLenum eTexture, GLenum eType, GLuint uCoords)
6405 {
6406  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoordP1uiStr);
6407  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoordP1uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoordP1uiStr, CYIGL::GL_VERSION_3_3_STR);
6408  CYIGL::CurrentAPI.glMultiTexCoordP1uiProc(eTexture, eType, uCoords);
6409 }
6410 #define glMultiTexCoordP1ui YiGLMultiTexCoordP1ui
6411 
6417 inline void YiGLMultiTexCoordP1uiv(GLenum eTexture, GLenum eType, const GLuint *puCoords)
6418 {
6419  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoordP1uivStr);
6420  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoordP1uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoordP1uivStr, CYIGL::GL_VERSION_3_3_STR);
6421  CYIGL::CurrentAPI.glMultiTexCoordP1uivProc(eTexture, eType, puCoords);
6422 }
6423 #define glMultiTexCoordP1uiv YiGLMultiTexCoordP1uiv
6424 
6430 inline void YiGLMultiTexCoordP2ui(GLenum eTexture, GLenum eType, GLuint uCoords)
6431 {
6432  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoordP2uiStr);
6433  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoordP2uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoordP2uiStr, CYIGL::GL_VERSION_3_3_STR);
6434  CYIGL::CurrentAPI.glMultiTexCoordP2uiProc(eTexture, eType, uCoords);
6435 }
6436 #define glMultiTexCoordP2ui YiGLMultiTexCoordP2ui
6437 
6443 inline void YiGLMultiTexCoordP2uiv(GLenum eTexture, GLenum eType, const GLuint *puCoords)
6444 {
6445  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoordP2uivStr);
6446  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoordP2uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoordP2uivStr, CYIGL::GL_VERSION_3_3_STR);
6447  CYIGL::CurrentAPI.glMultiTexCoordP2uivProc(eTexture, eType, puCoords);
6448 }
6449 #define glMultiTexCoordP2uiv YiGLMultiTexCoordP2uiv
6450 
6456 inline void YiGLMultiTexCoordP3ui(GLenum eTexture, GLenum eType, GLuint uCoords)
6457 {
6458  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoordP3uiStr);
6459  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoordP3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoordP3uiStr, CYIGL::GL_VERSION_3_3_STR);
6460  CYIGL::CurrentAPI.glMultiTexCoordP3uiProc(eTexture, eType, uCoords);
6461 }
6462 #define glMultiTexCoordP3ui YiGLMultiTexCoordP3ui
6463 
6469 inline void YiGLMultiTexCoordP3uiv(GLenum eTexture, GLenum eType, const GLuint *puCoords)
6470 {
6471  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoordP3uivStr);
6472  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoordP3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoordP3uivStr, CYIGL::GL_VERSION_3_3_STR);
6473  CYIGL::CurrentAPI.glMultiTexCoordP3uivProc(eTexture, eType, puCoords);
6474 }
6475 #define glMultiTexCoordP3uiv YiGLMultiTexCoordP3uiv
6476 
6482 inline void YiGLMultiTexCoordP4ui(GLenum eTexture, GLenum eType, GLuint uCoords)
6483 {
6484  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoordP4uiStr);
6485  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoordP4uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoordP4uiStr, CYIGL::GL_VERSION_3_3_STR);
6486  CYIGL::CurrentAPI.glMultiTexCoordP4uiProc(eTexture, eType, uCoords);
6487 }
6488 #define glMultiTexCoordP4ui YiGLMultiTexCoordP4ui
6489 
6495 inline void YiGLMultiTexCoordP4uiv(GLenum eTexture, GLenum eType, const GLuint *puCoords)
6496 {
6497  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glMultiTexCoordP4uivStr);
6498  YI_ASSERT(CYIGL::CurrentAPI.glMultiTexCoordP4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glMultiTexCoordP4uivStr, CYIGL::GL_VERSION_3_3_STR);
6499  CYIGL::CurrentAPI.glMultiTexCoordP4uivProc(eTexture, eType, puCoords);
6500 }
6501 #define glMultiTexCoordP4uiv YiGLMultiTexCoordP4uiv
6502 
6508 inline void YiGLNamedBufferData(GLuint uBuffer, GLsizeiptr pSize, const void *pData, GLenum eUsage)
6509 {
6510  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedBufferDataStr);
6511  YI_ASSERT(CYIGL::CurrentAPI.glNamedBufferDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedBufferDataStr, CYIGL::GL_VERSION_4_5_STR);
6512  CYIGL::CurrentAPI.glNamedBufferDataProc(uBuffer, pSize, pData, eUsage);
6513 }
6514 #define glNamedBufferData YiGLNamedBufferData
6515 
6521 inline void YiGLNamedBufferStorage(GLuint uBuffer, GLsizeiptr pSize, const void *pData, GLbitfield uFlags)
6522 {
6523  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedBufferStorageStr);
6524  YI_ASSERT(CYIGL::CurrentAPI.glNamedBufferStorageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedBufferStorageStr, CYIGL::GL_VERSION_4_5_STR);
6525  CYIGL::CurrentAPI.glNamedBufferStorageProc(uBuffer, pSize, pData, uFlags);
6526 }
6527 #define glNamedBufferStorage YiGLNamedBufferStorage
6528 
6534 inline void YiGLNamedBufferSubData(GLuint uBuffer, GLintptr pOffset, GLsizeiptr pSize, const void *pData)
6535 {
6536  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedBufferSubDataStr);
6537  YI_ASSERT(CYIGL::CurrentAPI.glNamedBufferSubDataProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedBufferSubDataStr, CYIGL::GL_VERSION_4_5_STR);
6538  CYIGL::CurrentAPI.glNamedBufferSubDataProc(uBuffer, pOffset, pSize, pData);
6539 }
6540 #define glNamedBufferSubData YiGLNamedBufferSubData
6541 
6547 inline void YiGLNamedFramebufferDrawBuffer(GLuint uFramebuffer, GLenum eBuf)
6548 {
6549  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedFramebufferDrawBufferStr);
6550  YI_ASSERT(CYIGL::CurrentAPI.glNamedFramebufferDrawBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedFramebufferDrawBufferStr, CYIGL::GL_VERSION_4_5_STR);
6551  CYIGL::CurrentAPI.glNamedFramebufferDrawBufferProc(uFramebuffer, eBuf);
6552 }
6553 #define glNamedFramebufferDrawBuffer YiGLNamedFramebufferDrawBuffer
6554 
6560 inline void YiGLNamedFramebufferDrawBuffers(GLuint uFramebuffer, GLsizei nN, const GLenum *peBufs)
6561 {
6562  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedFramebufferDrawBuffersStr);
6563  YI_ASSERT(CYIGL::CurrentAPI.glNamedFramebufferDrawBuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedFramebufferDrawBuffersStr, CYIGL::GL_VERSION_4_5_STR);
6564  CYIGL::CurrentAPI.glNamedFramebufferDrawBuffersProc(uFramebuffer, nN, peBufs);
6565 }
6566 #define glNamedFramebufferDrawBuffers YiGLNamedFramebufferDrawBuffers
6567 
6573 inline void YiGLNamedFramebufferParameteri(GLuint uFramebuffer, GLenum ePname, GLint nParam)
6574 {
6575  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedFramebufferParameteriStr);
6576  YI_ASSERT(CYIGL::CurrentAPI.glNamedFramebufferParameteriProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedFramebufferParameteriStr, CYIGL::GL_VERSION_4_5_STR);
6577  CYIGL::CurrentAPI.glNamedFramebufferParameteriProc(uFramebuffer, ePname, nParam);
6578 }
6579 #define glNamedFramebufferParameteri YiGLNamedFramebufferParameteri
6580 
6586 inline void YiGLNamedFramebufferReadBuffer(GLuint uFramebuffer, GLenum eSrc)
6587 {
6588  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedFramebufferReadBufferStr);
6589  YI_ASSERT(CYIGL::CurrentAPI.glNamedFramebufferReadBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedFramebufferReadBufferStr, CYIGL::GL_VERSION_4_5_STR);
6590  CYIGL::CurrentAPI.glNamedFramebufferReadBufferProc(uFramebuffer, eSrc);
6591 }
6592 #define glNamedFramebufferReadBuffer YiGLNamedFramebufferReadBuffer
6593 
6599 inline void YiGLNamedFramebufferRenderbuffer(GLuint uFramebuffer, GLenum eAttachment, GLenum eRenderbuffertarget, GLuint uRenderbuffer)
6600 {
6601  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedFramebufferRenderbufferStr);
6602  YI_ASSERT(CYIGL::CurrentAPI.glNamedFramebufferRenderbufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedFramebufferRenderbufferStr, CYIGL::GL_VERSION_4_5_STR);
6603  CYIGL::CurrentAPI.glNamedFramebufferRenderbufferProc(uFramebuffer, eAttachment, eRenderbuffertarget, uRenderbuffer);
6604 }
6605 #define glNamedFramebufferRenderbuffer YiGLNamedFramebufferRenderbuffer
6606 
6612 inline void YiGLNamedFramebufferTexture(GLuint uFramebuffer, GLenum eAttachment, GLuint uTexture, GLint nLevel)
6613 {
6614  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedFramebufferTextureStr);
6615  YI_ASSERT(CYIGL::CurrentAPI.glNamedFramebufferTextureProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedFramebufferTextureStr, CYIGL::GL_VERSION_4_5_STR);
6616  CYIGL::CurrentAPI.glNamedFramebufferTextureProc(uFramebuffer, eAttachment, uTexture, nLevel);
6617 }
6618 #define glNamedFramebufferTexture YiGLNamedFramebufferTexture
6619 
6625 inline void YiGLNamedFramebufferTextureLayer(GLuint uFramebuffer, GLenum eAttachment, GLuint uTexture, GLint nLevel, GLint nLayer)
6626 {
6627  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedFramebufferTextureLayerStr);
6628  YI_ASSERT(CYIGL::CurrentAPI.glNamedFramebufferTextureLayerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedFramebufferTextureLayerStr, CYIGL::GL_VERSION_4_5_STR);
6629  CYIGL::CurrentAPI.glNamedFramebufferTextureLayerProc(uFramebuffer, eAttachment, uTexture, nLevel, nLayer);
6630 }
6631 #define glNamedFramebufferTextureLayer YiGLNamedFramebufferTextureLayer
6632 
6638 inline void YiGLNamedRenderbufferStorage(GLuint uRenderbuffer, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight)
6639 {
6640  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedRenderbufferStorageStr);
6641  YI_ASSERT(CYIGL::CurrentAPI.glNamedRenderbufferStorageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedRenderbufferStorageStr, CYIGL::GL_VERSION_4_5_STR);
6642  CYIGL::CurrentAPI.glNamedRenderbufferStorageProc(uRenderbuffer, eInternalformat, nWidth, nHeight);
6643 }
6644 #define glNamedRenderbufferStorage YiGLNamedRenderbufferStorage
6645 
6651 inline void YiGLNamedRenderbufferStorageMultisample(GLuint uRenderbuffer, GLsizei nSamples, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight)
6652 {
6653  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNamedRenderbufferStorageMultisampleStr);
6654  YI_ASSERT(CYIGL::CurrentAPI.glNamedRenderbufferStorageMultisampleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNamedRenderbufferStorageMultisampleStr, CYIGL::GL_VERSION_4_5_STR);
6655  CYIGL::CurrentAPI.glNamedRenderbufferStorageMultisampleProc(uRenderbuffer, nSamples, eInternalformat, nWidth, nHeight);
6656 }
6657 #define glNamedRenderbufferStorageMultisample YiGLNamedRenderbufferStorageMultisample
6658 
6664 inline void YiGLNormalP3ui(GLenum eType, GLuint uCoords)
6665 {
6666  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNormalP3uiStr);
6667  YI_ASSERT(CYIGL::CurrentAPI.glNormalP3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNormalP3uiStr, CYIGL::GL_VERSION_3_3_STR);
6668  CYIGL::CurrentAPI.glNormalP3uiProc(eType, uCoords);
6669 }
6670 #define glNormalP3ui YiGLNormalP3ui
6671 
6677 inline void YiGLNormalP3uiv(GLenum eType, const GLuint *puCoords)
6678 {
6679  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glNormalP3uivStr);
6680  YI_ASSERT(CYIGL::CurrentAPI.glNormalP3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glNormalP3uivStr, CYIGL::GL_VERSION_3_3_STR);
6681  CYIGL::CurrentAPI.glNormalP3uivProc(eType, puCoords);
6682 }
6683 #define glNormalP3uiv YiGLNormalP3uiv
6684 
6691 inline void YiGLObjectLabel(GLenum eIdentifier, GLuint uName, GLsizei nLength, const GLchar *pLabel)
6692 {
6693  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glObjectLabelStr);
6694  YI_ASSERT(CYIGL::CurrentAPI.glObjectLabelProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glObjectLabelStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
6695  CYIGL::CurrentAPI.glObjectLabelProc(eIdentifier, uName, nLength, pLabel);
6696 }
6697 #define glObjectLabel YiGLObjectLabel
6698 
6705 inline void YiGLObjectPtrLabel(const void *pPtr, GLsizei nLength, const GLchar *pLabel)
6706 {
6707  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glObjectPtrLabelStr);
6708  YI_ASSERT(CYIGL::CurrentAPI.glObjectPtrLabelProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glObjectPtrLabelStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
6709  CYIGL::CurrentAPI.glObjectPtrLabelProc(pPtr, nLength, pLabel);
6710 }
6711 #define glObjectPtrLabel YiGLObjectPtrLabel
6712 
6718 inline void YiGLPatchParameterfv(GLenum ePname, const GLfloat *pfValues)
6719 {
6720  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPatchParameterfvStr);
6721  YI_ASSERT(CYIGL::CurrentAPI.glPatchParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPatchParameterfvStr, CYIGL::GL_VERSION_4_0_STR);
6722  CYIGL::CurrentAPI.glPatchParameterfvProc(ePname, pfValues);
6723 }
6724 #define glPatchParameterfv YiGLPatchParameterfv
6725 
6732 inline void YiGLPatchParameteri(GLenum ePname, GLint nValue)
6733 {
6734  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPatchParameteriStr);
6735  YI_ASSERT(CYIGL::CurrentAPI.glPatchParameteriProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glPatchParameteriStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_0_STR);
6736  CYIGL::CurrentAPI.glPatchParameteriProc(ePname, nValue);
6737 }
6738 #define glPatchParameteri YiGLPatchParameteri
6739 
6746 inline void YiGLPauseTransformFeedback(void)
6747 {
6748  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPauseTransformFeedbackStr);
6749  YI_ASSERT(CYIGL::CurrentAPI.glPauseTransformFeedbackProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glPauseTransformFeedbackStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_0_STR);
6750  CYIGL::CurrentAPI.glPauseTransformFeedbackProc();
6751 }
6752 #define glPauseTransformFeedback YiGLPauseTransformFeedback
6753 
6759 inline void YiGLPixelStoref(GLenum ePname, GLfloat fParam)
6760 {
6761  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPixelStorefStr);
6762  YI_ASSERT(CYIGL::CurrentAPI.glPixelStorefProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPixelStorefStr, CYIGL::GL_VERSION_1_0_STR);
6763  CYIGL::CurrentAPI.glPixelStorefProc(ePname, fParam);
6764 }
6765 #define glPixelStoref YiGLPixelStoref
6766 
6773 inline void YiGLPixelStorei(GLenum ePname, GLint nParam)
6774 {
6775  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPixelStoreiStr);
6776  YI_ASSERT(CYIGL::CurrentAPI.glPixelStoreiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glPixelStoreiStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
6777  CYIGL::CurrentAPI.glPixelStoreiProc(ePname, nParam);
6778 }
6779 #define glPixelStorei YiGLPixelStorei
6780 
6786 inline void YiGLPointParameterf(GLenum ePname, GLfloat fParam)
6787 {
6788  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPointParameterfStr);
6789  YI_ASSERT(CYIGL::CurrentAPI.glPointParameterfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPointParameterfStr, CYIGL::GL_VERSION_1_4_STR);
6790  CYIGL::CurrentAPI.glPointParameterfProc(ePname, fParam);
6791 }
6792 #define glPointParameterf YiGLPointParameterf
6793 
6799 inline void YiGLPointParameterfv(GLenum ePname, const GLfloat *pfParams)
6800 {
6801  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPointParameterfvStr);
6802  YI_ASSERT(CYIGL::CurrentAPI.glPointParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPointParameterfvStr, CYIGL::GL_VERSION_1_4_STR);
6803  CYIGL::CurrentAPI.glPointParameterfvProc(ePname, pfParams);
6804 }
6805 #define glPointParameterfv YiGLPointParameterfv
6806 
6812 inline void YiGLPointParameteri(GLenum ePname, GLint nParam)
6813 {
6814  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPointParameteriStr);
6815  YI_ASSERT(CYIGL::CurrentAPI.glPointParameteriProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPointParameteriStr, CYIGL::GL_VERSION_1_4_STR);
6816  CYIGL::CurrentAPI.glPointParameteriProc(ePname, nParam);
6817 }
6818 #define glPointParameteri YiGLPointParameteri
6819 
6825 inline void YiGLPointParameteriv(GLenum ePname, const GLint *pnParams)
6826 {
6827  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPointParameterivStr);
6828  YI_ASSERT(CYIGL::CurrentAPI.glPointParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPointParameterivStr, CYIGL::GL_VERSION_1_4_STR);
6829  CYIGL::CurrentAPI.glPointParameterivProc(ePname, pnParams);
6830 }
6831 #define glPointParameteriv YiGLPointParameteriv
6832 
6838 inline void YiGLPointSize(GLfloat fSize)
6839 {
6840  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPointSizeStr);
6841  YI_ASSERT(CYIGL::CurrentAPI.glPointSizeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPointSizeStr, CYIGL::GL_VERSION_1_0_STR);
6842  CYIGL::CurrentAPI.glPointSizeProc(fSize);
6843 }
6844 #define glPointSize YiGLPointSize
6845 
6851 inline void YiGLPolygonMode(GLenum eFace, GLenum eMode)
6852 {
6853  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPolygonModeStr);
6854  YI_ASSERT(CYIGL::CurrentAPI.glPolygonModeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPolygonModeStr, CYIGL::GL_VERSION_1_0_STR);
6855  CYIGL::CurrentAPI.glPolygonModeProc(eFace, eMode);
6856 }
6857 #define glPolygonMode YiGLPolygonMode
6858 
6865 inline void YiGLPolygonOffset(GLfloat fFactor, GLfloat fUnits)
6866 {
6867  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPolygonOffsetStr);
6868  YI_ASSERT(CYIGL::CurrentAPI.glPolygonOffsetProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glPolygonOffsetStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
6869  CYIGL::CurrentAPI.glPolygonOffsetProc(fFactor, fUnits);
6870 }
6871 #define glPolygonOffset YiGLPolygonOffset
6872 
6879 inline void YiGLPopDebugGroup(void)
6880 {
6881  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPopDebugGroupStr);
6882  YI_ASSERT(CYIGL::CurrentAPI.glPopDebugGroupProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glPopDebugGroupStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
6883  CYIGL::CurrentAPI.glPopDebugGroupProc();
6884 }
6885 #define glPopDebugGroup YiGLPopDebugGroup
6886 
6892 inline void YiGLPrimitiveBoundingBox(GLfloat fMinX, GLfloat fMinY, GLfloat fMinZ, GLfloat fMinW, GLfloat fMaxX, GLfloat fMaxY, GLfloat fMaxZ, GLfloat fMaxW)
6893 {
6894  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPrimitiveBoundingBoxStr);
6895  YI_ASSERT(CYIGL::CurrentAPI.glPrimitiveBoundingBoxProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPrimitiveBoundingBoxStr, CYIGL::GL_ES_VERSION_3_2_STR);
6896  CYIGL::CurrentAPI.glPrimitiveBoundingBoxProc(fMinX, fMinY, fMinZ, fMinW, fMaxX, fMaxY, fMaxZ, fMaxW);
6897 }
6898 #define glPrimitiveBoundingBox YiGLPrimitiveBoundingBox
6899 
6905 inline void YiGLPrimitiveRestartIndex(GLuint uIndex)
6906 {
6907  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPrimitiveRestartIndexStr);
6908  YI_ASSERT(CYIGL::CurrentAPI.glPrimitiveRestartIndexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glPrimitiveRestartIndexStr, CYIGL::GL_VERSION_3_1_STR);
6909  CYIGL::CurrentAPI.glPrimitiveRestartIndexProc(uIndex);
6910 }
6911 #define glPrimitiveRestartIndex YiGLPrimitiveRestartIndex
6912 
6919 inline void YiGLProgramBinary(GLuint uProgram, GLenum eBinaryFormat, const void *pBinary, GLsizei nLength)
6920 {
6921  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramBinaryStr);
6922  YI_ASSERT(CYIGL::CurrentAPI.glProgramBinaryProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramBinaryStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_1_STR);
6923  CYIGL::CurrentAPI.glProgramBinaryProc(uProgram, eBinaryFormat, pBinary, nLength);
6924 }
6925 #define glProgramBinary YiGLProgramBinary
6926 
6933 inline void YiGLProgramParameteri(GLuint uProgram, GLenum ePname, GLint nValue)
6934 {
6935  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramParameteriStr);
6936  YI_ASSERT(CYIGL::CurrentAPI.glProgramParameteriProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramParameteriStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_1_STR);
6937  CYIGL::CurrentAPI.glProgramParameteriProc(uProgram, ePname, nValue);
6938 }
6939 #define glProgramParameteri YiGLProgramParameteri
6940 
6946 inline void YiGLProgramUniform1d(GLuint uProgram, GLint nLocation, GLdouble fV0)
6947 {
6948  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform1dStr);
6949  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform1dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniform1dStr, CYIGL::GL_VERSION_4_1_STR);
6950  CYIGL::CurrentAPI.glProgramUniform1dProc(uProgram, nLocation, fV0);
6951 }
6952 #define glProgramUniform1d YiGLProgramUniform1d
6953 
6959 inline void YiGLProgramUniform1dv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLdouble *pfValue)
6960 {
6961  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform1dvStr);
6962  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform1dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniform1dvStr, CYIGL::GL_VERSION_4_1_STR);
6963  CYIGL::CurrentAPI.glProgramUniform1dvProc(uProgram, nLocation, nCount, pfValue);
6964 }
6965 #define glProgramUniform1dv YiGLProgramUniform1dv
6966 
6973 inline void YiGLProgramUniform1f(GLuint uProgram, GLint nLocation, GLfloat fV0)
6974 {
6975  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform1fStr);
6976  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform1fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform1fStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
6977  CYIGL::CurrentAPI.glProgramUniform1fProc(uProgram, nLocation, fV0);
6978 }
6979 #define glProgramUniform1f YiGLProgramUniform1f
6980 
6987 inline void YiGLProgramUniform1fv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLfloat *pfValue)
6988 {
6989  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform1fvStr);
6990  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform1fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform1fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
6991  CYIGL::CurrentAPI.glProgramUniform1fvProc(uProgram, nLocation, nCount, pfValue);
6992 }
6993 #define glProgramUniform1fv YiGLProgramUniform1fv
6994 
7001 inline void YiGLProgramUniform1i(GLuint uProgram, GLint nLocation, GLint nV0)
7002 {
7003  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform1iStr);
7004  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform1iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform1iStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7005  CYIGL::CurrentAPI.glProgramUniform1iProc(uProgram, nLocation, nV0);
7006 }
7007 #define glProgramUniform1i YiGLProgramUniform1i
7008 
7015 inline void YiGLProgramUniform1iv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLint *pnValue)
7016 {
7017  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform1ivStr);
7018  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform1ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform1ivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7019  CYIGL::CurrentAPI.glProgramUniform1ivProc(uProgram, nLocation, nCount, pnValue);
7020 }
7021 #define glProgramUniform1iv YiGLProgramUniform1iv
7022 
7029 inline void YiGLProgramUniform1ui(GLuint uProgram, GLint nLocation, GLuint uV0)
7030 {
7031  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform1uiStr);
7032  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform1uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform1uiStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7033  CYIGL::CurrentAPI.glProgramUniform1uiProc(uProgram, nLocation, uV0);
7034 }
7035 #define glProgramUniform1ui YiGLProgramUniform1ui
7036 
7043 inline void YiGLProgramUniform1uiv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLuint *puValue)
7044 {
7045  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform1uivStr);
7046  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform1uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform1uivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7047  CYIGL::CurrentAPI.glProgramUniform1uivProc(uProgram, nLocation, nCount, puValue);
7048 }
7049 #define glProgramUniform1uiv YiGLProgramUniform1uiv
7050 
7056 inline void YiGLProgramUniform2d(GLuint uProgram, GLint nLocation, GLdouble fV0, GLdouble fV1)
7057 {
7058  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform2dStr);
7059  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform2dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniform2dStr, CYIGL::GL_VERSION_4_1_STR);
7060  CYIGL::CurrentAPI.glProgramUniform2dProc(uProgram, nLocation, fV0, fV1);
7061 }
7062 #define glProgramUniform2d YiGLProgramUniform2d
7063 
7069 inline void YiGLProgramUniform2dv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLdouble *pfValue)
7070 {
7071  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform2dvStr);
7072  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniform2dvStr, CYIGL::GL_VERSION_4_1_STR);
7073  CYIGL::CurrentAPI.glProgramUniform2dvProc(uProgram, nLocation, nCount, pfValue);
7074 }
7075 #define glProgramUniform2dv YiGLProgramUniform2dv
7076 
7083 inline void YiGLProgramUniform2f(GLuint uProgram, GLint nLocation, GLfloat fV0, GLfloat fV1)
7084 {
7085  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform2fStr);
7086  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform2fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform2fStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7087  CYIGL::CurrentAPI.glProgramUniform2fProc(uProgram, nLocation, fV0, fV1);
7088 }
7089 #define glProgramUniform2f YiGLProgramUniform2f
7090 
7097 inline void YiGLProgramUniform2fv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLfloat *pfValue)
7098 {
7099  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform2fvStr);
7100  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform2fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7101  CYIGL::CurrentAPI.glProgramUniform2fvProc(uProgram, nLocation, nCount, pfValue);
7102 }
7103 #define glProgramUniform2fv YiGLProgramUniform2fv
7104 
7111 inline void YiGLProgramUniform2i(GLuint uProgram, GLint nLocation, GLint nV0, GLint nV1)
7112 {
7113  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform2iStr);
7114  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform2iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform2iStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7115  CYIGL::CurrentAPI.glProgramUniform2iProc(uProgram, nLocation, nV0, nV1);
7116 }
7117 #define glProgramUniform2i YiGLProgramUniform2i
7118 
7125 inline void YiGLProgramUniform2iv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLint *pnValue)
7126 {
7127  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform2ivStr);
7128  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform2ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform2ivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7129  CYIGL::CurrentAPI.glProgramUniform2ivProc(uProgram, nLocation, nCount, pnValue);
7130 }
7131 #define glProgramUniform2iv YiGLProgramUniform2iv
7132 
7139 inline void YiGLProgramUniform2ui(GLuint uProgram, GLint nLocation, GLuint uV0, GLuint uV1)
7140 {
7141  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform2uiStr);
7142  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform2uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform2uiStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7143  CYIGL::CurrentAPI.glProgramUniform2uiProc(uProgram, nLocation, uV0, uV1);
7144 }
7145 #define glProgramUniform2ui YiGLProgramUniform2ui
7146 
7153 inline void YiGLProgramUniform2uiv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLuint *puValue)
7154 {
7155  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform2uivStr);
7156  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform2uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform2uivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7157  CYIGL::CurrentAPI.glProgramUniform2uivProc(uProgram, nLocation, nCount, puValue);
7158 }
7159 #define glProgramUniform2uiv YiGLProgramUniform2uiv
7160 
7166 inline void YiGLProgramUniform3d(GLuint uProgram, GLint nLocation, GLdouble fV0, GLdouble fV1, GLdouble fV2)
7167 {
7168  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform3dStr);
7169  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform3dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniform3dStr, CYIGL::GL_VERSION_4_1_STR);
7170  CYIGL::CurrentAPI.glProgramUniform3dProc(uProgram, nLocation, fV0, fV1, fV2);
7171 }
7172 #define glProgramUniform3d YiGLProgramUniform3d
7173 
7179 inline void YiGLProgramUniform3dv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLdouble *pfValue)
7180 {
7181  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform3dvStr);
7182  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniform3dvStr, CYIGL::GL_VERSION_4_1_STR);
7183  CYIGL::CurrentAPI.glProgramUniform3dvProc(uProgram, nLocation, nCount, pfValue);
7184 }
7185 #define glProgramUniform3dv YiGLProgramUniform3dv
7186 
7193 inline void YiGLProgramUniform3f(GLuint uProgram, GLint nLocation, GLfloat fV0, GLfloat fV1, GLfloat fV2)
7194 {
7195  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform3fStr);
7196  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform3fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform3fStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7197  CYIGL::CurrentAPI.glProgramUniform3fProc(uProgram, nLocation, fV0, fV1, fV2);
7198 }
7199 #define glProgramUniform3f YiGLProgramUniform3f
7200 
7207 inline void YiGLProgramUniform3fv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLfloat *pfValue)
7208 {
7209  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform3fvStr);
7210  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform3fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7211  CYIGL::CurrentAPI.glProgramUniform3fvProc(uProgram, nLocation, nCount, pfValue);
7212 }
7213 #define glProgramUniform3fv YiGLProgramUniform3fv
7214 
7221 inline void YiGLProgramUniform3i(GLuint uProgram, GLint nLocation, GLint nV0, GLint nV1, GLint nV2)
7222 {
7223  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform3iStr);
7224  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform3iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform3iStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7225  CYIGL::CurrentAPI.glProgramUniform3iProc(uProgram, nLocation, nV0, nV1, nV2);
7226 }
7227 #define glProgramUniform3i YiGLProgramUniform3i
7228 
7235 inline void YiGLProgramUniform3iv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLint *pnValue)
7236 {
7237  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform3ivStr);
7238  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform3ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform3ivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7239  CYIGL::CurrentAPI.glProgramUniform3ivProc(uProgram, nLocation, nCount, pnValue);
7240 }
7241 #define glProgramUniform3iv YiGLProgramUniform3iv
7242 
7249 inline void YiGLProgramUniform3ui(GLuint uProgram, GLint nLocation, GLuint uV0, GLuint uV1, GLuint uV2)
7250 {
7251  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform3uiStr);
7252  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform3uiStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7253  CYIGL::CurrentAPI.glProgramUniform3uiProc(uProgram, nLocation, uV0, uV1, uV2);
7254 }
7255 #define glProgramUniform3ui YiGLProgramUniform3ui
7256 
7263 inline void YiGLProgramUniform3uiv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLuint *puValue)
7264 {
7265  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform3uivStr);
7266  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform3uivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7267  CYIGL::CurrentAPI.glProgramUniform3uivProc(uProgram, nLocation, nCount, puValue);
7268 }
7269 #define glProgramUniform3uiv YiGLProgramUniform3uiv
7270 
7276 inline void YiGLProgramUniform4d(GLuint uProgram, GLint nLocation, GLdouble fV0, GLdouble fV1, GLdouble fV2, GLdouble fV3)
7277 {
7278  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform4dStr);
7279  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform4dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniform4dStr, CYIGL::GL_VERSION_4_1_STR);
7280  CYIGL::CurrentAPI.glProgramUniform4dProc(uProgram, nLocation, fV0, fV1, fV2, fV3);
7281 }
7282 #define glProgramUniform4d YiGLProgramUniform4d
7283 
7289 inline void YiGLProgramUniform4dv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLdouble *pfValue)
7290 {
7291  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform4dvStr);
7292  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniform4dvStr, CYIGL::GL_VERSION_4_1_STR);
7293  CYIGL::CurrentAPI.glProgramUniform4dvProc(uProgram, nLocation, nCount, pfValue);
7294 }
7295 #define glProgramUniform4dv YiGLProgramUniform4dv
7296 
7303 inline void YiGLProgramUniform4f(GLuint uProgram, GLint nLocation, GLfloat fV0, GLfloat fV1, GLfloat fV2, GLfloat fV3)
7304 {
7305  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform4fStr);
7306  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform4fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform4fStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7307  CYIGL::CurrentAPI.glProgramUniform4fProc(uProgram, nLocation, fV0, fV1, fV2, fV3);
7308 }
7309 #define glProgramUniform4f YiGLProgramUniform4f
7310 
7317 inline void YiGLProgramUniform4fv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLfloat *pfValue)
7318 {
7319  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform4fvStr);
7320  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform4fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7321  CYIGL::CurrentAPI.glProgramUniform4fvProc(uProgram, nLocation, nCount, pfValue);
7322 }
7323 #define glProgramUniform4fv YiGLProgramUniform4fv
7324 
7331 inline void YiGLProgramUniform4i(GLuint uProgram, GLint nLocation, GLint nV0, GLint nV1, GLint nV2, GLint nV3)
7332 {
7333  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform4iStr);
7334  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform4iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform4iStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7335  CYIGL::CurrentAPI.glProgramUniform4iProc(uProgram, nLocation, nV0, nV1, nV2, nV3);
7336 }
7337 #define glProgramUniform4i YiGLProgramUniform4i
7338 
7345 inline void YiGLProgramUniform4iv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLint *pnValue)
7346 {
7347  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform4ivStr);
7348  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform4ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform4ivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7349  CYIGL::CurrentAPI.glProgramUniform4ivProc(uProgram, nLocation, nCount, pnValue);
7350 }
7351 #define glProgramUniform4iv YiGLProgramUniform4iv
7352 
7359 inline void YiGLProgramUniform4ui(GLuint uProgram, GLint nLocation, GLuint uV0, GLuint uV1, GLuint uV2, GLuint uV3)
7360 {
7361  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform4uiStr);
7362  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform4uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform4uiStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7363  CYIGL::CurrentAPI.glProgramUniform4uiProc(uProgram, nLocation, uV0, uV1, uV2, uV3);
7364 }
7365 #define glProgramUniform4ui YiGLProgramUniform4ui
7366 
7373 inline void YiGLProgramUniform4uiv(GLuint uProgram, GLint nLocation, GLsizei nCount, const GLuint *puValue)
7374 {
7375  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniform4uivStr);
7376  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniform4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniform4uivStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7377  CYIGL::CurrentAPI.glProgramUniform4uivProc(uProgram, nLocation, nCount, puValue);
7378 }
7379 #define glProgramUniform4uiv YiGLProgramUniform4uiv
7380 
7386 inline void YiGLProgramUniformMatrix2dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7387 {
7388  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix2dvStr);
7389  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix2dvStr, CYIGL::GL_VERSION_4_1_STR);
7390  CYIGL::CurrentAPI.glProgramUniformMatrix2dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7391 }
7392 #define glProgramUniformMatrix2dv YiGLProgramUniformMatrix2dv
7393 
7400 inline void YiGLProgramUniformMatrix2fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7401 {
7402  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix2fvStr);
7403  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix2fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7404  CYIGL::CurrentAPI.glProgramUniformMatrix2fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7405 }
7406 #define glProgramUniformMatrix2fv YiGLProgramUniformMatrix2fv
7407 
7413 inline void YiGLProgramUniformMatrix2x3dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7414 {
7415  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix2x3dvStr);
7416  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix2x3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix2x3dvStr, CYIGL::GL_VERSION_4_1_STR);
7417  CYIGL::CurrentAPI.glProgramUniformMatrix2x3dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7418 }
7419 #define glProgramUniformMatrix2x3dv YiGLProgramUniformMatrix2x3dv
7420 
7427 inline void YiGLProgramUniformMatrix2x3fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7428 {
7429  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix2x3fvStr);
7430  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix2x3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix2x3fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7431  CYIGL::CurrentAPI.glProgramUniformMatrix2x3fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7432 }
7433 #define glProgramUniformMatrix2x3fv YiGLProgramUniformMatrix2x3fv
7434 
7440 inline void YiGLProgramUniformMatrix2x4dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7441 {
7442  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix2x4dvStr);
7443  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix2x4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix2x4dvStr, CYIGL::GL_VERSION_4_1_STR);
7444  CYIGL::CurrentAPI.glProgramUniformMatrix2x4dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7445 }
7446 #define glProgramUniformMatrix2x4dv YiGLProgramUniformMatrix2x4dv
7447 
7454 inline void YiGLProgramUniformMatrix2x4fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7455 {
7456  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix2x4fvStr);
7457  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix2x4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix2x4fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7458  CYIGL::CurrentAPI.glProgramUniformMatrix2x4fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7459 }
7460 #define glProgramUniformMatrix2x4fv YiGLProgramUniformMatrix2x4fv
7461 
7467 inline void YiGLProgramUniformMatrix3dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7468 {
7469  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix3dvStr);
7470  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix3dvStr, CYIGL::GL_VERSION_4_1_STR);
7471  CYIGL::CurrentAPI.glProgramUniformMatrix3dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7472 }
7473 #define glProgramUniformMatrix3dv YiGLProgramUniformMatrix3dv
7474 
7481 inline void YiGLProgramUniformMatrix3fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7482 {
7483  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix3fvStr);
7484  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix3fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7485  CYIGL::CurrentAPI.glProgramUniformMatrix3fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7486 }
7487 #define glProgramUniformMatrix3fv YiGLProgramUniformMatrix3fv
7488 
7494 inline void YiGLProgramUniformMatrix3x2dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7495 {
7496  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix3x2dvStr);
7497  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix3x2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix3x2dvStr, CYIGL::GL_VERSION_4_1_STR);
7498  CYIGL::CurrentAPI.glProgramUniformMatrix3x2dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7499 }
7500 #define glProgramUniformMatrix3x2dv YiGLProgramUniformMatrix3x2dv
7501 
7508 inline void YiGLProgramUniformMatrix3x2fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7509 {
7510  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix3x2fvStr);
7511  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix3x2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix3x2fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7512  CYIGL::CurrentAPI.glProgramUniformMatrix3x2fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7513 }
7514 #define glProgramUniformMatrix3x2fv YiGLProgramUniformMatrix3x2fv
7515 
7521 inline void YiGLProgramUniformMatrix3x4dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7522 {
7523  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix3x4dvStr);
7524  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix3x4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix3x4dvStr, CYIGL::GL_VERSION_4_1_STR);
7525  CYIGL::CurrentAPI.glProgramUniformMatrix3x4dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7526 }
7527 #define glProgramUniformMatrix3x4dv YiGLProgramUniformMatrix3x4dv
7528 
7535 inline void YiGLProgramUniformMatrix3x4fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7536 {
7537  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix3x4fvStr);
7538  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix3x4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix3x4fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7539  CYIGL::CurrentAPI.glProgramUniformMatrix3x4fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7540 }
7541 #define glProgramUniformMatrix3x4fv YiGLProgramUniformMatrix3x4fv
7542 
7548 inline void YiGLProgramUniformMatrix4dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7549 {
7550  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix4dvStr);
7551  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix4dvStr, CYIGL::GL_VERSION_4_1_STR);
7552  CYIGL::CurrentAPI.glProgramUniformMatrix4dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7553 }
7554 #define glProgramUniformMatrix4dv YiGLProgramUniformMatrix4dv
7555 
7562 inline void YiGLProgramUniformMatrix4fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7563 {
7564  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix4fvStr);
7565  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix4fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7566  CYIGL::CurrentAPI.glProgramUniformMatrix4fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7567 }
7568 #define glProgramUniformMatrix4fv YiGLProgramUniformMatrix4fv
7569 
7575 inline void YiGLProgramUniformMatrix4x2dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7576 {
7577  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix4x2dvStr);
7578  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix4x2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix4x2dvStr, CYIGL::GL_VERSION_4_1_STR);
7579  CYIGL::CurrentAPI.glProgramUniformMatrix4x2dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7580 }
7581 #define glProgramUniformMatrix4x2dv YiGLProgramUniformMatrix4x2dv
7582 
7589 inline void YiGLProgramUniformMatrix4x2fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7590 {
7591  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix4x2fvStr);
7592  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix4x2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix4x2fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7593  CYIGL::CurrentAPI.glProgramUniformMatrix4x2fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7594 }
7595 #define glProgramUniformMatrix4x2fv YiGLProgramUniformMatrix4x2fv
7596 
7602 inline void YiGLProgramUniformMatrix4x3dv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
7603 {
7604  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix4x3dvStr);
7605  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix4x3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProgramUniformMatrix4x3dvStr, CYIGL::GL_VERSION_4_1_STR);
7606  CYIGL::CurrentAPI.glProgramUniformMatrix4x3dvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7607 }
7608 #define glProgramUniformMatrix4x3dv YiGLProgramUniformMatrix4x3dv
7609 
7616 inline void YiGLProgramUniformMatrix4x3fv(GLuint uProgram, GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
7617 {
7618  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProgramUniformMatrix4x3fvStr);
7619  YI_ASSERT(CYIGL::CurrentAPI.glProgramUniformMatrix4x3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glProgramUniformMatrix4x3fvStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
7620  CYIGL::CurrentAPI.glProgramUniformMatrix4x3fvProc(uProgram, nLocation, nCount, bTranspose, pfValue);
7621 }
7622 #define glProgramUniformMatrix4x3fv YiGLProgramUniformMatrix4x3fv
7623 
7629 inline void YiGLProvokingVertex(GLenum eMode)
7630 {
7631  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glProvokingVertexStr);
7632  YI_ASSERT(CYIGL::CurrentAPI.glProvokingVertexProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glProvokingVertexStr, CYIGL::GL_VERSION_3_2_STR);
7633  CYIGL::CurrentAPI.glProvokingVertexProc(eMode);
7634 }
7635 #define glProvokingVertex YiGLProvokingVertex
7636 
7643 inline void YiGLPushDebugGroup(GLenum eSource, GLuint uId, GLsizei nLength, const GLchar *pMessage)
7644 {
7645  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glPushDebugGroupStr);
7646  YI_ASSERT(CYIGL::CurrentAPI.glPushDebugGroupProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glPushDebugGroupStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
7647  CYIGL::CurrentAPI.glPushDebugGroupProc(eSource, uId, nLength, pMessage);
7648 }
7649 #define glPushDebugGroup YiGLPushDebugGroup
7650 
7656 inline void YiGLQueryCounter(GLuint uId, GLenum eTarget)
7657 {
7658  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glQueryCounterStr);
7659  YI_ASSERT(CYIGL::CurrentAPI.glQueryCounterProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glQueryCounterStr, CYIGL::GL_VERSION_3_3_STR);
7660  CYIGL::CurrentAPI.glQueryCounterProc(uId, eTarget);
7661 }
7662 #define glQueryCounter YiGLQueryCounter
7663 
7670 inline void YiGLReadBuffer(GLenum eSrc)
7671 {
7672  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glReadBufferStr);
7673  YI_ASSERT(CYIGL::CurrentAPI.glReadBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glReadBufferStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_0_STR);
7674  CYIGL::CurrentAPI.glReadBufferProc(eSrc);
7675 }
7676 #define glReadBuffer YiGLReadBuffer
7677 
7684 inline void YiGLReadPixels(GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight, GLenum eFormat, GLenum eType, void *pPixels)
7685 {
7686  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glReadPixelsStr);
7687  YI_ASSERT(CYIGL::CurrentAPI.glReadPixelsProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glReadPixelsStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
7688  CYIGL::CurrentAPI.glReadPixelsProc(nX, nY, nWidth, nHeight, eFormat, eType, pPixels);
7689 }
7690 #define glReadPixels YiGLReadPixels
7691 
7698 inline void YiGLReadnPixels(GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight, GLenum eFormat, GLenum eType, GLsizei nBufSize, void *pData)
7699 {
7700  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glReadnPixelsStr);
7701  YI_ASSERT(CYIGL::CurrentAPI.glReadnPixelsProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glReadnPixelsStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_5_STR);
7702  CYIGL::CurrentAPI.glReadnPixelsProc(nX, nY, nWidth, nHeight, eFormat, eType, nBufSize, pData);
7703 }
7704 #define glReadnPixels YiGLReadnPixels
7705 
7712 inline void YiGLReleaseShaderCompiler(void)
7713 {
7714  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glReleaseShaderCompilerStr);
7715  YI_ASSERT(CYIGL::CurrentAPI.glReleaseShaderCompilerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glReleaseShaderCompilerStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_4_1_STR);
7716  CYIGL::CurrentAPI.glReleaseShaderCompilerProc();
7717 }
7718 #define glReleaseShaderCompiler YiGLReleaseShaderCompiler
7719 
7726 inline void YiGLRenderbufferStorage(GLenum eTarget, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight)
7727 {
7728  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glRenderbufferStorageStr);
7729  YI_ASSERT(CYIGL::CurrentAPI.glRenderbufferStorageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glRenderbufferStorageStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_3_0_STR);
7730  CYIGL::CurrentAPI.glRenderbufferStorageProc(eTarget, eInternalformat, nWidth, nHeight);
7731 }
7732 #define glRenderbufferStorage YiGLRenderbufferStorage
7733 
7740 inline void YiGLRenderbufferStorageMultisample(GLenum eTarget, GLsizei nSamples, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight)
7741 {
7742  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glRenderbufferStorageMultisampleStr);
7743  YI_ASSERT(CYIGL::CurrentAPI.glRenderbufferStorageMultisampleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glRenderbufferStorageMultisampleStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
7744  CYIGL::CurrentAPI.glRenderbufferStorageMultisampleProc(eTarget, nSamples, eInternalformat, nWidth, nHeight);
7745 }
7746 #define glRenderbufferStorageMultisample YiGLRenderbufferStorageMultisample
7747 
7754 inline void YiGLResumeTransformFeedback(void)
7755 {
7756  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glResumeTransformFeedbackStr);
7757  YI_ASSERT(CYIGL::CurrentAPI.glResumeTransformFeedbackProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glResumeTransformFeedbackStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_0_STR);
7758  CYIGL::CurrentAPI.glResumeTransformFeedbackProc();
7759 }
7760 #define glResumeTransformFeedback YiGLResumeTransformFeedback
7761 
7768 inline void YiGLSampleCoverage(GLfloat fValue, GLboolean bInvert)
7769 {
7770  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSampleCoverageStr);
7771  YI_ASSERT(CYIGL::CurrentAPI.glSampleCoverageProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glSampleCoverageStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_3_STR);
7772  CYIGL::CurrentAPI.glSampleCoverageProc(fValue, bInvert);
7773 }
7774 #define glSampleCoverage YiGLSampleCoverage
7775 
7782 inline void YiGLSampleMaski(GLuint uMaskNumber, GLbitfield uMask)
7783 {
7784  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSampleMaskiStr);
7785  YI_ASSERT(CYIGL::CurrentAPI.glSampleMaskiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glSampleMaskiStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_3_2_STR);
7786  CYIGL::CurrentAPI.glSampleMaskiProc(uMaskNumber, uMask);
7787 }
7788 #define glSampleMaski YiGLSampleMaski
7789 
7796 inline void YiGLSamplerParameterIiv(GLuint uSampler, GLenum ePname, const GLint *pnParam)
7797 {
7798  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSamplerParameterIivStr);
7799  YI_ASSERT(CYIGL::CurrentAPI.glSamplerParameterIivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glSamplerParameterIivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_3_STR);
7800  CYIGL::CurrentAPI.glSamplerParameterIivProc(uSampler, ePname, pnParam);
7801 }
7802 #define glSamplerParameterIiv YiGLSamplerParameterIiv
7803 
7810 inline void YiGLSamplerParameterIuiv(GLuint uSampler, GLenum ePname, const GLuint *puParam)
7811 {
7812  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSamplerParameterIuivStr);
7813  YI_ASSERT(CYIGL::CurrentAPI.glSamplerParameterIuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glSamplerParameterIuivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_3_STR);
7814  CYIGL::CurrentAPI.glSamplerParameterIuivProc(uSampler, ePname, puParam);
7815 }
7816 #define glSamplerParameterIuiv YiGLSamplerParameterIuiv
7817 
7824 inline void YiGLSamplerParameterf(GLuint uSampler, GLenum ePname, GLfloat fParam)
7825 {
7826  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSamplerParameterfStr);
7827  YI_ASSERT(CYIGL::CurrentAPI.glSamplerParameterfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glSamplerParameterfStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
7828  CYIGL::CurrentAPI.glSamplerParameterfProc(uSampler, ePname, fParam);
7829 }
7830 #define glSamplerParameterf YiGLSamplerParameterf
7831 
7838 inline void YiGLSamplerParameterfv(GLuint uSampler, GLenum ePname, const GLfloat *pfParam)
7839 {
7840  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSamplerParameterfvStr);
7841  YI_ASSERT(CYIGL::CurrentAPI.glSamplerParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glSamplerParameterfvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
7842  CYIGL::CurrentAPI.glSamplerParameterfvProc(uSampler, ePname, pfParam);
7843 }
7844 #define glSamplerParameterfv YiGLSamplerParameterfv
7845 
7852 inline void YiGLSamplerParameteri(GLuint uSampler, GLenum ePname, GLint nParam)
7853 {
7854  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSamplerParameteriStr);
7855  YI_ASSERT(CYIGL::CurrentAPI.glSamplerParameteriProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glSamplerParameteriStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
7856  CYIGL::CurrentAPI.glSamplerParameteriProc(uSampler, ePname, nParam);
7857 }
7858 #define glSamplerParameteri YiGLSamplerParameteri
7859 
7866 inline void YiGLSamplerParameteriv(GLuint uSampler, GLenum ePname, const GLint *pnParam)
7867 {
7868  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSamplerParameterivStr);
7869  YI_ASSERT(CYIGL::CurrentAPI.glSamplerParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glSamplerParameterivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
7870  CYIGL::CurrentAPI.glSamplerParameterivProc(uSampler, ePname, pnParam);
7871 }
7872 #define glSamplerParameteriv YiGLSamplerParameteriv
7873 
7880 inline void YiGLScissor(GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight)
7881 {
7882  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glScissorStr);
7883  YI_ASSERT(CYIGL::CurrentAPI.glScissorProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glScissorStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
7884  CYIGL::CurrentAPI.glScissorProc(nX, nY, nWidth, nHeight);
7885 }
7886 #define glScissor YiGLScissor
7887 
7893 inline void YiGLScissorArrayv(GLuint uFirst, GLsizei nCount, const GLint *pnV)
7894 {
7895  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glScissorArrayvStr);
7896  YI_ASSERT(CYIGL::CurrentAPI.glScissorArrayvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glScissorArrayvStr, CYIGL::GL_VERSION_4_1_STR);
7897  CYIGL::CurrentAPI.glScissorArrayvProc(uFirst, nCount, pnV);
7898 }
7899 #define glScissorArrayv YiGLScissorArrayv
7900 
7906 inline void YiGLScissorIndexed(GLuint uIndex, GLint nLeft, GLint nBottom, GLsizei nWidth, GLsizei nHeight)
7907 {
7908  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glScissorIndexedStr);
7909  YI_ASSERT(CYIGL::CurrentAPI.glScissorIndexedProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glScissorIndexedStr, CYIGL::GL_VERSION_4_1_STR);
7910  CYIGL::CurrentAPI.glScissorIndexedProc(uIndex, nLeft, nBottom, nWidth, nHeight);
7911 }
7912 #define glScissorIndexed YiGLScissorIndexed
7913 
7919 inline void YiGLScissorIndexedv(GLuint uIndex, const GLint *pnV)
7920 {
7921  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glScissorIndexedvStr);
7922  YI_ASSERT(CYIGL::CurrentAPI.glScissorIndexedvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glScissorIndexedvStr, CYIGL::GL_VERSION_4_1_STR);
7923  CYIGL::CurrentAPI.glScissorIndexedvProc(uIndex, pnV);
7924 }
7925 #define glScissorIndexedv YiGLScissorIndexedv
7926 
7932 inline void YiGLSecondaryColor3b(GLbyte nRed, GLbyte nGreen, GLbyte nBlue)
7933 {
7934  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3bStr);
7935  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3bProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3bStr, CYIGL::GL_VERSION_1_4_STR);
7936  CYIGL::CurrentAPI.glSecondaryColor3bProc(nRed, nGreen, nBlue);
7937 }
7938 #define glSecondaryColor3b YiGLSecondaryColor3b
7939 
7945 inline void YiGLSecondaryColor3bv(const GLbyte *pnV)
7946 {
7947  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3bvStr);
7948  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3bvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3bvStr, CYIGL::GL_VERSION_1_4_STR);
7949  CYIGL::CurrentAPI.glSecondaryColor3bvProc(pnV);
7950 }
7951 #define glSecondaryColor3bv YiGLSecondaryColor3bv
7952 
7958 inline void YiGLSecondaryColor3d(GLdouble fRed, GLdouble fGreen, GLdouble fBlue)
7959 {
7960  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3dStr);
7961  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3dStr, CYIGL::GL_VERSION_1_4_STR);
7962  CYIGL::CurrentAPI.glSecondaryColor3dProc(fRed, fGreen, fBlue);
7963 }
7964 #define glSecondaryColor3d YiGLSecondaryColor3d
7965 
7971 inline void YiGLSecondaryColor3dv(const GLdouble *pfV)
7972 {
7973  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3dvStr);
7974  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3dvStr, CYIGL::GL_VERSION_1_4_STR);
7975  CYIGL::CurrentAPI.glSecondaryColor3dvProc(pfV);
7976 }
7977 #define glSecondaryColor3dv YiGLSecondaryColor3dv
7978 
7984 inline void YiGLSecondaryColor3f(GLfloat fRed, GLfloat fGreen, GLfloat fBlue)
7985 {
7986  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3fStr);
7987  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3fStr, CYIGL::GL_VERSION_1_4_STR);
7988  CYIGL::CurrentAPI.glSecondaryColor3fProc(fRed, fGreen, fBlue);
7989 }
7990 #define glSecondaryColor3f YiGLSecondaryColor3f
7991 
7997 inline void YiGLSecondaryColor3fv(const GLfloat *pfV)
7998 {
7999  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3fvStr);
8000  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3fvStr, CYIGL::GL_VERSION_1_4_STR);
8001  CYIGL::CurrentAPI.glSecondaryColor3fvProc(pfV);
8002 }
8003 #define glSecondaryColor3fv YiGLSecondaryColor3fv
8004 
8010 inline void YiGLSecondaryColor3i(GLint nRed, GLint nGreen, GLint nBlue)
8011 {
8012  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3iStr);
8013  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3iStr, CYIGL::GL_VERSION_1_4_STR);
8014  CYIGL::CurrentAPI.glSecondaryColor3iProc(nRed, nGreen, nBlue);
8015 }
8016 #define glSecondaryColor3i YiGLSecondaryColor3i
8017 
8023 inline void YiGLSecondaryColor3iv(const GLint *pnV)
8024 {
8025  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3ivStr);
8026  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3ivStr, CYIGL::GL_VERSION_1_4_STR);
8027  CYIGL::CurrentAPI.glSecondaryColor3ivProc(pnV);
8028 }
8029 #define glSecondaryColor3iv YiGLSecondaryColor3iv
8030 
8036 inline void YiGLSecondaryColor3s(GLshort nRed, GLshort nGreen, GLshort nBlue)
8037 {
8038  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3sStr);
8039  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3sStr, CYIGL::GL_VERSION_1_4_STR);
8040  CYIGL::CurrentAPI.glSecondaryColor3sProc(nRed, nGreen, nBlue);
8041 }
8042 #define glSecondaryColor3s YiGLSecondaryColor3s
8043 
8049 inline void YiGLSecondaryColor3sv(const GLshort *pnV)
8050 {
8051  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3svStr);
8052  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3svStr, CYIGL::GL_VERSION_1_4_STR);
8053  CYIGL::CurrentAPI.glSecondaryColor3svProc(pnV);
8054 }
8055 #define glSecondaryColor3sv YiGLSecondaryColor3sv
8056 
8062 inline void YiGLSecondaryColor3ub(GLubyte uRed, GLubyte uGreen, GLubyte uBlue)
8063 {
8064  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3ubStr);
8065  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3ubProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3ubStr, CYIGL::GL_VERSION_1_4_STR);
8066  CYIGL::CurrentAPI.glSecondaryColor3ubProc(uRed, uGreen, uBlue);
8067 }
8068 #define glSecondaryColor3ub YiGLSecondaryColor3ub
8069 
8075 inline void YiGLSecondaryColor3ubv(const GLubyte *puV)
8076 {
8077  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3ubvStr);
8078  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3ubvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3ubvStr, CYIGL::GL_VERSION_1_4_STR);
8079  CYIGL::CurrentAPI.glSecondaryColor3ubvProc(puV);
8080 }
8081 #define glSecondaryColor3ubv YiGLSecondaryColor3ubv
8082 
8088 inline void YiGLSecondaryColor3ui(GLuint uRed, GLuint uGreen, GLuint uBlue)
8089 {
8090  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3uiStr);
8091  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3uiStr, CYIGL::GL_VERSION_1_4_STR);
8092  CYIGL::CurrentAPI.glSecondaryColor3uiProc(uRed, uGreen, uBlue);
8093 }
8094 #define glSecondaryColor3ui YiGLSecondaryColor3ui
8095 
8101 inline void YiGLSecondaryColor3uiv(const GLuint *puV)
8102 {
8103  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3uivStr);
8104  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3uivStr, CYIGL::GL_VERSION_1_4_STR);
8105  CYIGL::CurrentAPI.glSecondaryColor3uivProc(puV);
8106 }
8107 #define glSecondaryColor3uiv YiGLSecondaryColor3uiv
8108 
8114 inline void YiGLSecondaryColor3us(GLushort uRed, GLushort uGreen, GLushort uBlue)
8115 {
8116  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3usStr);
8117  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3usProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3usStr, CYIGL::GL_VERSION_1_4_STR);
8118  CYIGL::CurrentAPI.glSecondaryColor3usProc(uRed, uGreen, uBlue);
8119 }
8120 #define glSecondaryColor3us YiGLSecondaryColor3us
8121 
8127 inline void YiGLSecondaryColor3usv(const GLushort *puV)
8128 {
8129  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColor3usvStr);
8130  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColor3usvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColor3usvStr, CYIGL::GL_VERSION_1_4_STR);
8131  CYIGL::CurrentAPI.glSecondaryColor3usvProc(puV);
8132 }
8133 #define glSecondaryColor3usv YiGLSecondaryColor3usv
8134 
8140 inline void YiGLSecondaryColorP3ui(GLenum eType, GLuint uColor)
8141 {
8142  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColorP3uiStr);
8143  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColorP3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColorP3uiStr, CYIGL::GL_VERSION_3_3_STR);
8144  CYIGL::CurrentAPI.glSecondaryColorP3uiProc(eType, uColor);
8145 }
8146 #define glSecondaryColorP3ui YiGLSecondaryColorP3ui
8147 
8153 inline void YiGLSecondaryColorP3uiv(GLenum eType, const GLuint *puColor)
8154 {
8155  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColorP3uivStr);
8156  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColorP3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColorP3uivStr, CYIGL::GL_VERSION_3_3_STR);
8157  CYIGL::CurrentAPI.glSecondaryColorP3uivProc(eType, puColor);
8158 }
8159 #define glSecondaryColorP3uiv YiGLSecondaryColorP3uiv
8160 
8166 inline void YiGLSecondaryColorPointer(GLint nSize, GLenum eType, GLsizei nStride, const void *pPointer)
8167 {
8168  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glSecondaryColorPointerStr);
8169  YI_ASSERT(CYIGL::CurrentAPI.glSecondaryColorPointerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glSecondaryColorPointerStr, CYIGL::GL_VERSION_1_4_STR);
8170  CYIGL::CurrentAPI.glSecondaryColorPointerProc(nSize, eType, nStride, pPointer);
8171 }
8172 #define glSecondaryColorPointer YiGLSecondaryColorPointer
8173 
8180 inline void YiGLShaderBinary(GLsizei nCount, const GLuint *puShaders, GLenum eBinaryformat, const void *pBinary, GLsizei nLength)
8181 {
8182  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glShaderBinaryStr);
8183  YI_ASSERT(CYIGL::CurrentAPI.glShaderBinaryProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glShaderBinaryStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_4_1_STR);
8184  CYIGL::CurrentAPI.glShaderBinaryProc(nCount, puShaders, eBinaryformat, pBinary, nLength);
8185 }
8186 #define glShaderBinary YiGLShaderBinary
8187 
8194 inline void YiGLShaderSource(GLuint uShader, GLsizei nCount, const GLchar *const *ppString, const GLint *pnLength)
8195 {
8196  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glShaderSourceStr);
8197  YI_ASSERT(CYIGL::CurrentAPI.glShaderSourceProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glShaderSourceStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
8198  CYIGL::CurrentAPI.glShaderSourceProc(uShader, nCount, ppString, pnLength);
8199 }
8200 #define glShaderSource YiGLShaderSource
8201 
8207 inline void YiGLShaderStorageBlockBinding(GLuint uProgram, GLuint uStorageBlockIndex, GLuint uStorageBlockBinding)
8208 {
8209  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glShaderStorageBlockBindingStr);
8210  YI_ASSERT(CYIGL::CurrentAPI.glShaderStorageBlockBindingProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glShaderStorageBlockBindingStr, CYIGL::GL_VERSION_4_3_STR);
8211  CYIGL::CurrentAPI.glShaderStorageBlockBindingProc(uProgram, uStorageBlockIndex, uStorageBlockBinding);
8212 }
8213 #define glShaderStorageBlockBinding YiGLShaderStorageBlockBinding
8214 
8221 inline void YiGLStencilFunc(GLenum eFunc, GLint nRef, GLuint uMask)
8222 {
8223  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glStencilFuncStr);
8224  YI_ASSERT(CYIGL::CurrentAPI.glStencilFuncProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glStencilFuncStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
8225  CYIGL::CurrentAPI.glStencilFuncProc(eFunc, nRef, uMask);
8226 }
8227 #define glStencilFunc YiGLStencilFunc
8228 
8235 inline void YiGLStencilFuncSeparate(GLenum eFace, GLenum eFunc, GLint nRef, GLuint uMask)
8236 {
8237  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glStencilFuncSeparateStr);
8238  YI_ASSERT(CYIGL::CurrentAPI.glStencilFuncSeparateProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glStencilFuncSeparateStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
8239  CYIGL::CurrentAPI.glStencilFuncSeparateProc(eFace, eFunc, nRef, uMask);
8240 }
8241 #define glStencilFuncSeparate YiGLStencilFuncSeparate
8242 
8249 inline void YiGLStencilMask(GLuint uMask)
8250 {
8251  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glStencilMaskStr);
8252  YI_ASSERT(CYIGL::CurrentAPI.glStencilMaskProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glStencilMaskStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
8253  CYIGL::CurrentAPI.glStencilMaskProc(uMask);
8254 }
8255 #define glStencilMask YiGLStencilMask
8256 
8263 inline void YiGLStencilMaskSeparate(GLenum eFace, GLuint uMask)
8264 {
8265  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glStencilMaskSeparateStr);
8266  YI_ASSERT(CYIGL::CurrentAPI.glStencilMaskSeparateProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glStencilMaskSeparateStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
8267  CYIGL::CurrentAPI.glStencilMaskSeparateProc(eFace, uMask);
8268 }
8269 #define glStencilMaskSeparate YiGLStencilMaskSeparate
8270 
8277 inline void YiGLStencilOp(GLenum eFail, GLenum eZfail, GLenum eZpass)
8278 {
8279  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glStencilOpStr);
8280  YI_ASSERT(CYIGL::CurrentAPI.glStencilOpProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glStencilOpStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
8281  CYIGL::CurrentAPI.glStencilOpProc(eFail, eZfail, eZpass);
8282 }
8283 #define glStencilOp YiGLStencilOp
8284 
8291 inline void YiGLStencilOpSeparate(GLenum eFace, GLenum eSfail, GLenum eDpfail, GLenum eDppass)
8292 {
8293  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glStencilOpSeparateStr);
8294  YI_ASSERT(CYIGL::CurrentAPI.glStencilOpSeparateProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glStencilOpSeparateStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
8295  CYIGL::CurrentAPI.glStencilOpSeparateProc(eFace, eSfail, eDpfail, eDppass);
8296 }
8297 #define glStencilOpSeparate YiGLStencilOpSeparate
8298 
8305 inline void YiGLTexBuffer(GLenum eTarget, GLenum eInternalformat, GLuint uBuffer)
8306 {
8307  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexBufferStr);
8308  YI_ASSERT(CYIGL::CurrentAPI.glTexBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexBufferStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_1_STR);
8309  CYIGL::CurrentAPI.glTexBufferProc(eTarget, eInternalformat, uBuffer);
8310 }
8311 #define glTexBuffer YiGLTexBuffer
8312 
8319 inline void YiGLTexBufferRange(GLenum eTarget, GLenum eInternalformat, GLuint uBuffer, GLintptr pOffset, GLsizeiptr pSize)
8320 {
8321  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexBufferRangeStr);
8322  YI_ASSERT(CYIGL::CurrentAPI.glTexBufferRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexBufferRangeStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
8323  CYIGL::CurrentAPI.glTexBufferRangeProc(eTarget, eInternalformat, uBuffer, pOffset, pSize);
8324 }
8325 #define glTexBufferRange YiGLTexBufferRange
8326 
8332 inline void YiGLTexCoordP1ui(GLenum eType, GLuint uCoords)
8333 {
8334  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexCoordP1uiStr);
8335  YI_ASSERT(CYIGL::CurrentAPI.glTexCoordP1uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexCoordP1uiStr, CYIGL::GL_VERSION_3_3_STR);
8336  CYIGL::CurrentAPI.glTexCoordP1uiProc(eType, uCoords);
8337 }
8338 #define glTexCoordP1ui YiGLTexCoordP1ui
8339 
8345 inline void YiGLTexCoordP1uiv(GLenum eType, const GLuint *puCoords)
8346 {
8347  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexCoordP1uivStr);
8348  YI_ASSERT(CYIGL::CurrentAPI.glTexCoordP1uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexCoordP1uivStr, CYIGL::GL_VERSION_3_3_STR);
8349  CYIGL::CurrentAPI.glTexCoordP1uivProc(eType, puCoords);
8350 }
8351 #define glTexCoordP1uiv YiGLTexCoordP1uiv
8352 
8358 inline void YiGLTexCoordP2ui(GLenum eType, GLuint uCoords)
8359 {
8360  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexCoordP2uiStr);
8361  YI_ASSERT(CYIGL::CurrentAPI.glTexCoordP2uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexCoordP2uiStr, CYIGL::GL_VERSION_3_3_STR);
8362  CYIGL::CurrentAPI.glTexCoordP2uiProc(eType, uCoords);
8363 }
8364 #define glTexCoordP2ui YiGLTexCoordP2ui
8365 
8371 inline void YiGLTexCoordP2uiv(GLenum eType, const GLuint *puCoords)
8372 {
8373  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexCoordP2uivStr);
8374  YI_ASSERT(CYIGL::CurrentAPI.glTexCoordP2uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexCoordP2uivStr, CYIGL::GL_VERSION_3_3_STR);
8375  CYIGL::CurrentAPI.glTexCoordP2uivProc(eType, puCoords);
8376 }
8377 #define glTexCoordP2uiv YiGLTexCoordP2uiv
8378 
8384 inline void YiGLTexCoordP3ui(GLenum eType, GLuint uCoords)
8385 {
8386  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexCoordP3uiStr);
8387  YI_ASSERT(CYIGL::CurrentAPI.glTexCoordP3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexCoordP3uiStr, CYIGL::GL_VERSION_3_3_STR);
8388  CYIGL::CurrentAPI.glTexCoordP3uiProc(eType, uCoords);
8389 }
8390 #define glTexCoordP3ui YiGLTexCoordP3ui
8391 
8397 inline void YiGLTexCoordP3uiv(GLenum eType, const GLuint *puCoords)
8398 {
8399  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexCoordP3uivStr);
8400  YI_ASSERT(CYIGL::CurrentAPI.glTexCoordP3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexCoordP3uivStr, CYIGL::GL_VERSION_3_3_STR);
8401  CYIGL::CurrentAPI.glTexCoordP3uivProc(eType, puCoords);
8402 }
8403 #define glTexCoordP3uiv YiGLTexCoordP3uiv
8404 
8410 inline void YiGLTexCoordP4ui(GLenum eType, GLuint uCoords)
8411 {
8412  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexCoordP4uiStr);
8413  YI_ASSERT(CYIGL::CurrentAPI.glTexCoordP4uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexCoordP4uiStr, CYIGL::GL_VERSION_3_3_STR);
8414  CYIGL::CurrentAPI.glTexCoordP4uiProc(eType, uCoords);
8415 }
8416 #define glTexCoordP4ui YiGLTexCoordP4ui
8417 
8423 inline void YiGLTexCoordP4uiv(GLenum eType, const GLuint *puCoords)
8424 {
8425  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexCoordP4uivStr);
8426  YI_ASSERT(CYIGL::CurrentAPI.glTexCoordP4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexCoordP4uivStr, CYIGL::GL_VERSION_3_3_STR);
8427  CYIGL::CurrentAPI.glTexCoordP4uivProc(eType, puCoords);
8428 }
8429 #define glTexCoordP4uiv YiGLTexCoordP4uiv
8430 
8436 inline void YiGLTexImage1D(GLenum eTarget, GLint nLevel, GLint nInternalformat, GLsizei nWidth, GLint nBorder, GLenum eFormat, GLenum eType, const void *pPixels)
8437 {
8438  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexImage1DStr);
8439  YI_ASSERT(CYIGL::CurrentAPI.glTexImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexImage1DStr, CYIGL::GL_VERSION_1_0_STR);
8440  CYIGL::CurrentAPI.glTexImage1DProc(eTarget, nLevel, nInternalformat, nWidth, nBorder, eFormat, eType, pPixels);
8441 }
8442 #define glTexImage1D YiGLTexImage1D
8443 
8450 inline void YiGLTexImage2D(GLenum eTarget, GLint nLevel, GLint nInternalformat, GLsizei nWidth, GLsizei nHeight, GLint nBorder, GLenum eFormat, GLenum eType, const void *pPixels)
8451 {
8452  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexImage2DStr);
8453  YI_ASSERT(CYIGL::CurrentAPI.glTexImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexImage2DStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
8454  CYIGL::CurrentAPI.glTexImage2DProc(eTarget, nLevel, nInternalformat, nWidth, nHeight, nBorder, eFormat, eType, pPixels);
8455 }
8456 #define glTexImage2D YiGLTexImage2D
8457 
8463 inline void YiGLTexImage2DMultisample(GLenum eTarget, GLsizei nSamples, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLboolean bFixedsamplelocations)
8464 {
8465  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexImage2DMultisampleStr);
8466  YI_ASSERT(CYIGL::CurrentAPI.glTexImage2DMultisampleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexImage2DMultisampleStr, CYIGL::GL_VERSION_3_2_STR);
8467  CYIGL::CurrentAPI.glTexImage2DMultisampleProc(eTarget, nSamples, eInternalformat, nWidth, nHeight, bFixedsamplelocations);
8468 }
8469 #define glTexImage2DMultisample YiGLTexImage2DMultisample
8470 
8477 inline void YiGLTexImage3D(GLenum eTarget, GLint nLevel, GLint nInternalformat, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLint nBorder, GLenum eFormat, GLenum eType, const void *pPixels)
8478 {
8479  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexImage3DStr);
8480  YI_ASSERT(CYIGL::CurrentAPI.glTexImage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexImage3DStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_2_STR);
8481  CYIGL::CurrentAPI.glTexImage3DProc(eTarget, nLevel, nInternalformat, nWidth, nHeight, nDepth, nBorder, eFormat, eType, pPixels);
8482 }
8483 #define glTexImage3D YiGLTexImage3D
8484 
8490 inline void YiGLTexImage3DMultisample(GLenum eTarget, GLsizei nSamples, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLboolean bFixedsamplelocations)
8491 {
8492  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexImage3DMultisampleStr);
8493  YI_ASSERT(CYIGL::CurrentAPI.glTexImage3DMultisampleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexImage3DMultisampleStr, CYIGL::GL_VERSION_3_2_STR);
8494  CYIGL::CurrentAPI.glTexImage3DMultisampleProc(eTarget, nSamples, eInternalformat, nWidth, nHeight, nDepth, bFixedsamplelocations);
8495 }
8496 #define glTexImage3DMultisample YiGLTexImage3DMultisample
8497 
8504 inline void YiGLTexParameterIiv(GLenum eTarget, GLenum ePname, const GLint *pnParams)
8505 {
8506  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexParameterIivStr);
8507  YI_ASSERT(CYIGL::CurrentAPI.glTexParameterIivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexParameterIivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_0_STR);
8508  CYIGL::CurrentAPI.glTexParameterIivProc(eTarget, ePname, pnParams);
8509 }
8510 #define glTexParameterIiv YiGLTexParameterIiv
8511 
8518 inline void YiGLTexParameterIuiv(GLenum eTarget, GLenum ePname, const GLuint *puParams)
8519 {
8520  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexParameterIuivStr);
8521  YI_ASSERT(CYIGL::CurrentAPI.glTexParameterIuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexParameterIuivStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_3_0_STR);
8522  CYIGL::CurrentAPI.glTexParameterIuivProc(eTarget, ePname, puParams);
8523 }
8524 #define glTexParameterIuiv YiGLTexParameterIuiv
8525 
8532 inline void YiGLTexParameterf(GLenum eTarget, GLenum ePname, GLfloat fParam)
8533 {
8534  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexParameterfStr);
8535  YI_ASSERT(CYIGL::CurrentAPI.glTexParameterfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexParameterfStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
8536  CYIGL::CurrentAPI.glTexParameterfProc(eTarget, ePname, fParam);
8537 }
8538 #define glTexParameterf YiGLTexParameterf
8539 
8546 inline void YiGLTexParameterfv(GLenum eTarget, GLenum ePname, const GLfloat *pfParams)
8547 {
8548  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexParameterfvStr);
8549  YI_ASSERT(CYIGL::CurrentAPI.glTexParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexParameterfvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
8550  CYIGL::CurrentAPI.glTexParameterfvProc(eTarget, ePname, pfParams);
8551 }
8552 #define glTexParameterfv YiGLTexParameterfv
8553 
8560 inline void YiGLTexParameteri(GLenum eTarget, GLenum ePname, GLint nParam)
8561 {
8562  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexParameteriStr);
8563  YI_ASSERT(CYIGL::CurrentAPI.glTexParameteriProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexParameteriStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
8564  CYIGL::CurrentAPI.glTexParameteriProc(eTarget, ePname, nParam);
8565 }
8566 #define glTexParameteri YiGLTexParameteri
8567 
8574 inline void YiGLTexParameteriv(GLenum eTarget, GLenum ePname, const GLint *pnParams)
8575 {
8576  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexParameterivStr);
8577  YI_ASSERT(CYIGL::CurrentAPI.glTexParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexParameterivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
8578  CYIGL::CurrentAPI.glTexParameterivProc(eTarget, ePname, pnParams);
8579 }
8580 #define glTexParameteriv YiGLTexParameteriv
8581 
8587 inline void YiGLTexStorage1D(GLenum eTarget, GLsizei nLevels, GLenum eInternalformat, GLsizei nWidth)
8588 {
8589  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexStorage1DStr);
8590  YI_ASSERT(CYIGL::CurrentAPI.glTexStorage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexStorage1DStr, CYIGL::GL_VERSION_4_2_STR);
8591  CYIGL::CurrentAPI.glTexStorage1DProc(eTarget, nLevels, eInternalformat, nWidth);
8592 }
8593 #define glTexStorage1D YiGLTexStorage1D
8594 
8601 inline void YiGLTexStorage2D(GLenum eTarget, GLsizei nLevels, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight)
8602 {
8603  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexStorage2DStr);
8604  YI_ASSERT(CYIGL::CurrentAPI.glTexStorage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexStorage2DStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_2_STR);
8605  CYIGL::CurrentAPI.glTexStorage2DProc(eTarget, nLevels, eInternalformat, nWidth, nHeight);
8606 }
8607 #define glTexStorage2D YiGLTexStorage2D
8608 
8615 inline void YiGLTexStorage2DMultisample(GLenum eTarget, GLsizei nSamples, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLboolean bFixedsamplelocations)
8616 {
8617  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexStorage2DMultisampleStr);
8618  YI_ASSERT(CYIGL::CurrentAPI.glTexStorage2DMultisampleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexStorage2DMultisampleStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
8619  CYIGL::CurrentAPI.glTexStorage2DMultisampleProc(eTarget, nSamples, eInternalformat, nWidth, nHeight, bFixedsamplelocations);
8620 }
8621 #define glTexStorage2DMultisample YiGLTexStorage2DMultisample
8622 
8629 inline void YiGLTexStorage3D(GLenum eTarget, GLsizei nLevels, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth)
8630 {
8631  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexStorage3DStr);
8632  YI_ASSERT(CYIGL::CurrentAPI.glTexStorage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexStorage3DStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_4_2_STR);
8633  CYIGL::CurrentAPI.glTexStorage3DProc(eTarget, nLevels, eInternalformat, nWidth, nHeight, nDepth);
8634 }
8635 #define glTexStorage3D YiGLTexStorage3D
8636 
8643 inline void YiGLTexStorage3DMultisample(GLenum eTarget, GLsizei nSamples, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLboolean bFixedsamplelocations)
8644 {
8645  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexStorage3DMultisampleStr);
8646  YI_ASSERT(CYIGL::CurrentAPI.glTexStorage3DMultisampleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexStorage3DMultisampleStr, CYIGL::GL_ES_VERSION_3_2_STR, CYIGL::GL_VERSION_4_3_STR);
8647  CYIGL::CurrentAPI.glTexStorage3DMultisampleProc(eTarget, nSamples, eInternalformat, nWidth, nHeight, nDepth, bFixedsamplelocations);
8648 }
8649 #define glTexStorage3DMultisample YiGLTexStorage3DMultisample
8650 
8656 inline void YiGLTexSubImage1D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLsizei nWidth, GLenum eFormat, GLenum eType, const void *pPixels)
8657 {
8658  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexSubImage1DStr);
8659  YI_ASSERT(CYIGL::CurrentAPI.glTexSubImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTexSubImage1DStr, CYIGL::GL_VERSION_1_1_STR);
8660  CYIGL::CurrentAPI.glTexSubImage1DProc(eTarget, nLevel, nXoffset, nWidth, eFormat, eType, pPixels);
8661 }
8662 #define glTexSubImage1D YiGLTexSubImage1D
8663 
8670 inline void YiGLTexSubImage2D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLint nYoffset, GLsizei nWidth, GLsizei nHeight, GLenum eFormat, GLenum eType, const void *pPixels)
8671 {
8672  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexSubImage2DStr);
8673  YI_ASSERT(CYIGL::CurrentAPI.glTexSubImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexSubImage2DStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_1_STR);
8674  CYIGL::CurrentAPI.glTexSubImage2DProc(eTarget, nLevel, nXoffset, nYoffset, nWidth, nHeight, eFormat, eType, pPixels);
8675 }
8676 #define glTexSubImage2D YiGLTexSubImage2D
8677 
8684 inline void YiGLTexSubImage3D(GLenum eTarget, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLenum eFormat, GLenum eType, const void *pPixels)
8685 {
8686  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTexSubImage3DStr);
8687  YI_ASSERT(CYIGL::CurrentAPI.glTexSubImage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTexSubImage3DStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_2_STR);
8688  CYIGL::CurrentAPI.glTexSubImage3DProc(eTarget, nLevel, nXoffset, nYoffset, nZoffset, nWidth, nHeight, nDepth, eFormat, eType, pPixels);
8689 }
8690 #define glTexSubImage3D YiGLTexSubImage3D
8691 
8697 inline void YiGLTextureBarrier(void)
8698 {
8699  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureBarrierStr);
8700  YI_ASSERT(CYIGL::CurrentAPI.glTextureBarrierProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureBarrierStr, CYIGL::GL_VERSION_4_5_STR);
8701  CYIGL::CurrentAPI.glTextureBarrierProc();
8702 }
8703 #define glTextureBarrier YiGLTextureBarrier
8704 
8710 inline void YiGLTextureBuffer(GLuint uTexture, GLenum eInternalformat, GLuint uBuffer)
8711 {
8712  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureBufferStr);
8713  YI_ASSERT(CYIGL::CurrentAPI.glTextureBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureBufferStr, CYIGL::GL_VERSION_4_5_STR);
8714  CYIGL::CurrentAPI.glTextureBufferProc(uTexture, eInternalformat, uBuffer);
8715 }
8716 #define glTextureBuffer YiGLTextureBuffer
8717 
8723 inline void YiGLTextureBufferRange(GLuint uTexture, GLenum eInternalformat, GLuint uBuffer, GLintptr pOffset, GLsizeiptr pSize)
8724 {
8725  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureBufferRangeStr);
8726  YI_ASSERT(CYIGL::CurrentAPI.glTextureBufferRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureBufferRangeStr, CYIGL::GL_VERSION_4_5_STR);
8727  CYIGL::CurrentAPI.glTextureBufferRangeProc(uTexture, eInternalformat, uBuffer, pOffset, pSize);
8728 }
8729 #define glTextureBufferRange YiGLTextureBufferRange
8730 
8736 inline void YiGLTextureParameterIiv(GLuint uTexture, GLenum ePname, const GLint *pnParams)
8737 {
8738  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureParameterIivStr);
8739  YI_ASSERT(CYIGL::CurrentAPI.glTextureParameterIivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureParameterIivStr, CYIGL::GL_VERSION_4_5_STR);
8740  CYIGL::CurrentAPI.glTextureParameterIivProc(uTexture, ePname, pnParams);
8741 }
8742 #define glTextureParameterIiv YiGLTextureParameterIiv
8743 
8749 inline void YiGLTextureParameterIuiv(GLuint uTexture, GLenum ePname, const GLuint *puParams)
8750 {
8751  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureParameterIuivStr);
8752  YI_ASSERT(CYIGL::CurrentAPI.glTextureParameterIuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureParameterIuivStr, CYIGL::GL_VERSION_4_5_STR);
8753  CYIGL::CurrentAPI.glTextureParameterIuivProc(uTexture, ePname, puParams);
8754 }
8755 #define glTextureParameterIuiv YiGLTextureParameterIuiv
8756 
8762 inline void YiGLTextureParameterf(GLuint uTexture, GLenum ePname, GLfloat fParam)
8763 {
8764  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureParameterfStr);
8765  YI_ASSERT(CYIGL::CurrentAPI.glTextureParameterfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureParameterfStr, CYIGL::GL_VERSION_4_5_STR);
8766  CYIGL::CurrentAPI.glTextureParameterfProc(uTexture, ePname, fParam);
8767 }
8768 #define glTextureParameterf YiGLTextureParameterf
8769 
8775 inline void YiGLTextureParameterfv(GLuint uTexture, GLenum ePname, const GLfloat *pfParam)
8776 {
8777  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureParameterfvStr);
8778  YI_ASSERT(CYIGL::CurrentAPI.glTextureParameterfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureParameterfvStr, CYIGL::GL_VERSION_4_5_STR);
8779  CYIGL::CurrentAPI.glTextureParameterfvProc(uTexture, ePname, pfParam);
8780 }
8781 #define glTextureParameterfv YiGLTextureParameterfv
8782 
8788 inline void YiGLTextureParameteri(GLuint uTexture, GLenum ePname, GLint nParam)
8789 {
8790  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureParameteriStr);
8791  YI_ASSERT(CYIGL::CurrentAPI.glTextureParameteriProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureParameteriStr, CYIGL::GL_VERSION_4_5_STR);
8792  CYIGL::CurrentAPI.glTextureParameteriProc(uTexture, ePname, nParam);
8793 }
8794 #define glTextureParameteri YiGLTextureParameteri
8795 
8801 inline void YiGLTextureParameteriv(GLuint uTexture, GLenum ePname, const GLint *pnParam)
8802 {
8803  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureParameterivStr);
8804  YI_ASSERT(CYIGL::CurrentAPI.glTextureParameterivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureParameterivStr, CYIGL::GL_VERSION_4_5_STR);
8805  CYIGL::CurrentAPI.glTextureParameterivProc(uTexture, ePname, pnParam);
8806 }
8807 #define glTextureParameteriv YiGLTextureParameteriv
8808 
8814 inline void YiGLTextureStorage1D(GLuint uTexture, GLsizei nLevels, GLenum eInternalformat, GLsizei nWidth)
8815 {
8816  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureStorage1DStr);
8817  YI_ASSERT(CYIGL::CurrentAPI.glTextureStorage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureStorage1DStr, CYIGL::GL_VERSION_4_5_STR);
8818  CYIGL::CurrentAPI.glTextureStorage1DProc(uTexture, nLevels, eInternalformat, nWidth);
8819 }
8820 #define glTextureStorage1D YiGLTextureStorage1D
8821 
8827 inline void YiGLTextureStorage2D(GLuint uTexture, GLsizei nLevels, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight)
8828 {
8829  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureStorage2DStr);
8830  YI_ASSERT(CYIGL::CurrentAPI.glTextureStorage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureStorage2DStr, CYIGL::GL_VERSION_4_5_STR);
8831  CYIGL::CurrentAPI.glTextureStorage2DProc(uTexture, nLevels, eInternalformat, nWidth, nHeight);
8832 }
8833 #define glTextureStorage2D YiGLTextureStorage2D
8834 
8840 inline void YiGLTextureStorage2DMultisample(GLuint uTexture, GLsizei nSamples, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLboolean bFixedsamplelocations)
8841 {
8842  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureStorage2DMultisampleStr);
8843  YI_ASSERT(CYIGL::CurrentAPI.glTextureStorage2DMultisampleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureStorage2DMultisampleStr, CYIGL::GL_VERSION_4_5_STR);
8844  CYIGL::CurrentAPI.glTextureStorage2DMultisampleProc(uTexture, nSamples, eInternalformat, nWidth, nHeight, bFixedsamplelocations);
8845 }
8846 #define glTextureStorage2DMultisample YiGLTextureStorage2DMultisample
8847 
8853 inline void YiGLTextureStorage3D(GLuint uTexture, GLsizei nLevels, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth)
8854 {
8855  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureStorage3DStr);
8856  YI_ASSERT(CYIGL::CurrentAPI.glTextureStorage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureStorage3DStr, CYIGL::GL_VERSION_4_5_STR);
8857  CYIGL::CurrentAPI.glTextureStorage3DProc(uTexture, nLevels, eInternalformat, nWidth, nHeight, nDepth);
8858 }
8859 #define glTextureStorage3D YiGLTextureStorage3D
8860 
8866 inline void YiGLTextureStorage3DMultisample(GLuint uTexture, GLsizei nSamples, GLenum eInternalformat, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLboolean bFixedsamplelocations)
8867 {
8868  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureStorage3DMultisampleStr);
8869  YI_ASSERT(CYIGL::CurrentAPI.glTextureStorage3DMultisampleProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureStorage3DMultisampleStr, CYIGL::GL_VERSION_4_5_STR);
8870  CYIGL::CurrentAPI.glTextureStorage3DMultisampleProc(uTexture, nSamples, eInternalformat, nWidth, nHeight, nDepth, bFixedsamplelocations);
8871 }
8872 #define glTextureStorage3DMultisample YiGLTextureStorage3DMultisample
8873 
8879 inline void YiGLTextureSubImage1D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLsizei nWidth, GLenum eFormat, GLenum eType, const void *pPixels)
8880 {
8881  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureSubImage1DStr);
8882  YI_ASSERT(CYIGL::CurrentAPI.glTextureSubImage1DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureSubImage1DStr, CYIGL::GL_VERSION_4_5_STR);
8883  CYIGL::CurrentAPI.glTextureSubImage1DProc(uTexture, nLevel, nXoffset, nWidth, eFormat, eType, pPixels);
8884 }
8885 #define glTextureSubImage1D YiGLTextureSubImage1D
8886 
8892 inline void YiGLTextureSubImage2D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLsizei nWidth, GLsizei nHeight, GLenum eFormat, GLenum eType, const void *pPixels)
8893 {
8894  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureSubImage2DStr);
8895  YI_ASSERT(CYIGL::CurrentAPI.glTextureSubImage2DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureSubImage2DStr, CYIGL::GL_VERSION_4_5_STR);
8896  CYIGL::CurrentAPI.glTextureSubImage2DProc(uTexture, nLevel, nXoffset, nYoffset, nWidth, nHeight, eFormat, eType, pPixels);
8897 }
8898 #define glTextureSubImage2D YiGLTextureSubImage2D
8899 
8905 inline void YiGLTextureSubImage3D(GLuint uTexture, GLint nLevel, GLint nXoffset, GLint nYoffset, GLint nZoffset, GLsizei nWidth, GLsizei nHeight, GLsizei nDepth, GLenum eFormat, GLenum eType, const void *pPixels)
8906 {
8907  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureSubImage3DStr);
8908  YI_ASSERT(CYIGL::CurrentAPI.glTextureSubImage3DProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureSubImage3DStr, CYIGL::GL_VERSION_4_5_STR);
8909  CYIGL::CurrentAPI.glTextureSubImage3DProc(uTexture, nLevel, nXoffset, nYoffset, nZoffset, nWidth, nHeight, nDepth, eFormat, eType, pPixels);
8910 }
8911 #define glTextureSubImage3D YiGLTextureSubImage3D
8912 
8918 inline void YiGLTextureView(GLuint uTexture, GLenum eTarget, GLuint uOrigtexture, GLenum eInternalformat, GLuint uMinlevel, GLuint uNumlevels, GLuint uMinlayer, GLuint uNumlayers)
8919 {
8920  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTextureViewStr);
8921  YI_ASSERT(CYIGL::CurrentAPI.glTextureViewProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTextureViewStr, CYIGL::GL_VERSION_4_3_STR);
8922  CYIGL::CurrentAPI.glTextureViewProc(uTexture, eTarget, uOrigtexture, eInternalformat, uMinlevel, uNumlevels, uMinlayer, uNumlayers);
8923 }
8924 #define glTextureView YiGLTextureView
8925 
8931 inline void YiGLTransformFeedbackBufferBase(GLuint uXfb, GLuint uIndex, GLuint uBuffer)
8932 {
8933  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTransformFeedbackBufferBaseStr);
8934  YI_ASSERT(CYIGL::CurrentAPI.glTransformFeedbackBufferBaseProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTransformFeedbackBufferBaseStr, CYIGL::GL_VERSION_4_5_STR);
8935  CYIGL::CurrentAPI.glTransformFeedbackBufferBaseProc(uXfb, uIndex, uBuffer);
8936 }
8937 #define glTransformFeedbackBufferBase YiGLTransformFeedbackBufferBase
8938 
8944 inline void YiGLTransformFeedbackBufferRange(GLuint uXfb, GLuint uIndex, GLuint uBuffer, GLintptr pOffset, GLsizeiptr pSize)
8945 {
8946  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTransformFeedbackBufferRangeStr);
8947  YI_ASSERT(CYIGL::CurrentAPI.glTransformFeedbackBufferRangeProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glTransformFeedbackBufferRangeStr, CYIGL::GL_VERSION_4_5_STR);
8948  CYIGL::CurrentAPI.glTransformFeedbackBufferRangeProc(uXfb, uIndex, uBuffer, pOffset, pSize);
8949 }
8950 #define glTransformFeedbackBufferRange YiGLTransformFeedbackBufferRange
8951 
8958 inline void YiGLTransformFeedbackVaryings(GLuint uProgram, GLsizei nCount, const GLchar *const *ppVaryings, GLenum eBufferMode)
8959 {
8960  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glTransformFeedbackVaryingsStr);
8961  YI_ASSERT(CYIGL::CurrentAPI.glTransformFeedbackVaryingsProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glTransformFeedbackVaryingsStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
8962  CYIGL::CurrentAPI.glTransformFeedbackVaryingsProc(uProgram, nCount, ppVaryings, eBufferMode);
8963 }
8964 #define glTransformFeedbackVaryings YiGLTransformFeedbackVaryings
8965 
8971 inline void YiGLUniform1d(GLint nLocation, GLdouble fX)
8972 {
8973  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform1dStr);
8974  YI_ASSERT(CYIGL::CurrentAPI.glUniform1dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniform1dStr, CYIGL::GL_VERSION_4_0_STR);
8975  CYIGL::CurrentAPI.glUniform1dProc(nLocation, fX);
8976 }
8977 #define glUniform1d YiGLUniform1d
8978 
8984 inline void YiGLUniform1dv(GLint nLocation, GLsizei nCount, const GLdouble *pfValue)
8985 {
8986  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform1dvStr);
8987  YI_ASSERT(CYIGL::CurrentAPI.glUniform1dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniform1dvStr, CYIGL::GL_VERSION_4_0_STR);
8988  CYIGL::CurrentAPI.glUniform1dvProc(nLocation, nCount, pfValue);
8989 }
8990 #define glUniform1dv YiGLUniform1dv
8991 
8998 inline void YiGLUniform1f(GLint nLocation, GLfloat fV0)
8999 {
9000  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform1fStr);
9001  YI_ASSERT(CYIGL::CurrentAPI.glUniform1fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform1fStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9002  CYIGL::CurrentAPI.glUniform1fProc(nLocation, fV0);
9003 }
9004 #define glUniform1f YiGLUniform1f
9005 
9012 inline void YiGLUniform1fv(GLint nLocation, GLsizei nCount, const GLfloat *pfValue)
9013 {
9014  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform1fvStr);
9015  YI_ASSERT(CYIGL::CurrentAPI.glUniform1fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform1fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9016  CYIGL::CurrentAPI.glUniform1fvProc(nLocation, nCount, pfValue);
9017 }
9018 #define glUniform1fv YiGLUniform1fv
9019 
9026 inline void YiGLUniform1i(GLint nLocation, GLint nV0)
9027 {
9028  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform1iStr);
9029  YI_ASSERT(CYIGL::CurrentAPI.glUniform1iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform1iStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9030  CYIGL::CurrentAPI.glUniform1iProc(nLocation, nV0);
9031 }
9032 #define glUniform1i YiGLUniform1i
9033 
9040 inline void YiGLUniform1iv(GLint nLocation, GLsizei nCount, const GLint *pnValue)
9041 {
9042  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform1ivStr);
9043  YI_ASSERT(CYIGL::CurrentAPI.glUniform1ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform1ivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9044  CYIGL::CurrentAPI.glUniform1ivProc(nLocation, nCount, pnValue);
9045 }
9046 #define glUniform1iv YiGLUniform1iv
9047 
9054 inline void YiGLUniform1ui(GLint nLocation, GLuint uV0)
9055 {
9056  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform1uiStr);
9057  YI_ASSERT(CYIGL::CurrentAPI.glUniform1uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform1uiStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
9058  CYIGL::CurrentAPI.glUniform1uiProc(nLocation, uV0);
9059 }
9060 #define glUniform1ui YiGLUniform1ui
9061 
9068 inline void YiGLUniform1uiv(GLint nLocation, GLsizei nCount, const GLuint *puValue)
9069 {
9070  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform1uivStr);
9071  YI_ASSERT(CYIGL::CurrentAPI.glUniform1uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform1uivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
9072  CYIGL::CurrentAPI.glUniform1uivProc(nLocation, nCount, puValue);
9073 }
9074 #define glUniform1uiv YiGLUniform1uiv
9075 
9081 inline void YiGLUniform2d(GLint nLocation, GLdouble fX, GLdouble fY)
9082 {
9083  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform2dStr);
9084  YI_ASSERT(CYIGL::CurrentAPI.glUniform2dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniform2dStr, CYIGL::GL_VERSION_4_0_STR);
9085  CYIGL::CurrentAPI.glUniform2dProc(nLocation, fX, fY);
9086 }
9087 #define glUniform2d YiGLUniform2d
9088 
9094 inline void YiGLUniform2dv(GLint nLocation, GLsizei nCount, const GLdouble *pfValue)
9095 {
9096  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform2dvStr);
9097  YI_ASSERT(CYIGL::CurrentAPI.glUniform2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniform2dvStr, CYIGL::GL_VERSION_4_0_STR);
9098  CYIGL::CurrentAPI.glUniform2dvProc(nLocation, nCount, pfValue);
9099 }
9100 #define glUniform2dv YiGLUniform2dv
9101 
9108 inline void YiGLUniform2f(GLint nLocation, GLfloat fV0, GLfloat fV1)
9109 {
9110  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform2fStr);
9111  YI_ASSERT(CYIGL::CurrentAPI.glUniform2fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform2fStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9112  CYIGL::CurrentAPI.glUniform2fProc(nLocation, fV0, fV1);
9113 }
9114 #define glUniform2f YiGLUniform2f
9115 
9122 inline void YiGLUniform2fv(GLint nLocation, GLsizei nCount, const GLfloat *pfValue)
9123 {
9124  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform2fvStr);
9125  YI_ASSERT(CYIGL::CurrentAPI.glUniform2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform2fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9126  CYIGL::CurrentAPI.glUniform2fvProc(nLocation, nCount, pfValue);
9127 }
9128 #define glUniform2fv YiGLUniform2fv
9129 
9136 inline void YiGLUniform2i(GLint nLocation, GLint nV0, GLint nV1)
9137 {
9138  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform2iStr);
9139  YI_ASSERT(CYIGL::CurrentAPI.glUniform2iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform2iStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9140  CYIGL::CurrentAPI.glUniform2iProc(nLocation, nV0, nV1);
9141 }
9142 #define glUniform2i YiGLUniform2i
9143 
9150 inline void YiGLUniform2iv(GLint nLocation, GLsizei nCount, const GLint *pnValue)
9151 {
9152  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform2ivStr);
9153  YI_ASSERT(CYIGL::CurrentAPI.glUniform2ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform2ivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9154  CYIGL::CurrentAPI.glUniform2ivProc(nLocation, nCount, pnValue);
9155 }
9156 #define glUniform2iv YiGLUniform2iv
9157 
9164 inline void YiGLUniform2ui(GLint nLocation, GLuint uV0, GLuint uV1)
9165 {
9166  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform2uiStr);
9167  YI_ASSERT(CYIGL::CurrentAPI.glUniform2uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform2uiStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
9168  CYIGL::CurrentAPI.glUniform2uiProc(nLocation, uV0, uV1);
9169 }
9170 #define glUniform2ui YiGLUniform2ui
9171 
9178 inline void YiGLUniform2uiv(GLint nLocation, GLsizei nCount, const GLuint *puValue)
9179 {
9180  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform2uivStr);
9181  YI_ASSERT(CYIGL::CurrentAPI.glUniform2uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform2uivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
9182  CYIGL::CurrentAPI.glUniform2uivProc(nLocation, nCount, puValue);
9183 }
9184 #define glUniform2uiv YiGLUniform2uiv
9185 
9191 inline void YiGLUniform3d(GLint nLocation, GLdouble fX, GLdouble fY, GLdouble fZ)
9192 {
9193  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform3dStr);
9194  YI_ASSERT(CYIGL::CurrentAPI.glUniform3dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniform3dStr, CYIGL::GL_VERSION_4_0_STR);
9195  CYIGL::CurrentAPI.glUniform3dProc(nLocation, fX, fY, fZ);
9196 }
9197 #define glUniform3d YiGLUniform3d
9198 
9204 inline void YiGLUniform3dv(GLint nLocation, GLsizei nCount, const GLdouble *pfValue)
9205 {
9206  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform3dvStr);
9207  YI_ASSERT(CYIGL::CurrentAPI.glUniform3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniform3dvStr, CYIGL::GL_VERSION_4_0_STR);
9208  CYIGL::CurrentAPI.glUniform3dvProc(nLocation, nCount, pfValue);
9209 }
9210 #define glUniform3dv YiGLUniform3dv
9211 
9218 inline void YiGLUniform3f(GLint nLocation, GLfloat fV0, GLfloat fV1, GLfloat fV2)
9219 {
9220  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform3fStr);
9221  YI_ASSERT(CYIGL::CurrentAPI.glUniform3fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform3fStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9222  CYIGL::CurrentAPI.glUniform3fProc(nLocation, fV0, fV1, fV2);
9223 }
9224 #define glUniform3f YiGLUniform3f
9225 
9232 inline void YiGLUniform3fv(GLint nLocation, GLsizei nCount, const GLfloat *pfValue)
9233 {
9234  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform3fvStr);
9235  YI_ASSERT(CYIGL::CurrentAPI.glUniform3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform3fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9236  CYIGL::CurrentAPI.glUniform3fvProc(nLocation, nCount, pfValue);
9237 }
9238 #define glUniform3fv YiGLUniform3fv
9239 
9246 inline void YiGLUniform3i(GLint nLocation, GLint nV0, GLint nV1, GLint nV2)
9247 {
9248  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform3iStr);
9249  YI_ASSERT(CYIGL::CurrentAPI.glUniform3iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform3iStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9250  CYIGL::CurrentAPI.glUniform3iProc(nLocation, nV0, nV1, nV2);
9251 }
9252 #define glUniform3i YiGLUniform3i
9253 
9260 inline void YiGLUniform3iv(GLint nLocation, GLsizei nCount, const GLint *pnValue)
9261 {
9262  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform3ivStr);
9263  YI_ASSERT(CYIGL::CurrentAPI.glUniform3ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform3ivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9264  CYIGL::CurrentAPI.glUniform3ivProc(nLocation, nCount, pnValue);
9265 }
9266 #define glUniform3iv YiGLUniform3iv
9267 
9274 inline void YiGLUniform3ui(GLint nLocation, GLuint uV0, GLuint uV1, GLuint uV2)
9275 {
9276  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform3uiStr);
9277  YI_ASSERT(CYIGL::CurrentAPI.glUniform3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform3uiStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
9278  CYIGL::CurrentAPI.glUniform3uiProc(nLocation, uV0, uV1, uV2);
9279 }
9280 #define glUniform3ui YiGLUniform3ui
9281 
9288 inline void YiGLUniform3uiv(GLint nLocation, GLsizei nCount, const GLuint *puValue)
9289 {
9290  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform3uivStr);
9291  YI_ASSERT(CYIGL::CurrentAPI.glUniform3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform3uivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
9292  CYIGL::CurrentAPI.glUniform3uivProc(nLocation, nCount, puValue);
9293 }
9294 #define glUniform3uiv YiGLUniform3uiv
9295 
9301 inline void YiGLUniform4d(GLint nLocation, GLdouble fX, GLdouble fY, GLdouble fZ, GLdouble fW)
9302 {
9303  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform4dStr);
9304  YI_ASSERT(CYIGL::CurrentAPI.glUniform4dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniform4dStr, CYIGL::GL_VERSION_4_0_STR);
9305  CYIGL::CurrentAPI.glUniform4dProc(nLocation, fX, fY, fZ, fW);
9306 }
9307 #define glUniform4d YiGLUniform4d
9308 
9314 inline void YiGLUniform4dv(GLint nLocation, GLsizei nCount, const GLdouble *pfValue)
9315 {
9316  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform4dvStr);
9317  YI_ASSERT(CYIGL::CurrentAPI.glUniform4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniform4dvStr, CYIGL::GL_VERSION_4_0_STR);
9318  CYIGL::CurrentAPI.glUniform4dvProc(nLocation, nCount, pfValue);
9319 }
9320 #define glUniform4dv YiGLUniform4dv
9321 
9328 inline void YiGLUniform4f(GLint nLocation, GLfloat fV0, GLfloat fV1, GLfloat fV2, GLfloat fV3)
9329 {
9330  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform4fStr);
9331  YI_ASSERT(CYIGL::CurrentAPI.glUniform4fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform4fStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9332  CYIGL::CurrentAPI.glUniform4fProc(nLocation, fV0, fV1, fV2, fV3);
9333 }
9334 #define glUniform4f YiGLUniform4f
9335 
9342 inline void YiGLUniform4fv(GLint nLocation, GLsizei nCount, const GLfloat *pfValue)
9343 {
9344  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform4fvStr);
9345  YI_ASSERT(CYIGL::CurrentAPI.glUniform4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform4fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9346  CYIGL::CurrentAPI.glUniform4fvProc(nLocation, nCount, pfValue);
9347 }
9348 #define glUniform4fv YiGLUniform4fv
9349 
9356 inline void YiGLUniform4i(GLint nLocation, GLint nV0, GLint nV1, GLint nV2, GLint nV3)
9357 {
9358  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform4iStr);
9359  YI_ASSERT(CYIGL::CurrentAPI.glUniform4iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform4iStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9360  CYIGL::CurrentAPI.glUniform4iProc(nLocation, nV0, nV1, nV2, nV3);
9361 }
9362 #define glUniform4i YiGLUniform4i
9363 
9370 inline void YiGLUniform4iv(GLint nLocation, GLsizei nCount, const GLint *pnValue)
9371 {
9372  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform4ivStr);
9373  YI_ASSERT(CYIGL::CurrentAPI.glUniform4ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform4ivStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9374  CYIGL::CurrentAPI.glUniform4ivProc(nLocation, nCount, pnValue);
9375 }
9376 #define glUniform4iv YiGLUniform4iv
9377 
9384 inline void YiGLUniform4ui(GLint nLocation, GLuint uV0, GLuint uV1, GLuint uV2, GLuint uV3)
9385 {
9386  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform4uiStr);
9387  YI_ASSERT(CYIGL::CurrentAPI.glUniform4uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform4uiStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
9388  CYIGL::CurrentAPI.glUniform4uiProc(nLocation, uV0, uV1, uV2, uV3);
9389 }
9390 #define glUniform4ui YiGLUniform4ui
9391 
9398 inline void YiGLUniform4uiv(GLint nLocation, GLsizei nCount, const GLuint *puValue)
9399 {
9400  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniform4uivStr);
9401  YI_ASSERT(CYIGL::CurrentAPI.glUniform4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniform4uivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
9402  CYIGL::CurrentAPI.glUniform4uivProc(nLocation, nCount, puValue);
9403 }
9404 #define glUniform4uiv YiGLUniform4uiv
9405 
9412 inline void YiGLUniformBlockBinding(GLuint uProgram, GLuint uUniformBlockIndex, GLuint uUniformBlockBinding)
9413 {
9414  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformBlockBindingStr);
9415  YI_ASSERT(CYIGL::CurrentAPI.glUniformBlockBindingProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformBlockBindingStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_1_STR);
9416  CYIGL::CurrentAPI.glUniformBlockBindingProc(uProgram, uUniformBlockIndex, uUniformBlockBinding);
9417 }
9418 #define glUniformBlockBinding YiGLUniformBlockBinding
9419 
9425 inline void YiGLUniformMatrix2dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9426 {
9427  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix2dvStr);
9428  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix2dvStr, CYIGL::GL_VERSION_4_0_STR);
9429  CYIGL::CurrentAPI.glUniformMatrix2dvProc(nLocation, nCount, bTranspose, pfValue);
9430 }
9431 #define glUniformMatrix2dv YiGLUniformMatrix2dv
9432 
9439 inline void YiGLUniformMatrix2fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9440 {
9441  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix2fvStr);
9442  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix2fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9443  CYIGL::CurrentAPI.glUniformMatrix2fvProc(nLocation, nCount, bTranspose, pfValue);
9444 }
9445 #define glUniformMatrix2fv YiGLUniformMatrix2fv
9446 
9452 inline void YiGLUniformMatrix2x3dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9453 {
9454  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix2x3dvStr);
9455  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix2x3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix2x3dvStr, CYIGL::GL_VERSION_4_0_STR);
9456  CYIGL::CurrentAPI.glUniformMatrix2x3dvProc(nLocation, nCount, bTranspose, pfValue);
9457 }
9458 #define glUniformMatrix2x3dv YiGLUniformMatrix2x3dv
9459 
9466 inline void YiGLUniformMatrix2x3fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9467 {
9468  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix2x3fvStr);
9469  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix2x3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix2x3fvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_2_1_STR);
9470  CYIGL::CurrentAPI.glUniformMatrix2x3fvProc(nLocation, nCount, bTranspose, pfValue);
9471 }
9472 #define glUniformMatrix2x3fv YiGLUniformMatrix2x3fv
9473 
9479 inline void YiGLUniformMatrix2x4dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9480 {
9481  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix2x4dvStr);
9482  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix2x4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix2x4dvStr, CYIGL::GL_VERSION_4_0_STR);
9483  CYIGL::CurrentAPI.glUniformMatrix2x4dvProc(nLocation, nCount, bTranspose, pfValue);
9484 }
9485 #define glUniformMatrix2x4dv YiGLUniformMatrix2x4dv
9486 
9493 inline void YiGLUniformMatrix2x4fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9494 {
9495  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix2x4fvStr);
9496  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix2x4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix2x4fvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_2_1_STR);
9497  CYIGL::CurrentAPI.glUniformMatrix2x4fvProc(nLocation, nCount, bTranspose, pfValue);
9498 }
9499 #define glUniformMatrix2x4fv YiGLUniformMatrix2x4fv
9500 
9506 inline void YiGLUniformMatrix3dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9507 {
9508  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix3dvStr);
9509  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix3dvStr, CYIGL::GL_VERSION_4_0_STR);
9510  CYIGL::CurrentAPI.glUniformMatrix3dvProc(nLocation, nCount, bTranspose, pfValue);
9511 }
9512 #define glUniformMatrix3dv YiGLUniformMatrix3dv
9513 
9520 inline void YiGLUniformMatrix3fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9521 {
9522  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix3fvStr);
9523  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix3fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9524  CYIGL::CurrentAPI.glUniformMatrix3fvProc(nLocation, nCount, bTranspose, pfValue);
9525 }
9526 #define glUniformMatrix3fv YiGLUniformMatrix3fv
9527 
9533 inline void YiGLUniformMatrix3x2dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9534 {
9535  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix3x2dvStr);
9536  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix3x2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix3x2dvStr, CYIGL::GL_VERSION_4_0_STR);
9537  CYIGL::CurrentAPI.glUniformMatrix3x2dvProc(nLocation, nCount, bTranspose, pfValue);
9538 }
9539 #define glUniformMatrix3x2dv YiGLUniformMatrix3x2dv
9540 
9547 inline void YiGLUniformMatrix3x2fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9548 {
9549  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix3x2fvStr);
9550  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix3x2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix3x2fvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_2_1_STR);
9551  CYIGL::CurrentAPI.glUniformMatrix3x2fvProc(nLocation, nCount, bTranspose, pfValue);
9552 }
9553 #define glUniformMatrix3x2fv YiGLUniformMatrix3x2fv
9554 
9560 inline void YiGLUniformMatrix3x4dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9561 {
9562  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix3x4dvStr);
9563  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix3x4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix3x4dvStr, CYIGL::GL_VERSION_4_0_STR);
9564  CYIGL::CurrentAPI.glUniformMatrix3x4dvProc(nLocation, nCount, bTranspose, pfValue);
9565 }
9566 #define glUniformMatrix3x4dv YiGLUniformMatrix3x4dv
9567 
9574 inline void YiGLUniformMatrix3x4fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9575 {
9576  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix3x4fvStr);
9577  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix3x4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix3x4fvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_2_1_STR);
9578  CYIGL::CurrentAPI.glUniformMatrix3x4fvProc(nLocation, nCount, bTranspose, pfValue);
9579 }
9580 #define glUniformMatrix3x4fv YiGLUniformMatrix3x4fv
9581 
9587 inline void YiGLUniformMatrix4dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9588 {
9589  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix4dvStr);
9590  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix4dvStr, CYIGL::GL_VERSION_4_0_STR);
9591  CYIGL::CurrentAPI.glUniformMatrix4dvProc(nLocation, nCount, bTranspose, pfValue);
9592 }
9593 #define glUniformMatrix4dv YiGLUniformMatrix4dv
9594 
9601 inline void YiGLUniformMatrix4fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9602 {
9603  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix4fvStr);
9604  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix4fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9605  CYIGL::CurrentAPI.glUniformMatrix4fvProc(nLocation, nCount, bTranspose, pfValue);
9606 }
9607 #define glUniformMatrix4fv YiGLUniformMatrix4fv
9608 
9614 inline void YiGLUniformMatrix4x2dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9615 {
9616  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix4x2dvStr);
9617  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix4x2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix4x2dvStr, CYIGL::GL_VERSION_4_0_STR);
9618  CYIGL::CurrentAPI.glUniformMatrix4x2dvProc(nLocation, nCount, bTranspose, pfValue);
9619 }
9620 #define glUniformMatrix4x2dv YiGLUniformMatrix4x2dv
9621 
9628 inline void YiGLUniformMatrix4x2fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9629 {
9630  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix4x2fvStr);
9631  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix4x2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix4x2fvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_2_1_STR);
9632  CYIGL::CurrentAPI.glUniformMatrix4x2fvProc(nLocation, nCount, bTranspose, pfValue);
9633 }
9634 #define glUniformMatrix4x2fv YiGLUniformMatrix4x2fv
9635 
9641 inline void YiGLUniformMatrix4x3dv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLdouble *pfValue)
9642 {
9643  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix4x3dvStr);
9644  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix4x3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformMatrix4x3dvStr, CYIGL::GL_VERSION_4_0_STR);
9645  CYIGL::CurrentAPI.glUniformMatrix4x3dvProc(nLocation, nCount, bTranspose, pfValue);
9646 }
9647 #define glUniformMatrix4x3dv YiGLUniformMatrix4x3dv
9648 
9655 inline void YiGLUniformMatrix4x3fv(GLint nLocation, GLsizei nCount, GLboolean bTranspose, const GLfloat *pfValue)
9656 {
9657  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformMatrix4x3fvStr);
9658  YI_ASSERT(CYIGL::CurrentAPI.glUniformMatrix4x3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUniformMatrix4x3fvStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_2_1_STR);
9659  CYIGL::CurrentAPI.glUniformMatrix4x3fvProc(nLocation, nCount, bTranspose, pfValue);
9660 }
9661 #define glUniformMatrix4x3fv YiGLUniformMatrix4x3fv
9662 
9668 inline void YiGLUniformSubroutinesuiv(GLenum eShadertype, GLsizei nCount, const GLuint *puIndices)
9669 {
9670  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUniformSubroutinesuivStr);
9671  YI_ASSERT(CYIGL::CurrentAPI.glUniformSubroutinesuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUniformSubroutinesuivStr, CYIGL::GL_VERSION_4_0_STR);
9672  CYIGL::CurrentAPI.glUniformSubroutinesuivProc(eShadertype, nCount, puIndices);
9673 }
9674 #define glUniformSubroutinesuiv YiGLUniformSubroutinesuiv
9675 
9682 inline GLboolean YiGLUnmapBuffer(GLenum eTarget)
9683 {
9684  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUnmapBufferStr);
9685  YI_ASSERT(CYIGL::CurrentAPI.glUnmapBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUnmapBufferStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_1_5_STR);
9686  return CYIGL::CurrentAPI.glUnmapBufferProc(eTarget);
9687 }
9688 #define glUnmapBuffer YiGLUnmapBuffer
9689 
9695 inline GLboolean YiGLUnmapNamedBuffer(GLuint uBuffer)
9696 {
9697  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUnmapNamedBufferStr);
9698  YI_ASSERT(CYIGL::CurrentAPI.glUnmapNamedBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glUnmapNamedBufferStr, CYIGL::GL_VERSION_4_5_STR);
9699  return CYIGL::CurrentAPI.glUnmapNamedBufferProc(uBuffer);
9700 }
9701 #define glUnmapNamedBuffer YiGLUnmapNamedBuffer
9702 
9709 inline void YiGLUseProgram(GLuint uProgram)
9710 {
9711  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUseProgramStr);
9712  YI_ASSERT(CYIGL::CurrentAPI.glUseProgramProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUseProgramStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9713  CYIGL::CurrentAPI.glUseProgramProc(uProgram);
9714 }
9715 #define glUseProgram YiGLUseProgram
9716 
9723 inline void YiGLUseProgramStages(GLuint uPipeline, GLbitfield uStages, GLuint uProgram)
9724 {
9725  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glUseProgramStagesStr);
9726  YI_ASSERT(CYIGL::CurrentAPI.glUseProgramStagesProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glUseProgramStagesStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
9727  CYIGL::CurrentAPI.glUseProgramStagesProc(uPipeline, uStages, uProgram);
9728 }
9729 #define glUseProgramStages YiGLUseProgramStages
9730 
9737 inline void YiGLValidateProgram(GLuint uProgram)
9738 {
9739  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glValidateProgramStr);
9740  YI_ASSERT(CYIGL::CurrentAPI.glValidateProgramProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glValidateProgramStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9741  CYIGL::CurrentAPI.glValidateProgramProc(uProgram);
9742 }
9743 #define glValidateProgram YiGLValidateProgram
9744 
9751 inline void YiGLValidateProgramPipeline(GLuint uPipeline)
9752 {
9753  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glValidateProgramPipelineStr);
9754  YI_ASSERT(CYIGL::CurrentAPI.glValidateProgramPipelineProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glValidateProgramPipelineStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_1_STR);
9755  CYIGL::CurrentAPI.glValidateProgramPipelineProc(uPipeline);
9756 }
9757 #define glValidateProgramPipeline YiGLValidateProgramPipeline
9758 
9764 inline void YiGLVertexArrayAttribBinding(GLuint uVaobj, GLuint uAttribindex, GLuint uBindingindex)
9765 {
9766  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexArrayAttribBindingStr);
9767  YI_ASSERT(CYIGL::CurrentAPI.glVertexArrayAttribBindingProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexArrayAttribBindingStr, CYIGL::GL_VERSION_4_5_STR);
9768  CYIGL::CurrentAPI.glVertexArrayAttribBindingProc(uVaobj, uAttribindex, uBindingindex);
9769 }
9770 #define glVertexArrayAttribBinding YiGLVertexArrayAttribBinding
9771 
9777 inline void YiGLVertexArrayAttribFormat(GLuint uVaobj, GLuint uAttribindex, GLint nSize, GLenum eType, GLboolean bNormalized, GLuint uRelativeoffset)
9778 {
9779  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexArrayAttribFormatStr);
9780  YI_ASSERT(CYIGL::CurrentAPI.glVertexArrayAttribFormatProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexArrayAttribFormatStr, CYIGL::GL_VERSION_4_5_STR);
9781  CYIGL::CurrentAPI.glVertexArrayAttribFormatProc(uVaobj, uAttribindex, nSize, eType, bNormalized, uRelativeoffset);
9782 }
9783 #define glVertexArrayAttribFormat YiGLVertexArrayAttribFormat
9784 
9790 inline void YiGLVertexArrayAttribIFormat(GLuint uVaobj, GLuint uAttribindex, GLint nSize, GLenum eType, GLuint uRelativeoffset)
9791 {
9792  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexArrayAttribIFormatStr);
9793  YI_ASSERT(CYIGL::CurrentAPI.glVertexArrayAttribIFormatProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexArrayAttribIFormatStr, CYIGL::GL_VERSION_4_5_STR);
9794  CYIGL::CurrentAPI.glVertexArrayAttribIFormatProc(uVaobj, uAttribindex, nSize, eType, uRelativeoffset);
9795 }
9796 #define glVertexArrayAttribIFormat YiGLVertexArrayAttribIFormat
9797 
9803 inline void YiGLVertexArrayAttribLFormat(GLuint uVaobj, GLuint uAttribindex, GLint nSize, GLenum eType, GLuint uRelativeoffset)
9804 {
9805  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexArrayAttribLFormatStr);
9806  YI_ASSERT(CYIGL::CurrentAPI.glVertexArrayAttribLFormatProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexArrayAttribLFormatStr, CYIGL::GL_VERSION_4_5_STR);
9807  CYIGL::CurrentAPI.glVertexArrayAttribLFormatProc(uVaobj, uAttribindex, nSize, eType, uRelativeoffset);
9808 }
9809 #define glVertexArrayAttribLFormat YiGLVertexArrayAttribLFormat
9810 
9816 inline void YiGLVertexArrayBindingDivisor(GLuint uVaobj, GLuint uBindingindex, GLuint uDivisor)
9817 {
9818  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexArrayBindingDivisorStr);
9819  YI_ASSERT(CYIGL::CurrentAPI.glVertexArrayBindingDivisorProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexArrayBindingDivisorStr, CYIGL::GL_VERSION_4_5_STR);
9820  CYIGL::CurrentAPI.glVertexArrayBindingDivisorProc(uVaobj, uBindingindex, uDivisor);
9821 }
9822 #define glVertexArrayBindingDivisor YiGLVertexArrayBindingDivisor
9823 
9829 inline void YiGLVertexArrayElementBuffer(GLuint uVaobj, GLuint uBuffer)
9830 {
9831  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexArrayElementBufferStr);
9832  YI_ASSERT(CYIGL::CurrentAPI.glVertexArrayElementBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexArrayElementBufferStr, CYIGL::GL_VERSION_4_5_STR);
9833  CYIGL::CurrentAPI.glVertexArrayElementBufferProc(uVaobj, uBuffer);
9834 }
9835 #define glVertexArrayElementBuffer YiGLVertexArrayElementBuffer
9836 
9842 inline void YiGLVertexArrayVertexBuffer(GLuint uVaobj, GLuint uBindingindex, GLuint uBuffer, GLintptr pOffset, GLsizei nStride)
9843 {
9844  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexArrayVertexBufferStr);
9845  YI_ASSERT(CYIGL::CurrentAPI.glVertexArrayVertexBufferProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexArrayVertexBufferStr, CYIGL::GL_VERSION_4_5_STR);
9846  CYIGL::CurrentAPI.glVertexArrayVertexBufferProc(uVaobj, uBindingindex, uBuffer, pOffset, nStride);
9847 }
9848 #define glVertexArrayVertexBuffer YiGLVertexArrayVertexBuffer
9849 
9855 inline void YiGLVertexArrayVertexBuffers(GLuint uVaobj, GLuint uFirst, GLsizei nCount, const GLuint *puBuffers, const GLintptr *ppOffsets, const GLsizei *pnStrides)
9856 {
9857  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexArrayVertexBuffersStr);
9858  YI_ASSERT(CYIGL::CurrentAPI.glVertexArrayVertexBuffersProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexArrayVertexBuffersStr, CYIGL::GL_VERSION_4_5_STR);
9859  CYIGL::CurrentAPI.glVertexArrayVertexBuffersProc(uVaobj, uFirst, nCount, puBuffers, ppOffsets, pnStrides);
9860 }
9861 #define glVertexArrayVertexBuffers YiGLVertexArrayVertexBuffers
9862 
9868 inline void YiGLVertexAttrib1d(GLuint uIndex, GLdouble fX)
9869 {
9870  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib1dStr);
9871  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib1dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib1dStr, CYIGL::GL_VERSION_2_0_STR);
9872  CYIGL::CurrentAPI.glVertexAttrib1dProc(uIndex, fX);
9873 }
9874 #define glVertexAttrib1d YiGLVertexAttrib1d
9875 
9881 inline void YiGLVertexAttrib1dv(GLuint uIndex, const GLdouble *pfV)
9882 {
9883  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib1dvStr);
9884  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib1dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib1dvStr, CYIGL::GL_VERSION_2_0_STR);
9885  CYIGL::CurrentAPI.glVertexAttrib1dvProc(uIndex, pfV);
9886 }
9887 #define glVertexAttrib1dv YiGLVertexAttrib1dv
9888 
9895 inline void YiGLVertexAttrib1f(GLuint uIndex, GLfloat fX)
9896 {
9897  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib1fStr);
9898  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib1fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttrib1fStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9899  CYIGL::CurrentAPI.glVertexAttrib1fProc(uIndex, fX);
9900 }
9901 #define glVertexAttrib1f YiGLVertexAttrib1f
9902 
9909 inline void YiGLVertexAttrib1fv(GLuint uIndex, const GLfloat *pfV)
9910 {
9911  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib1fvStr);
9912  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib1fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttrib1fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9913  CYIGL::CurrentAPI.glVertexAttrib1fvProc(uIndex, pfV);
9914 }
9915 #define glVertexAttrib1fv YiGLVertexAttrib1fv
9916 
9922 inline void YiGLVertexAttrib1s(GLuint uIndex, GLshort nX)
9923 {
9924  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib1sStr);
9925  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib1sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib1sStr, CYIGL::GL_VERSION_2_0_STR);
9926  CYIGL::CurrentAPI.glVertexAttrib1sProc(uIndex, nX);
9927 }
9928 #define glVertexAttrib1s YiGLVertexAttrib1s
9929 
9935 inline void YiGLVertexAttrib1sv(GLuint uIndex, const GLshort *pnV)
9936 {
9937  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib1svStr);
9938  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib1svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib1svStr, CYIGL::GL_VERSION_2_0_STR);
9939  CYIGL::CurrentAPI.glVertexAttrib1svProc(uIndex, pnV);
9940 }
9941 #define glVertexAttrib1sv YiGLVertexAttrib1sv
9942 
9948 inline void YiGLVertexAttrib2d(GLuint uIndex, GLdouble fX, GLdouble fY)
9949 {
9950  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib2dStr);
9951  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib2dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib2dStr, CYIGL::GL_VERSION_2_0_STR);
9952  CYIGL::CurrentAPI.glVertexAttrib2dProc(uIndex, fX, fY);
9953 }
9954 #define glVertexAttrib2d YiGLVertexAttrib2d
9955 
9961 inline void YiGLVertexAttrib2dv(GLuint uIndex, const GLdouble *pfV)
9962 {
9963  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib2dvStr);
9964  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib2dvStr, CYIGL::GL_VERSION_2_0_STR);
9965  CYIGL::CurrentAPI.glVertexAttrib2dvProc(uIndex, pfV);
9966 }
9967 #define glVertexAttrib2dv YiGLVertexAttrib2dv
9968 
9975 inline void YiGLVertexAttrib2f(GLuint uIndex, GLfloat fX, GLfloat fY)
9976 {
9977  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib2fStr);
9978  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib2fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttrib2fStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9979  CYIGL::CurrentAPI.glVertexAttrib2fProc(uIndex, fX, fY);
9980 }
9981 #define glVertexAttrib2f YiGLVertexAttrib2f
9982 
9989 inline void YiGLVertexAttrib2fv(GLuint uIndex, const GLfloat *pfV)
9990 {
9991  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib2fvStr);
9992  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttrib2fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
9993  CYIGL::CurrentAPI.glVertexAttrib2fvProc(uIndex, pfV);
9994 }
9995 #define glVertexAttrib2fv YiGLVertexAttrib2fv
9996 
10002 inline void YiGLVertexAttrib2s(GLuint uIndex, GLshort nX, GLshort nY)
10003 {
10004  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib2sStr);
10005  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib2sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib2sStr, CYIGL::GL_VERSION_2_0_STR);
10006  CYIGL::CurrentAPI.glVertexAttrib2sProc(uIndex, nX, nY);
10007 }
10008 #define glVertexAttrib2s YiGLVertexAttrib2s
10009 
10015 inline void YiGLVertexAttrib2sv(GLuint uIndex, const GLshort *pnV)
10016 {
10017  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib2svStr);
10018  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib2svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib2svStr, CYIGL::GL_VERSION_2_0_STR);
10019  CYIGL::CurrentAPI.glVertexAttrib2svProc(uIndex, pnV);
10020 }
10021 #define glVertexAttrib2sv YiGLVertexAttrib2sv
10022 
10028 inline void YiGLVertexAttrib3d(GLuint uIndex, GLdouble fX, GLdouble fY, GLdouble fZ)
10029 {
10030  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib3dStr);
10031  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib3dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib3dStr, CYIGL::GL_VERSION_2_0_STR);
10032  CYIGL::CurrentAPI.glVertexAttrib3dProc(uIndex, fX, fY, fZ);
10033 }
10034 #define glVertexAttrib3d YiGLVertexAttrib3d
10035 
10041 inline void YiGLVertexAttrib3dv(GLuint uIndex, const GLdouble *pfV)
10042 {
10043  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib3dvStr);
10044  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib3dvStr, CYIGL::GL_VERSION_2_0_STR);
10045  CYIGL::CurrentAPI.glVertexAttrib3dvProc(uIndex, pfV);
10046 }
10047 #define glVertexAttrib3dv YiGLVertexAttrib3dv
10048 
10055 inline void YiGLVertexAttrib3f(GLuint uIndex, GLfloat fX, GLfloat fY, GLfloat fZ)
10056 {
10057  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib3fStr);
10058  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib3fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttrib3fStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
10059  CYIGL::CurrentAPI.glVertexAttrib3fProc(uIndex, fX, fY, fZ);
10060 }
10061 #define glVertexAttrib3f YiGLVertexAttrib3f
10062 
10069 inline void YiGLVertexAttrib3fv(GLuint uIndex, const GLfloat *pfV)
10070 {
10071  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib3fvStr);
10072  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttrib3fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
10073  CYIGL::CurrentAPI.glVertexAttrib3fvProc(uIndex, pfV);
10074 }
10075 #define glVertexAttrib3fv YiGLVertexAttrib3fv
10076 
10082 inline void YiGLVertexAttrib3s(GLuint uIndex, GLshort nX, GLshort nY, GLshort nZ)
10083 {
10084  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib3sStr);
10085  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib3sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib3sStr, CYIGL::GL_VERSION_2_0_STR);
10086  CYIGL::CurrentAPI.glVertexAttrib3sProc(uIndex, nX, nY, nZ);
10087 }
10088 #define glVertexAttrib3s YiGLVertexAttrib3s
10089 
10095 inline void YiGLVertexAttrib3sv(GLuint uIndex, const GLshort *pnV)
10096 {
10097  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib3svStr);
10098  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib3svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib3svStr, CYIGL::GL_VERSION_2_0_STR);
10099  CYIGL::CurrentAPI.glVertexAttrib3svProc(uIndex, pnV);
10100 }
10101 #define glVertexAttrib3sv YiGLVertexAttrib3sv
10102 
10108 inline void YiGLVertexAttrib4Nbv(GLuint uIndex, const GLbyte *pnV)
10109 {
10110  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4NbvStr);
10111  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4NbvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4NbvStr, CYIGL::GL_VERSION_2_0_STR);
10112  CYIGL::CurrentAPI.glVertexAttrib4NbvProc(uIndex, pnV);
10113 }
10114 #define glVertexAttrib4Nbv YiGLVertexAttrib4Nbv
10115 
10121 inline void YiGLVertexAttrib4Niv(GLuint uIndex, const GLint *pnV)
10122 {
10123  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4NivStr);
10124  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4NivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4NivStr, CYIGL::GL_VERSION_2_0_STR);
10125  CYIGL::CurrentAPI.glVertexAttrib4NivProc(uIndex, pnV);
10126 }
10127 #define glVertexAttrib4Niv YiGLVertexAttrib4Niv
10128 
10134 inline void YiGLVertexAttrib4Nsv(GLuint uIndex, const GLshort *pnV)
10135 {
10136  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4NsvStr);
10137  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4NsvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4NsvStr, CYIGL::GL_VERSION_2_0_STR);
10138  CYIGL::CurrentAPI.glVertexAttrib4NsvProc(uIndex, pnV);
10139 }
10140 #define glVertexAttrib4Nsv YiGLVertexAttrib4Nsv
10141 
10147 inline void YiGLVertexAttrib4Nub(GLuint uIndex, GLubyte uX, GLubyte uY, GLubyte uZ, GLubyte uW)
10148 {
10149  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4NubStr);
10150  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4NubProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4NubStr, CYIGL::GL_VERSION_2_0_STR);
10151  CYIGL::CurrentAPI.glVertexAttrib4NubProc(uIndex, uX, uY, uZ, uW);
10152 }
10153 #define glVertexAttrib4Nub YiGLVertexAttrib4Nub
10154 
10160 inline void YiGLVertexAttrib4Nubv(GLuint uIndex, const GLubyte *puV)
10161 {
10162  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4NubvStr);
10163  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4NubvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4NubvStr, CYIGL::GL_VERSION_2_0_STR);
10164  CYIGL::CurrentAPI.glVertexAttrib4NubvProc(uIndex, puV);
10165 }
10166 #define glVertexAttrib4Nubv YiGLVertexAttrib4Nubv
10167 
10173 inline void YiGLVertexAttrib4Nuiv(GLuint uIndex, const GLuint *puV)
10174 {
10175  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4NuivStr);
10176  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4NuivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4NuivStr, CYIGL::GL_VERSION_2_0_STR);
10177  CYIGL::CurrentAPI.glVertexAttrib4NuivProc(uIndex, puV);
10178 }
10179 #define glVertexAttrib4Nuiv YiGLVertexAttrib4Nuiv
10180 
10186 inline void YiGLVertexAttrib4Nusv(GLuint uIndex, const GLushort *puV)
10187 {
10188  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4NusvStr);
10189  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4NusvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4NusvStr, CYIGL::GL_VERSION_2_0_STR);
10190  CYIGL::CurrentAPI.glVertexAttrib4NusvProc(uIndex, puV);
10191 }
10192 #define glVertexAttrib4Nusv YiGLVertexAttrib4Nusv
10193 
10199 inline void YiGLVertexAttrib4bv(GLuint uIndex, const GLbyte *pnV)
10200 {
10201  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4bvStr);
10202  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4bvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4bvStr, CYIGL::GL_VERSION_2_0_STR);
10203  CYIGL::CurrentAPI.glVertexAttrib4bvProc(uIndex, pnV);
10204 }
10205 #define glVertexAttrib4bv YiGLVertexAttrib4bv
10206 
10212 inline void YiGLVertexAttrib4d(GLuint uIndex, GLdouble fX, GLdouble fY, GLdouble fZ, GLdouble fW)
10213 {
10214  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4dStr);
10215  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4dStr, CYIGL::GL_VERSION_2_0_STR);
10216  CYIGL::CurrentAPI.glVertexAttrib4dProc(uIndex, fX, fY, fZ, fW);
10217 }
10218 #define glVertexAttrib4d YiGLVertexAttrib4d
10219 
10225 inline void YiGLVertexAttrib4dv(GLuint uIndex, const GLdouble *pfV)
10226 {
10227  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4dvStr);
10228  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4dvStr, CYIGL::GL_VERSION_2_0_STR);
10229  CYIGL::CurrentAPI.glVertexAttrib4dvProc(uIndex, pfV);
10230 }
10231 #define glVertexAttrib4dv YiGLVertexAttrib4dv
10232 
10239 inline void YiGLVertexAttrib4f(GLuint uIndex, GLfloat fX, GLfloat fY, GLfloat fZ, GLfloat fW)
10240 {
10241  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4fStr);
10242  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttrib4fStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
10243  CYIGL::CurrentAPI.glVertexAttrib4fProc(uIndex, fX, fY, fZ, fW);
10244 }
10245 #define glVertexAttrib4f YiGLVertexAttrib4f
10246 
10253 inline void YiGLVertexAttrib4fv(GLuint uIndex, const GLfloat *pfV)
10254 {
10255  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4fvStr);
10256  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttrib4fvStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
10257  CYIGL::CurrentAPI.glVertexAttrib4fvProc(uIndex, pfV);
10258 }
10259 #define glVertexAttrib4fv YiGLVertexAttrib4fv
10260 
10266 inline void YiGLVertexAttrib4iv(GLuint uIndex, const GLint *pnV)
10267 {
10268  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4ivStr);
10269  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4ivStr, CYIGL::GL_VERSION_2_0_STR);
10270  CYIGL::CurrentAPI.glVertexAttrib4ivProc(uIndex, pnV);
10271 }
10272 #define glVertexAttrib4iv YiGLVertexAttrib4iv
10273 
10279 inline void YiGLVertexAttrib4s(GLuint uIndex, GLshort nX, GLshort nY, GLshort nZ, GLshort nW)
10280 {
10281  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4sStr);
10282  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4sStr, CYIGL::GL_VERSION_2_0_STR);
10283  CYIGL::CurrentAPI.glVertexAttrib4sProc(uIndex, nX, nY, nZ, nW);
10284 }
10285 #define glVertexAttrib4s YiGLVertexAttrib4s
10286 
10292 inline void YiGLVertexAttrib4sv(GLuint uIndex, const GLshort *pnV)
10293 {
10294  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4svStr);
10295  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4svStr, CYIGL::GL_VERSION_2_0_STR);
10296  CYIGL::CurrentAPI.glVertexAttrib4svProc(uIndex, pnV);
10297 }
10298 #define glVertexAttrib4sv YiGLVertexAttrib4sv
10299 
10305 inline void YiGLVertexAttrib4ubv(GLuint uIndex, const GLubyte *puV)
10306 {
10307  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4ubvStr);
10308  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4ubvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4ubvStr, CYIGL::GL_VERSION_2_0_STR);
10309  CYIGL::CurrentAPI.glVertexAttrib4ubvProc(uIndex, puV);
10310 }
10311 #define glVertexAttrib4ubv YiGLVertexAttrib4ubv
10312 
10318 inline void YiGLVertexAttrib4uiv(GLuint uIndex, const GLuint *puV)
10319 {
10320  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4uivStr);
10321  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4uivStr, CYIGL::GL_VERSION_2_0_STR);
10322  CYIGL::CurrentAPI.glVertexAttrib4uivProc(uIndex, puV);
10323 }
10324 #define glVertexAttrib4uiv YiGLVertexAttrib4uiv
10325 
10331 inline void YiGLVertexAttrib4usv(GLuint uIndex, const GLushort *puV)
10332 {
10333  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttrib4usvStr);
10334  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttrib4usvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttrib4usvStr, CYIGL::GL_VERSION_2_0_STR);
10335  CYIGL::CurrentAPI.glVertexAttrib4usvProc(uIndex, puV);
10336 }
10337 #define glVertexAttrib4usv YiGLVertexAttrib4usv
10338 
10345 inline void YiGLVertexAttribBinding(GLuint uAttribindex, GLuint uBindingindex)
10346 {
10347  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribBindingStr);
10348  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribBindingProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribBindingStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
10349  CYIGL::CurrentAPI.glVertexAttribBindingProc(uAttribindex, uBindingindex);
10350 }
10351 #define glVertexAttribBinding YiGLVertexAttribBinding
10352 
10359 inline void YiGLVertexAttribDivisor(GLuint uIndex, GLuint uDivisor)
10360 {
10361  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribDivisorStr);
10362  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribDivisorProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribDivisorStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_3_STR);
10363  CYIGL::CurrentAPI.glVertexAttribDivisorProc(uIndex, uDivisor);
10364 }
10365 #define glVertexAttribDivisor YiGLVertexAttribDivisor
10366 
10373 inline void YiGLVertexAttribFormat(GLuint uAttribindex, GLint nSize, GLenum eType, GLboolean bNormalized, GLuint uRelativeoffset)
10374 {
10375  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribFormatStr);
10376  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribFormatProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribFormatStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
10377  CYIGL::CurrentAPI.glVertexAttribFormatProc(uAttribindex, nSize, eType, bNormalized, uRelativeoffset);
10378 }
10379 #define glVertexAttribFormat YiGLVertexAttribFormat
10380 
10386 inline void YiGLVertexAttribI1i(GLuint uIndex, GLint nX)
10387 {
10388  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI1iStr);
10389  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI1iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI1iStr, CYIGL::GL_VERSION_3_0_STR);
10390  CYIGL::CurrentAPI.glVertexAttribI1iProc(uIndex, nX);
10391 }
10392 #define glVertexAttribI1i YiGLVertexAttribI1i
10393 
10399 inline void YiGLVertexAttribI1iv(GLuint uIndex, const GLint *pnV)
10400 {
10401  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI1ivStr);
10402  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI1ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI1ivStr, CYIGL::GL_VERSION_3_0_STR);
10403  CYIGL::CurrentAPI.glVertexAttribI1ivProc(uIndex, pnV);
10404 }
10405 #define glVertexAttribI1iv YiGLVertexAttribI1iv
10406 
10412 inline void YiGLVertexAttribI1ui(GLuint uIndex, GLuint uX)
10413 {
10414  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI1uiStr);
10415  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI1uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI1uiStr, CYIGL::GL_VERSION_3_0_STR);
10416  CYIGL::CurrentAPI.glVertexAttribI1uiProc(uIndex, uX);
10417 }
10418 #define glVertexAttribI1ui YiGLVertexAttribI1ui
10419 
10425 inline void YiGLVertexAttribI1uiv(GLuint uIndex, const GLuint *puV)
10426 {
10427  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI1uivStr);
10428  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI1uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI1uivStr, CYIGL::GL_VERSION_3_0_STR);
10429  CYIGL::CurrentAPI.glVertexAttribI1uivProc(uIndex, puV);
10430 }
10431 #define glVertexAttribI1uiv YiGLVertexAttribI1uiv
10432 
10438 inline void YiGLVertexAttribI2i(GLuint uIndex, GLint nX, GLint nY)
10439 {
10440  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI2iStr);
10441  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI2iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI2iStr, CYIGL::GL_VERSION_3_0_STR);
10442  CYIGL::CurrentAPI.glVertexAttribI2iProc(uIndex, nX, nY);
10443 }
10444 #define glVertexAttribI2i YiGLVertexAttribI2i
10445 
10451 inline void YiGLVertexAttribI2iv(GLuint uIndex, const GLint *pnV)
10452 {
10453  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI2ivStr);
10454  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI2ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI2ivStr, CYIGL::GL_VERSION_3_0_STR);
10455  CYIGL::CurrentAPI.glVertexAttribI2ivProc(uIndex, pnV);
10456 }
10457 #define glVertexAttribI2iv YiGLVertexAttribI2iv
10458 
10464 inline void YiGLVertexAttribI2ui(GLuint uIndex, GLuint uX, GLuint uY)
10465 {
10466  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI2uiStr);
10467  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI2uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI2uiStr, CYIGL::GL_VERSION_3_0_STR);
10468  CYIGL::CurrentAPI.glVertexAttribI2uiProc(uIndex, uX, uY);
10469 }
10470 #define glVertexAttribI2ui YiGLVertexAttribI2ui
10471 
10477 inline void YiGLVertexAttribI2uiv(GLuint uIndex, const GLuint *puV)
10478 {
10479  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI2uivStr);
10480  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI2uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI2uivStr, CYIGL::GL_VERSION_3_0_STR);
10481  CYIGL::CurrentAPI.glVertexAttribI2uivProc(uIndex, puV);
10482 }
10483 #define glVertexAttribI2uiv YiGLVertexAttribI2uiv
10484 
10490 inline void YiGLVertexAttribI3i(GLuint uIndex, GLint nX, GLint nY, GLint nZ)
10491 {
10492  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI3iStr);
10493  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI3iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI3iStr, CYIGL::GL_VERSION_3_0_STR);
10494  CYIGL::CurrentAPI.glVertexAttribI3iProc(uIndex, nX, nY, nZ);
10495 }
10496 #define glVertexAttribI3i YiGLVertexAttribI3i
10497 
10503 inline void YiGLVertexAttribI3iv(GLuint uIndex, const GLint *pnV)
10504 {
10505  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI3ivStr);
10506  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI3ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI3ivStr, CYIGL::GL_VERSION_3_0_STR);
10507  CYIGL::CurrentAPI.glVertexAttribI3ivProc(uIndex, pnV);
10508 }
10509 #define glVertexAttribI3iv YiGLVertexAttribI3iv
10510 
10516 inline void YiGLVertexAttribI3ui(GLuint uIndex, GLuint uX, GLuint uY, GLuint uZ)
10517 {
10518  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI3uiStr);
10519  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI3uiStr, CYIGL::GL_VERSION_3_0_STR);
10520  CYIGL::CurrentAPI.glVertexAttribI3uiProc(uIndex, uX, uY, uZ);
10521 }
10522 #define glVertexAttribI3ui YiGLVertexAttribI3ui
10523 
10529 inline void YiGLVertexAttribI3uiv(GLuint uIndex, const GLuint *puV)
10530 {
10531  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI3uivStr);
10532  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI3uivStr, CYIGL::GL_VERSION_3_0_STR);
10533  CYIGL::CurrentAPI.glVertexAttribI3uivProc(uIndex, puV);
10534 }
10535 #define glVertexAttribI3uiv YiGLVertexAttribI3uiv
10536 
10542 inline void YiGLVertexAttribI4bv(GLuint uIndex, const GLbyte *pnV)
10543 {
10544  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI4bvStr);
10545  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI4bvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI4bvStr, CYIGL::GL_VERSION_3_0_STR);
10546  CYIGL::CurrentAPI.glVertexAttribI4bvProc(uIndex, pnV);
10547 }
10548 #define glVertexAttribI4bv YiGLVertexAttribI4bv
10549 
10556 inline void YiGLVertexAttribI4i(GLuint uIndex, GLint nX, GLint nY, GLint nZ, GLint nW)
10557 {
10558  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI4iStr);
10559  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI4iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribI4iStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
10560  CYIGL::CurrentAPI.glVertexAttribI4iProc(uIndex, nX, nY, nZ, nW);
10561 }
10562 #define glVertexAttribI4i YiGLVertexAttribI4i
10563 
10570 inline void YiGLVertexAttribI4iv(GLuint uIndex, const GLint *pnV)
10571 {
10572  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI4ivStr);
10573  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI4ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribI4ivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
10574  CYIGL::CurrentAPI.glVertexAttribI4ivProc(uIndex, pnV);
10575 }
10576 #define glVertexAttribI4iv YiGLVertexAttribI4iv
10577 
10583 inline void YiGLVertexAttribI4sv(GLuint uIndex, const GLshort *pnV)
10584 {
10585  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI4svStr);
10586  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI4svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI4svStr, CYIGL::GL_VERSION_3_0_STR);
10587  CYIGL::CurrentAPI.glVertexAttribI4svProc(uIndex, pnV);
10588 }
10589 #define glVertexAttribI4sv YiGLVertexAttribI4sv
10590 
10596 inline void YiGLVertexAttribI4ubv(GLuint uIndex, const GLubyte *puV)
10597 {
10598  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI4ubvStr);
10599  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI4ubvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI4ubvStr, CYIGL::GL_VERSION_3_0_STR);
10600  CYIGL::CurrentAPI.glVertexAttribI4ubvProc(uIndex, puV);
10601 }
10602 #define glVertexAttribI4ubv YiGLVertexAttribI4ubv
10603 
10610 inline void YiGLVertexAttribI4ui(GLuint uIndex, GLuint uX, GLuint uY, GLuint uZ, GLuint uW)
10611 {
10612  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI4uiStr);
10613  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI4uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribI4uiStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
10614  CYIGL::CurrentAPI.glVertexAttribI4uiProc(uIndex, uX, uY, uZ, uW);
10615 }
10616 #define glVertexAttribI4ui YiGLVertexAttribI4ui
10617 
10624 inline void YiGLVertexAttribI4uiv(GLuint uIndex, const GLuint *puV)
10625 {
10626  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI4uivStr);
10627  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribI4uivStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
10628  CYIGL::CurrentAPI.glVertexAttribI4uivProc(uIndex, puV);
10629 }
10630 #define glVertexAttribI4uiv YiGLVertexAttribI4uiv
10631 
10637 inline void YiGLVertexAttribI4usv(GLuint uIndex, const GLushort *puV)
10638 {
10639  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribI4usvStr);
10640  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribI4usvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribI4usvStr, CYIGL::GL_VERSION_3_0_STR);
10641  CYIGL::CurrentAPI.glVertexAttribI4usvProc(uIndex, puV);
10642 }
10643 #define glVertexAttribI4usv YiGLVertexAttribI4usv
10644 
10651 inline void YiGLVertexAttribIFormat(GLuint uAttribindex, GLint nSize, GLenum eType, GLuint uRelativeoffset)
10652 {
10653  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribIFormatStr);
10654  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribIFormatProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribIFormatStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
10655  CYIGL::CurrentAPI.glVertexAttribIFormatProc(uAttribindex, nSize, eType, uRelativeoffset);
10656 }
10657 #define glVertexAttribIFormat YiGLVertexAttribIFormat
10658 
10665 inline void YiGLVertexAttribIPointer(GLuint uIndex, GLint nSize, GLenum eType, GLsizei nStride, const void *pPointer)
10666 {
10667  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribIPointerStr);
10668  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribIPointerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribIPointerStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_0_STR);
10669  CYIGL::CurrentAPI.glVertexAttribIPointerProc(uIndex, nSize, eType, nStride, pPointer);
10670 }
10671 #define glVertexAttribIPointer YiGLVertexAttribIPointer
10672 
10678 inline void YiGLVertexAttribL1d(GLuint uIndex, GLdouble fX)
10679 {
10680  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribL1dStr);
10681  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribL1dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribL1dStr, CYIGL::GL_VERSION_4_1_STR);
10682  CYIGL::CurrentAPI.glVertexAttribL1dProc(uIndex, fX);
10683 }
10684 #define glVertexAttribL1d YiGLVertexAttribL1d
10685 
10691 inline void YiGLVertexAttribL1dv(GLuint uIndex, const GLdouble *pfV)
10692 {
10693  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribL1dvStr);
10694  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribL1dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribL1dvStr, CYIGL::GL_VERSION_4_1_STR);
10695  CYIGL::CurrentAPI.glVertexAttribL1dvProc(uIndex, pfV);
10696 }
10697 #define glVertexAttribL1dv YiGLVertexAttribL1dv
10698 
10704 inline void YiGLVertexAttribL2d(GLuint uIndex, GLdouble fX, GLdouble fY)
10705 {
10706  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribL2dStr);
10707  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribL2dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribL2dStr, CYIGL::GL_VERSION_4_1_STR);
10708  CYIGL::CurrentAPI.glVertexAttribL2dProc(uIndex, fX, fY);
10709 }
10710 #define glVertexAttribL2d YiGLVertexAttribL2d
10711 
10717 inline void YiGLVertexAttribL2dv(GLuint uIndex, const GLdouble *pfV)
10718 {
10719  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribL2dvStr);
10720  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribL2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribL2dvStr, CYIGL::GL_VERSION_4_1_STR);
10721  CYIGL::CurrentAPI.glVertexAttribL2dvProc(uIndex, pfV);
10722 }
10723 #define glVertexAttribL2dv YiGLVertexAttribL2dv
10724 
10730 inline void YiGLVertexAttribL3d(GLuint uIndex, GLdouble fX, GLdouble fY, GLdouble fZ)
10731 {
10732  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribL3dStr);
10733  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribL3dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribL3dStr, CYIGL::GL_VERSION_4_1_STR);
10734  CYIGL::CurrentAPI.glVertexAttribL3dProc(uIndex, fX, fY, fZ);
10735 }
10736 #define glVertexAttribL3d YiGLVertexAttribL3d
10737 
10743 inline void YiGLVertexAttribL3dv(GLuint uIndex, const GLdouble *pfV)
10744 {
10745  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribL3dvStr);
10746  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribL3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribL3dvStr, CYIGL::GL_VERSION_4_1_STR);
10747  CYIGL::CurrentAPI.glVertexAttribL3dvProc(uIndex, pfV);
10748 }
10749 #define glVertexAttribL3dv YiGLVertexAttribL3dv
10750 
10756 inline void YiGLVertexAttribL4d(GLuint uIndex, GLdouble fX, GLdouble fY, GLdouble fZ, GLdouble fW)
10757 {
10758  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribL4dStr);
10759  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribL4dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribL4dStr, CYIGL::GL_VERSION_4_1_STR);
10760  CYIGL::CurrentAPI.glVertexAttribL4dProc(uIndex, fX, fY, fZ, fW);
10761 }
10762 #define glVertexAttribL4d YiGLVertexAttribL4d
10763 
10769 inline void YiGLVertexAttribL4dv(GLuint uIndex, const GLdouble *pfV)
10770 {
10771  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribL4dvStr);
10772  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribL4dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribL4dvStr, CYIGL::GL_VERSION_4_1_STR);
10773  CYIGL::CurrentAPI.glVertexAttribL4dvProc(uIndex, pfV);
10774 }
10775 #define glVertexAttribL4dv YiGLVertexAttribL4dv
10776 
10782 inline void YiGLVertexAttribLFormat(GLuint uAttribindex, GLint nSize, GLenum eType, GLuint uRelativeoffset)
10783 {
10784  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribLFormatStr);
10785  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribLFormatProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribLFormatStr, CYIGL::GL_VERSION_4_3_STR);
10786  CYIGL::CurrentAPI.glVertexAttribLFormatProc(uAttribindex, nSize, eType, uRelativeoffset);
10787 }
10788 #define glVertexAttribLFormat YiGLVertexAttribLFormat
10789 
10795 inline void YiGLVertexAttribLPointer(GLuint uIndex, GLint nSize, GLenum eType, GLsizei nStride, const void *pPointer)
10796 {
10797  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribLPointerStr);
10798  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribLPointerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribLPointerStr, CYIGL::GL_VERSION_4_1_STR);
10799  CYIGL::CurrentAPI.glVertexAttribLPointerProc(uIndex, nSize, eType, nStride, pPointer);
10800 }
10801 #define glVertexAttribLPointer YiGLVertexAttribLPointer
10802 
10808 inline void YiGLVertexAttribP1ui(GLuint uIndex, GLenum eType, GLboolean bNormalized, GLuint uValue)
10809 {
10810  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribP1uiStr);
10811  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribP1uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribP1uiStr, CYIGL::GL_VERSION_3_3_STR);
10812  CYIGL::CurrentAPI.glVertexAttribP1uiProc(uIndex, eType, bNormalized, uValue);
10813 }
10814 #define glVertexAttribP1ui YiGLVertexAttribP1ui
10815 
10821 inline void YiGLVertexAttribP1uiv(GLuint uIndex, GLenum eType, GLboolean bNormalized, const GLuint *puValue)
10822 {
10823  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribP1uivStr);
10824  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribP1uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribP1uivStr, CYIGL::GL_VERSION_3_3_STR);
10825  CYIGL::CurrentAPI.glVertexAttribP1uivProc(uIndex, eType, bNormalized, puValue);
10826 }
10827 #define glVertexAttribP1uiv YiGLVertexAttribP1uiv
10828 
10834 inline void YiGLVertexAttribP2ui(GLuint uIndex, GLenum eType, GLboolean bNormalized, GLuint uValue)
10835 {
10836  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribP2uiStr);
10837  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribP2uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribP2uiStr, CYIGL::GL_VERSION_3_3_STR);
10838  CYIGL::CurrentAPI.glVertexAttribP2uiProc(uIndex, eType, bNormalized, uValue);
10839 }
10840 #define glVertexAttribP2ui YiGLVertexAttribP2ui
10841 
10847 inline void YiGLVertexAttribP2uiv(GLuint uIndex, GLenum eType, GLboolean bNormalized, const GLuint *puValue)
10848 {
10849  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribP2uivStr);
10850  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribP2uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribP2uivStr, CYIGL::GL_VERSION_3_3_STR);
10851  CYIGL::CurrentAPI.glVertexAttribP2uivProc(uIndex, eType, bNormalized, puValue);
10852 }
10853 #define glVertexAttribP2uiv YiGLVertexAttribP2uiv
10854 
10860 inline void YiGLVertexAttribP3ui(GLuint uIndex, GLenum eType, GLboolean bNormalized, GLuint uValue)
10861 {
10862  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribP3uiStr);
10863  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribP3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribP3uiStr, CYIGL::GL_VERSION_3_3_STR);
10864  CYIGL::CurrentAPI.glVertexAttribP3uiProc(uIndex, eType, bNormalized, uValue);
10865 }
10866 #define glVertexAttribP3ui YiGLVertexAttribP3ui
10867 
10873 inline void YiGLVertexAttribP3uiv(GLuint uIndex, GLenum eType, GLboolean bNormalized, const GLuint *puValue)
10874 {
10875  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribP3uivStr);
10876  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribP3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribP3uivStr, CYIGL::GL_VERSION_3_3_STR);
10877  CYIGL::CurrentAPI.glVertexAttribP3uivProc(uIndex, eType, bNormalized, puValue);
10878 }
10879 #define glVertexAttribP3uiv YiGLVertexAttribP3uiv
10880 
10886 inline void YiGLVertexAttribP4ui(GLuint uIndex, GLenum eType, GLboolean bNormalized, GLuint uValue)
10887 {
10888  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribP4uiStr);
10889  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribP4uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribP4uiStr, CYIGL::GL_VERSION_3_3_STR);
10890  CYIGL::CurrentAPI.glVertexAttribP4uiProc(uIndex, eType, bNormalized, uValue);
10891 }
10892 #define glVertexAttribP4ui YiGLVertexAttribP4ui
10893 
10899 inline void YiGLVertexAttribP4uiv(GLuint uIndex, GLenum eType, GLboolean bNormalized, const GLuint *puValue)
10900 {
10901  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribP4uivStr);
10902  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribP4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexAttribP4uivStr, CYIGL::GL_VERSION_3_3_STR);
10903  CYIGL::CurrentAPI.glVertexAttribP4uivProc(uIndex, eType, bNormalized, puValue);
10904 }
10905 #define glVertexAttribP4uiv YiGLVertexAttribP4uiv
10906 
10913 inline void YiGLVertexAttribPointer(GLuint uIndex, GLint nSize, GLenum eType, GLboolean bNormalized, GLsizei nStride, const void *pPointer)
10914 {
10915  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexAttribPointerStr);
10916  YI_ASSERT(CYIGL::CurrentAPI.glVertexAttribPointerProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexAttribPointerStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_2_0_STR);
10917  CYIGL::CurrentAPI.glVertexAttribPointerProc(uIndex, nSize, eType, bNormalized, nStride, pPointer);
10918 }
10919 #define glVertexAttribPointer YiGLVertexAttribPointer
10920 
10927 inline void YiGLVertexBindingDivisor(GLuint uBindingindex, GLuint uDivisor)
10928 {
10929  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexBindingDivisorStr);
10930  YI_ASSERT(CYIGL::CurrentAPI.glVertexBindingDivisorProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glVertexBindingDivisorStr, CYIGL::GL_ES_VERSION_3_1_STR, CYIGL::GL_VERSION_4_3_STR);
10931  CYIGL::CurrentAPI.glVertexBindingDivisorProc(uBindingindex, uDivisor);
10932 }
10933 #define glVertexBindingDivisor YiGLVertexBindingDivisor
10934 
10940 inline void YiGLVertexP2ui(GLenum eType, GLuint uValue)
10941 {
10942  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexP2uiStr);
10943  YI_ASSERT(CYIGL::CurrentAPI.glVertexP2uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexP2uiStr, CYIGL::GL_VERSION_3_3_STR);
10944  CYIGL::CurrentAPI.glVertexP2uiProc(eType, uValue);
10945 }
10946 #define glVertexP2ui YiGLVertexP2ui
10947 
10953 inline void YiGLVertexP2uiv(GLenum eType, const GLuint *puValue)
10954 {
10955  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexP2uivStr);
10956  YI_ASSERT(CYIGL::CurrentAPI.glVertexP2uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexP2uivStr, CYIGL::GL_VERSION_3_3_STR);
10957  CYIGL::CurrentAPI.glVertexP2uivProc(eType, puValue);
10958 }
10959 #define glVertexP2uiv YiGLVertexP2uiv
10960 
10966 inline void YiGLVertexP3ui(GLenum eType, GLuint uValue)
10967 {
10968  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexP3uiStr);
10969  YI_ASSERT(CYIGL::CurrentAPI.glVertexP3uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexP3uiStr, CYIGL::GL_VERSION_3_3_STR);
10970  CYIGL::CurrentAPI.glVertexP3uiProc(eType, uValue);
10971 }
10972 #define glVertexP3ui YiGLVertexP3ui
10973 
10979 inline void YiGLVertexP3uiv(GLenum eType, const GLuint *puValue)
10980 {
10981  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexP3uivStr);
10982  YI_ASSERT(CYIGL::CurrentAPI.glVertexP3uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexP3uivStr, CYIGL::GL_VERSION_3_3_STR);
10983  CYIGL::CurrentAPI.glVertexP3uivProc(eType, puValue);
10984 }
10985 #define glVertexP3uiv YiGLVertexP3uiv
10986 
10992 inline void YiGLVertexP4ui(GLenum eType, GLuint uValue)
10993 {
10994  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexP4uiStr);
10995  YI_ASSERT(CYIGL::CurrentAPI.glVertexP4uiProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexP4uiStr, CYIGL::GL_VERSION_3_3_STR);
10996  CYIGL::CurrentAPI.glVertexP4uiProc(eType, uValue);
10997 }
10998 #define glVertexP4ui YiGLVertexP4ui
10999 
11005 inline void YiGLVertexP4uiv(GLenum eType, const GLuint *puValue)
11006 {
11007  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glVertexP4uivStr);
11008  YI_ASSERT(CYIGL::CurrentAPI.glVertexP4uivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glVertexP4uivStr, CYIGL::GL_VERSION_3_3_STR);
11009  CYIGL::CurrentAPI.glVertexP4uivProc(eType, puValue);
11010 }
11011 #define glVertexP4uiv YiGLVertexP4uiv
11012 
11019 inline void YiGLViewport(GLint nX, GLint nY, GLsizei nWidth, GLsizei nHeight)
11020 {
11021  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glViewportStr);
11022  YI_ASSERT(CYIGL::CurrentAPI.glViewportProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glViewportStr, CYIGL::GL_ES_VERSION_2_0_STR, CYIGL::GL_VERSION_1_0_STR);
11023  CYIGL::CurrentAPI.glViewportProc(nX, nY, nWidth, nHeight);
11024 }
11025 #define glViewport YiGLViewport
11026 
11032 inline void YiGLViewportArrayv(GLuint uFirst, GLsizei nCount, const GLfloat *pfV)
11033 {
11034  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glViewportArrayvStr);
11035  YI_ASSERT(CYIGL::CurrentAPI.glViewportArrayvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glViewportArrayvStr, CYIGL::GL_VERSION_4_1_STR);
11036  CYIGL::CurrentAPI.glViewportArrayvProc(uFirst, nCount, pfV);
11037 }
11038 #define glViewportArrayv YiGLViewportArrayv
11039 
11045 inline void YiGLViewportIndexedf(GLuint uIndex, GLfloat fX, GLfloat fY, GLfloat fW, GLfloat fH)
11046 {
11047  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glViewportIndexedfStr);
11048  YI_ASSERT(CYIGL::CurrentAPI.glViewportIndexedfProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glViewportIndexedfStr, CYIGL::GL_VERSION_4_1_STR);
11049  CYIGL::CurrentAPI.glViewportIndexedfProc(uIndex, fX, fY, fW, fH);
11050 }
11051 #define glViewportIndexedf YiGLViewportIndexedf
11052 
11058 inline void YiGLViewportIndexedfv(GLuint uIndex, const GLfloat *pfV)
11059 {
11060  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glViewportIndexedfvStr);
11061  YI_ASSERT(CYIGL::CurrentAPI.glViewportIndexedfvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glViewportIndexedfvStr, CYIGL::GL_VERSION_4_1_STR);
11062  CYIGL::CurrentAPI.glViewportIndexedfvProc(uIndex, pfV);
11063 }
11064 #define glViewportIndexedfv YiGLViewportIndexedfv
11065 
11072 inline void YiGLWaitSync(GLsync pSync, GLbitfield uFlags, GLuint64 uTimeout)
11073 {
11074  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWaitSyncStr);
11075  YI_ASSERT(CYIGL::CurrentAPI.glWaitSyncProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' and '%s' is null.", CYIGL::glWaitSyncStr, CYIGL::GL_ES_VERSION_3_0_STR, CYIGL::GL_VERSION_3_2_STR);
11076  CYIGL::CurrentAPI.glWaitSyncProc(pSync, uFlags, uTimeout);
11077 }
11078 #define glWaitSync YiGLWaitSync
11079 
11085 inline void YiGLWindowPos2d(GLdouble fX, GLdouble fY)
11086 {
11087  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos2dStr);
11088  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos2dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos2dStr, CYIGL::GL_VERSION_1_4_STR);
11089  CYIGL::CurrentAPI.glWindowPos2dProc(fX, fY);
11090 }
11091 #define glWindowPos2d YiGLWindowPos2d
11092 
11098 inline void YiGLWindowPos2dv(const GLdouble *pfV)
11099 {
11100  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos2dvStr);
11101  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos2dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos2dvStr, CYIGL::GL_VERSION_1_4_STR);
11102  CYIGL::CurrentAPI.glWindowPos2dvProc(pfV);
11103 }
11104 #define glWindowPos2dv YiGLWindowPos2dv
11105 
11111 inline void YiGLWindowPos2f(GLfloat fX, GLfloat fY)
11112 {
11113  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos2fStr);
11114  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos2fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos2fStr, CYIGL::GL_VERSION_1_4_STR);
11115  CYIGL::CurrentAPI.glWindowPos2fProc(fX, fY);
11116 }
11117 #define glWindowPos2f YiGLWindowPos2f
11118 
11124 inline void YiGLWindowPos2fv(const GLfloat *pfV)
11125 {
11126  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos2fvStr);
11127  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos2fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos2fvStr, CYIGL::GL_VERSION_1_4_STR);
11128  CYIGL::CurrentAPI.glWindowPos2fvProc(pfV);
11129 }
11130 #define glWindowPos2fv YiGLWindowPos2fv
11131 
11137 inline void YiGLWindowPos2i(GLint nX, GLint nY)
11138 {
11139  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos2iStr);
11140  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos2iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos2iStr, CYIGL::GL_VERSION_1_4_STR);
11141  CYIGL::CurrentAPI.glWindowPos2iProc(nX, nY);
11142 }
11143 #define glWindowPos2i YiGLWindowPos2i
11144 
11150 inline void YiGLWindowPos2iv(const GLint *pnV)
11151 {
11152  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos2ivStr);
11153  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos2ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos2ivStr, CYIGL::GL_VERSION_1_4_STR);
11154  CYIGL::CurrentAPI.glWindowPos2ivProc(pnV);
11155 }
11156 #define glWindowPos2iv YiGLWindowPos2iv
11157 
11163 inline void YiGLWindowPos2s(GLshort nX, GLshort nY)
11164 {
11165  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos2sStr);
11166  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos2sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos2sStr, CYIGL::GL_VERSION_1_4_STR);
11167  CYIGL::CurrentAPI.glWindowPos2sProc(nX, nY);
11168 }
11169 #define glWindowPos2s YiGLWindowPos2s
11170 
11176 inline void YiGLWindowPos2sv(const GLshort *pnV)
11177 {
11178  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos2svStr);
11179  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos2svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos2svStr, CYIGL::GL_VERSION_1_4_STR);
11180  CYIGL::CurrentAPI.glWindowPos2svProc(pnV);
11181 }
11182 #define glWindowPos2sv YiGLWindowPos2sv
11183 
11189 inline void YiGLWindowPos3d(GLdouble fX, GLdouble fY, GLdouble fZ)
11190 {
11191  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos3dStr);
11192  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos3dProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos3dStr, CYIGL::GL_VERSION_1_4_STR);
11193  CYIGL::CurrentAPI.glWindowPos3dProc(fX, fY, fZ);
11194 }
11195 #define glWindowPos3d YiGLWindowPos3d
11196 
11202 inline void YiGLWindowPos3dv(const GLdouble *pfV)
11203 {
11204  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos3dvStr);
11205  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos3dvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos3dvStr, CYIGL::GL_VERSION_1_4_STR);
11206  CYIGL::CurrentAPI.glWindowPos3dvProc(pfV);
11207 }
11208 #define glWindowPos3dv YiGLWindowPos3dv
11209 
11215 inline void YiGLWindowPos3f(GLfloat fX, GLfloat fY, GLfloat fZ)
11216 {
11217  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos3fStr);
11218  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos3fProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos3fStr, CYIGL::GL_VERSION_1_4_STR);
11219  CYIGL::CurrentAPI.glWindowPos3fProc(fX, fY, fZ);
11220 }
11221 #define glWindowPos3f YiGLWindowPos3f
11222 
11228 inline void YiGLWindowPos3fv(const GLfloat *pfV)
11229 {
11230  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos3fvStr);
11231  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos3fvProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos3fvStr, CYIGL::GL_VERSION_1_4_STR);
11232  CYIGL::CurrentAPI.glWindowPos3fvProc(pfV);
11233 }
11234 #define glWindowPos3fv YiGLWindowPos3fv
11235 
11241 inline void YiGLWindowPos3i(GLint nX, GLint nY, GLint nZ)
11242 {
11243  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos3iStr);
11244  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos3iProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos3iStr, CYIGL::GL_VERSION_1_4_STR);
11245  CYIGL::CurrentAPI.glWindowPos3iProc(nX, nY, nZ);
11246 }
11247 #define glWindowPos3i YiGLWindowPos3i
11248 
11254 inline void YiGLWindowPos3iv(const GLint *pnV)
11255 {
11256  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos3ivStr);
11257  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos3ivProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos3ivStr, CYIGL::GL_VERSION_1_4_STR);
11258  CYIGL::CurrentAPI.glWindowPos3ivProc(pnV);
11259 }
11260 #define glWindowPos3iv YiGLWindowPos3iv
11261 
11267 inline void YiGLWindowPos3s(GLshort nX, GLshort nY, GLshort nZ)
11268 {
11269  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos3sStr);
11270  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos3sProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos3sStr, CYIGL::GL_VERSION_1_4_STR);
11271  CYIGL::CurrentAPI.glWindowPos3sProc(nX, nY, nZ);
11272 }
11273 #define glWindowPos3s YiGLWindowPos3s
11274 
11280 inline void YiGLWindowPos3sv(const GLshort *pnV)
11281 {
11282  YI_ASSERT(CYIGL::CurrentAPI.bInitialized, CYIGL::LOG_TAG, "CYIGL was not initialized. Did you call CYIGL::Init() before calling '%s'?", CYIGL::glWindowPos3svStr);
11283  YI_ASSERT(CYIGL::CurrentAPI.glWindowPos3svProc, CYIGL::LOG_TAG, "'%s' procedure for '%s' is null.", CYIGL::glWindowPos3svStr, CYIGL::GL_VERSION_1_4_STR);
11284  CYIGL::CurrentAPI.glWindowPos3svProc(pnV);
11285 }
11286 #define glWindowPos3sv YiGLWindowPos3sv
11287 
11288 #endif /* (defined(YI_OPENGL2_RENDERING) || defined(YI_OPENGL_ES2_RENDERING)) */
11289 #endif /* _YI_GL_API_GENERATED_H_ */
#define YI_ASSERT(condition, tag, msg,...)
Platform-independent assertion macro.
Definition: YiError.h:37