home *** CD-ROM | disk | FTP | other *** search
/ Hackers Magazine 57 / CdHackersMagazineNr57.iso / Software / Multimedia / k3d-setup-0.7.11.0.exe / lib / site-packages / OpenGL / GL / ARB / vertex_buffer_object.py < prev    next >
Encoding:
Python Source  |  2008-12-07  |  1.3 KB  |  49 lines

  1. '''OpenGL extension ARB.vertex_buffer_object
  2.  
  3. This module customises the behaviour of the 
  4. OpenGL.raw.GL.ARB.vertex_buffer_object to provide a more 
  5. Python-friendly API
  6. '''
  7. from OpenGL import platform, constants, constant, arrays
  8. from OpenGL import extensions, wrapper
  9. from OpenGL.GL import glget
  10. import ctypes
  11. from OpenGL.raw.GL.ARB.vertex_buffer_object import *
  12. ### END AUTOGENERATED SECTION
  13.  
  14. glDeleteBuffersARB = arrays.setInputArraySizeType(
  15.     glDeleteBuffersARB,
  16.     None,
  17.     arrays.GLuintArray,
  18.     'buffers',
  19. )
  20.  
  21. glGenBuffersARB = wrapper.wrapper( glGenBuffersARB ).setOutput(
  22.     'buffers', lambda n: (n,), 'n',
  23. )
  24.  
  25. def _sizeOfArrayInput( pyArgs, index, wrapper ):
  26.     return (
  27.         arrays.ArrayDatatype.arrayByteCount( pyArgs[index] )
  28.     )
  29.  
  30. glBufferDataARB = wrapper.wrapper( glBufferDataARB ).setPyConverter(
  31.     'data', arrays.asVoidArray(),
  32. ).setPyConverter( 'size' ).setCResolver( 
  33.     'data', arrays.ArrayDatatype.voidDataPointer ,
  34. ).setCConverter(
  35.     'size', _sizeOfArrayInput,
  36. ).setReturnValues( 
  37.     wrapper.returnPyArgument( 'data' ) 
  38. )
  39.  
  40. glBufferSubDataARB = wrapper.wrapper( glBufferSubDataARB ).setPyConverter(
  41.     'data', arrays.asVoidArray(),
  42. ).setPyConverter( 'size' ).setCResolver( 
  43.     'data', arrays.ArrayDatatype.voidDataPointer ,
  44. ).setCConverter(
  45.     'size', _sizeOfArrayInput,
  46. ).setReturnValues( 
  47.     wrapper.returnPyArgument( 'data' ) 
  48. )
  49.