Hi Oscar, > (de glGenTextures (_tex-num _tex-ptr) > (native `*GlutLib "glGenTextures" _tex-num (list _tex-ptr (4 . I)) )
Probably it is just a copy/paste error, but you are sure that the above expression has one more closing parenthesis, right? Because otherwise the code following this might also be part your definition. > It should store a pointer in _tex-ptr but when run it gives the error > *** Error in "/usr/bin/picolisp": free(): invalid next size (fast) I haven't tried myself, but "GL/gl.h" says GLAPI void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures ); So 'textures' is an array of pointers. Is 'n' the size of that array? Then I would think the expression (list _tex-ptr (4 . I)) should be (list _tex-ptr (cons (* _tex-num 8) 'N _tex-num)) For example, if '_tex-num' is 4 and '_tex-ptr' is 'A', then this will evaluate to (A (32 N . 4)) meaning 'A' is the symbol to receive the pointer, 32 the total size of the structure, and (N . 4) an array of 4 pointers. You would call it as (glGenTextures 4 'A) Did I forget something? ♪♫ Alex -- UNSUBSCRIBE: mailto:[email protected]?subject=Unsubscribe
