a
    i‚jº  ã                   @   s„   d Z ddlmZmZmZ ddlmZmZ ddlZddlm	Z	m
Z
 ddlT ddlmZ dd	„ Ze e¡ d
d¡Ze e¡ d
d¡ZdS )a   OpenGL extension EXT.multi_draw_indirect

This module customises the behaviour of the 
OpenGL.raw.GLES2.EXT.multi_draw_indirect to provide a more 
Python-friendly API

Overview (from the spec)
	
	The ARB_draw_indirect extension (included in OpenGL 4.0 and OpenGL ES 3.1)
	introduced mechanisms whereby the parameters for a draw function may be
	provided in a structure contained in a buffer object rather than as
	parameters to the drawing procedure. This is known as an indirect draw and
	is exposed as two new functions, glDrawArraysIndirect and
	glDrawElementsIndirect. Each of these functions generates a single batch
	of primitives.
	
	This extension builds on this functionality by providing procedures to
	invoke multiple draws from a single procedure call. This allows large
	batches of drawing commands to be assembled in server memory (via a buffer
	object) which may then be dispatched through a single function call.

The official definition of this extension is available here:
http://www.opengl.org/registry/specs/EXT/multi_draw_indirect.txt
é    )ÚplatformÚconstantÚarrays)Ú
extensionsÚwrapperN)Ú_typesÚ_glgets)Ú*)Ú_EXTENSION_NAMEc                  C   s   ddl m}  |  t¡S )z=Return boolean indicating whether this extension is availabler   ©r   )ÚOpenGLr   ZhasGLExtensionr
   r   © r   úb/home/ghrups/robot-bench/.venv/lib/python3.9/site-packages/OpenGL/GLES2/EXT/multi_draw_indirect.pyÚglInitMultiDrawIndirectEXT    s    r   Zindirect)Ú__doc__r   r   r   r   r   r   ÚctypesZOpenGL.raw.GLES2r   r   Z(OpenGL.raw.GLES2.EXT.multi_draw_indirectr
   r   ZglMultiDrawArraysIndirectEXTZsetInputArraySizeZglMultiDrawElementsIndirectEXTr   r   r   r   Ú<module>   s   
ÿ
ÿ