def glDrawElementsTyped(type, suffix): arrayType = arrays.GL_CONSTANT_TO_ARRAY_TYPE[type] function = wrapper.wrapper( simple.glDrawElements).setPyConverter('type').setCConverter( 'type', type).setPyConverter('count').setCConverter( 'count', arrays.AsArrayTypedSize('indices', arrayType), ).setPyConverter( 'indices', arrays.AsArrayTyped('indices', arrayType), ).setReturnValues(wrapper.returnPyArgument('indices')) return function
'pointer', arrays.AsArrayOfType( 'pointer', 'type' ), ).setStoreValues( arrays.storePointerType( 'pointer', simple.GL_NORMAL_ARRAY_POINTER ) ).setReturnValues( wrapper.returnPyArgument( 'pointer' ) ) glIndexPointer = wrapper.wrapper( simple.glIndexPointer ).setPyConverter( 'pointer', arrays.AsArrayOfType( 'pointer', 'type' ), ).setStoreValues( arrays.storePointerType( 'pointer', simple.GL_INDEX_ARRAY_POINTER ) ).setReturnValues( wrapper.returnPyArgument( 'pointer' ) ) glEdgeFlagPointer = wrapper.wrapper( simple.glEdgeFlagPointer ).setPyConverter( # XXX type is wrong! 'pointer', arrays.AsArrayTyped( 'pointer', arrays.GLushortArray ), ).setStoreValues( arrays.storePointerType( 'pointer', simple.GL_EDGE_FLAG_ARRAY_POINTER ) ).setReturnValues( wrapper.returnPyArgument( 'pointer' ) ) glColorPointer = wrapper.wrapper( simple.glColorPointer ).setPyConverter( 'pointer', arrays.AsArrayOfType( 'pointer', 'type' ), ).setStoreValues( arrays.storePointerType( 'pointer', simple.GL_COLOR_ARRAY_POINTER ) ).setReturnValues( wrapper.returnPyArgument( 'pointer' ) ) glInterleavedArrays = wrapper.wrapper( simple.glInterleavedArrays ).setStoreValues( arrays.storePointerType( 'pointer', GL_INTERLEAVED_ARRAY_POINTER ) ).setReturnValues(
'''OpenGL extension ARB.draw_buffers This module customises the behaviour of the OpenGL.raw.GL.ARB.draw_buffers to provide a more Python-friendly API ''' from OpenGL import platform, constants, constant, arrays from OpenGL import extensions, wrapper from OpenGL.GL import glget import ctypes from OpenGL.raw.GL.ARB.draw_buffers import * ### END AUTOGENERATED SECTION # This is untested... glDrawBuffersARB = wrapper.wrapper( glDrawBuffersARB, ).setPyConverter('n').setCConverter( 'n', arrays.AsArrayTypedSize('bufs', arrays.GLenumArray), ).setPyConverter( 'bufs', arrays.AsArrayTyped('bufs', arrays.GLenumArray), ).setCResolver( 'bufs', arrays.GLenumArray.dataPointer, ).setReturnValues(wrapper.returnPyArgument('bufs')) from OpenGL.GL import glget glget.addGLGetConstant(GL_MAX_DRAW_BUFFERS_ARB, (1, )) # Should have output arrays for the buffers too???