Acme-MITHALDU-BleedingOpenGL
view release on metacpan or search on metacpan
pogl_gl_Vert_Multi.xs view on Meta::CPAN
GLsizei n
void * renderbuffers
CODE:
{
glDeleteRenderbuffers(n,renderbuffers);
}
#//# glDeleteRenderbuffers_s($n,(PACKED)renderbuffers);
void
glDeleteRenderbuffers_s(n,renderbuffers)
GLsizei n
SV * renderbuffers
CODE:
{
void * renderbuffers_s = EL(renderbuffers, sizeof(GLuint)*n);
glDeleteRenderbuffers(n,renderbuffers_s);
}
#//# glDeleteRenderbuffers_p(@renderbuffers);
void
glDeleteRenderbuffers_p(...)
CODE:
{
if (items) {
GLuint * list = malloc(sizeof(GLuint) * items);
int i;
for (i=0;i<items;i++)
list[i] = SvIV(ST(i));
glDeleteRenderbuffers(items, list);
free(list);
}
}
#//# glGenRenderbuffers_c($n,(CPTR)renderbuffers);
void
glGenRenderbuffers_c(n,renderbuffers)
GLsizei n
void * renderbuffers
CODE:
{
glGenRenderbuffers(n, renderbuffers);
}
#//# glGenRenderbuffers_s($n,(PACKED)renderbuffers);
void
glGenRenderbuffers_s(n,renderbuffers)
GLsizei n
SV * renderbuffers
CODE:
{
void * renderbuffers_s = EL(renderbuffers, sizeof(GLuint)*n);
glGenRenderbuffers(n, renderbuffers_s);
}
#//# @renderbuffers = glGenRenderbuffers_c($n);
void
glGenRenderbuffers_p(n)
GLsizei n
PPCODE:
if (n)
{
GLuint * renderbuffers = malloc(sizeof(GLuint) * n);
int i;
glGenRenderbuffers(n, renderbuffers);
EXTEND(sp, n);
for(i=0;i<n;i++)
PUSHs(sv_2mortal(newSViv(renderbuffers[i])));
free(renderbuffers);
}
#//# glRenderbufferStorage($target,$internalformat,$width,$height);
void
glRenderbufferStorage(target,internalformat,width,height)
GLenum target
GLenum internalformat
GLsizei width
GLsizei height
CODE:
{
glRenderbufferStorage(target,internalformat,width,height);
}
#//# glGetRenderbufferParameteriv_s($target,$pname,(PACKED)params);
void
glGetRenderbufferParameteriv_s(target,pname,params)
GLenum target
GLenum pname
SV * params
CODE:
{
GLint * params_s = EL(params, sizeof(GLint));
glGetRenderbufferParameteriv(target,pname,params_s);
}
#//# glGetRenderbufferParameteriv_c($target,$pname,(CPTR)params);
void
glGetRenderbufferParameteriv_c(target,pname,params)
GLenum target
GLenum pname
void * params
CODE:
{
glGetRenderbufferParameteriv(target,pname,params);
}
#//# glIsFramebuffer($framebuffer);
GLboolean
glIsFramebuffer(framebuffer)
GLuint framebuffer
CODE:
{
RETVAL = glIsFramebuffer(framebuffer);
}
OUTPUT:
RETVAL
pogl_gl_Vert_Multi.xs view on Meta::CPAN
GLsizei n
void * framebuffers
CODE:
{
glDeleteFramebuffers(n,framebuffers);
}
#//# glDeleteFramebuffers_s($n,(PACKED)framebuffers);
void
glDeleteFramebuffers_s(n,framebuffers)
GLsizei n
SV * framebuffers
CODE:
{
void * framebuffers_s = EL(framebuffers, sizeof(GLuint)*n);
glDeleteFramebuffers(n,framebuffers_s);
}
#//# glDeleteFramebuffers_p(@framebuffers);
void
glDeleteFramebuffers_p(...)
CODE:
{
if (items) {
GLuint * list = malloc(sizeof(GLuint) * items);
int i;
for(i=0;i<items;i++)
list[i] = SvIV(ST(i));
glDeleteFramebuffers(items, list);
free(list);
}
}
#//# glGenFramebuffers_c($n,(CPTR)framebuffers);
void
glGenFramebuffers_c(n,framebuffers)
GLsizei n
void * framebuffers
CODE:
{
glGenFramebuffers(n,framebuffers);
}
#//# glGenFramebuffers_s($n,(PACKED)framebuffers);
void
glGenFramebuffers_s(n,framebuffers)
GLsizei n
SV * framebuffers
CODE:
{
void * framebuffers_s = EL(framebuffers, sizeof(GLuint)*n);
glGenFramebuffers(n,framebuffers_s);
}
#//# @framebuffers = glGenFramebuffers_c($n);
void
glGenFramebuffers_p(n)
GLsizei n
PPCODE:
if (n)
{
GLuint * framebuffers = malloc(sizeof(GLuint) * n);
int i;
glGenFramebuffers(n, framebuffers);
EXTEND(sp, n);
for(i=0;i<n;i++)
PUSHs(sv_2mortal(newSViv(framebuffers[i])));
free(framebuffers);
}
#//# glCheckFramebufferStatus($target);
GLenum
glCheckFramebufferStatus(target)
GLenum target
CODE:
{
RETVAL = glCheckFramebufferStatus(target);
}
OUTPUT:
RETVAL
#//# glFramebufferTexture1D($target,$attachment,$textarget,$texture,$level);
void
glFramebufferTexture1D(target,attachment,textarget,texture,level)
GLenum target
GLenum attachment
GLenum textarget
GLuint texture
GLint level
CODE:
{
glFramebufferTexture1D(target,attachment,textarget,texture,level);
}
#//# glFramebufferTexture2D($target,$attachment,$textarget,$texture,$level);
void
glFramebufferTexture2D(target,attachment,textarget,texture,level)
GLenum target
GLenum attachment
GLenum textarget
GLuint texture
GLint level
CODE:
{
glFramebufferTexture2D(target,attachment,textarget,texture,level);
}
#//# glFramebufferTexture3D($target,$attachment,$textarget,$texture,$level,$zoffset)'
void
glFramebufferTexture3D(target,attachment,textarget,texture,level,zoffset)
GLenum target
GLenum attachment
GLenum textarget
GLuint texture
GLint level
GLint zoffset
pogl_gl_Vert_Multi.xs view on Meta::CPAN
GLsizei n
SV * renderbuffers
INIT:
loadProc(glDeleteRenderbuffersEXT,"glDeleteRenderbuffersEXT");
CODE:
{
void * renderbuffers_s = EL(renderbuffers, sizeof(GLuint)*n);
glDeleteRenderbuffersEXT(n,renderbuffers_s);
}
#//# glDeleteRenderbuffersEXT_p(@renderbuffers);
void
glDeleteRenderbuffersEXT_p(...)
INIT:
loadProc(glDeleteRenderbuffersEXT,"glDeleteRenderbuffersEXT");
CODE:
{
if (items) {
GLuint * list = malloc(sizeof(GLuint) * items);
int i;
for (i=0;i<items;i++)
list[i] = SvIV(ST(i));
glDeleteRenderbuffersEXT(items, list);
free(list);
}
}
#//# glGenRenderbuffersEXT_c($n,(CPTR)renderbuffers);
void
glGenRenderbuffersEXT_c(n,renderbuffers)
GLsizei n
void * renderbuffers
INIT:
loadProc(glGenRenderbuffersEXT,"glGenRenderbuffersEXT");
CODE:
{
glGenRenderbuffersEXT(n, renderbuffers);
}
#//# glGenRenderbuffersEXT_s($n,(PACKED)renderbuffers);
void
glGenRenderbuffersEXT_s(n,renderbuffers)
GLsizei n
SV * renderbuffers
INIT:
loadProc(glGenRenderbuffersEXT,"glGenRenderbuffersEXT");
CODE:
{
void * renderbuffers_s = EL(renderbuffers, sizeof(GLuint)*n);
glGenRenderbuffersEXT(n, renderbuffers_s);
}
#//# @renderbuffers = glGenRenderbuffersEXT_c($n);
void
glGenRenderbuffersEXT_p(n)
GLsizei n
INIT:
loadProc(glGenRenderbuffersEXT,"glGenRenderbuffersEXT");
PPCODE:
if (n)
{
GLuint * renderbuffers = malloc(sizeof(GLuint) * n);
int i;
glGenRenderbuffersEXT(n, renderbuffers);
EXTEND(sp, n);
for(i=0;i<n;i++)
PUSHs(sv_2mortal(newSViv(renderbuffers[i])));
free(renderbuffers);
}
#//# glRenderbufferStorageEXT($target,$internalformat,$width,$height);
void
glRenderbufferStorageEXT(target,internalformat,width,height)
GLenum target
GLenum internalformat
GLsizei width
GLsizei height
INIT:
loadProc(glRenderbufferStorageEXT,"glRenderbufferStorageEXT");
CODE:
{
glRenderbufferStorageEXT(target,internalformat,width,height);
}
#//# glGetRenderbufferParameterivEXT_s($target,$pname,(PACKED)params);
void
glGetRenderbufferParameterivEXT_s(target,pname,params)
GLenum target
GLenum pname
SV * params
INIT:
loadProc(glGetRenderbufferParameterivEXT,"glGetRenderbufferParameterivEXT");
CODE:
{
GLint * params_s = EL(params, sizeof(GLint));
glGetRenderbufferParameterivEXT(target,pname,params_s);
}
#//# glGetRenderbufferParameterivEXT_c($target,$pname,(CPTR)params);
void
glGetRenderbufferParameterivEXT_c(target,pname,params)
GLenum target
GLenum pname
void * params
INIT:
loadProc(glGetRenderbufferParameterivEXT,"glGetRenderbufferParameterivEXT");
CODE:
{
glGetRenderbufferParameterivEXT(target,pname,params);
}
#//# glIsFramebufferEXT($framebuffer);
GLboolean
glIsFramebufferEXT(framebuffer)
GLuint framebuffer
INIT:
pogl_gl_Vert_Multi.xs view on Meta::CPAN
GLsizei n
SV * framebuffers
INIT:
loadProc(glDeleteFramebuffersEXT,"glDeleteFramebuffersEXT");
CODE:
{
void * framebuffers_s = EL(framebuffers, sizeof(GLuint)*n);
glDeleteFramebuffersEXT(n,framebuffers_s);
}
#//# glDeleteFramebuffersEXT_p(@framebuffers);
void
glDeleteFramebuffersEXT_p(...)
INIT:
loadProc(glDeleteFramebuffersEXT,"glDeleteFramebuffersEXT");
CODE:
{
if (items) {
GLuint * list = malloc(sizeof(GLuint) * items);
int i;
for(i=0;i<items;i++)
list[i] = SvIV(ST(i));
glDeleteFramebuffersEXT(items, list);
free(list);
}
}
#//# glGenFramebuffersEXT_c($n,(CPTR)framebuffers);
void
glGenFramebuffersEXT_c(n,framebuffers)
GLsizei n
void * framebuffers
INIT:
loadProc(glGenFramebuffersEXT,"glGenFramebuffersEXT");
CODE:
{
glGenFramebuffersEXT(n,framebuffers);
}
#//# glGenFramebuffersEXT_s($n,(PACKED)framebuffers);
void
glGenFramebuffersEXT_s(n,framebuffers)
GLsizei n
SV * framebuffers
INIT:
loadProc(glGenFramebuffersEXT,"glGenFramebuffersEXT");
CODE:
{
void * framebuffers_s = EL(framebuffers, sizeof(GLuint)*n);
glGenFramebuffersEXT(n,framebuffers_s);
}
#//# @framebuffers = glGenFramebuffersEXT_c($n);
void
glGenFramebuffersEXT_p(n)
GLsizei n
INIT:
loadProc(glGenFramebuffersEXT,"glGenFramebuffersEXT");
PPCODE:
if (n)
{
GLuint * framebuffers = malloc(sizeof(GLuint) * n);
int i;
glGenFramebuffersEXT(n, framebuffers);
EXTEND(sp, n);
for(i=0;i<n;i++)
PUSHs(sv_2mortal(newSViv(framebuffers[i])));
free(framebuffers);
}
#//# glCheckFramebufferStatusEXT($target);
GLenum
glCheckFramebufferStatusEXT(target)
GLenum target
INIT:
loadProc(glCheckFramebufferStatusEXT,"glCheckFramebufferStatusEXT");
CODE:
{
RETVAL = glCheckFramebufferStatusEXT(target);
}
OUTPUT:
RETVAL
#//# glFramebufferTexture1DEXT($target,$attachment,$textarget,$texture,$level);
void
glFramebufferTexture1DEXT(target,attachment,textarget,texture,level)
GLenum target
GLenum attachment
GLenum textarget
GLuint texture
GLint level
INIT:
loadProc(glFramebufferTexture1DEXT,"glFramebufferTexture1DEXT");
CODE:
{
glFramebufferTexture1DEXT(target,attachment,textarget,texture,level);
}
#//# glFramebufferTexture2DEXT($target,$attachment,$textarget,$texture,$level);
void
glFramebufferTexture2DEXT(target,attachment,textarget,texture,level)
GLenum target
GLenum attachment
GLenum textarget
GLuint texture
GLint level
INIT:
loadProc(glFramebufferTexture2DEXT,"glFramebufferTexture2DEXT");
CODE:
{
glFramebufferTexture2DEXT(target,attachment,textarget,texture,level);
}
#//# glFramebufferTexture3DEXT($target,$attachment,$textarget,$texture,$level,$zoffset)'
void
glFramebufferTexture3DEXT(target,attachment,textarget,texture,level,zoffset)
pogl_gl_Vert_Multi.xs view on Meta::CPAN
GLsizei n
void * buffers
CODE:
{
glDeleteBuffers(n,buffers);
}
#//# glDeleteBuffers_s($n,(PACKED)buffers);
void
glDeleteBuffers_s(n,buffers)
GLsizei n
SV * buffers
CODE:
{
void * buffers_s = EL(buffers, sizeof(GLuint)*n);
glDeleteBuffers(n,buffers_s);
}
#//# glDeleteBuffers_p(@buffers);
void
glDeleteBuffers_p(...)
CODE:
{
if (items) {
GLuint * list = malloc(sizeof(GLuint) * items);
int i;
for (i=0;i<items;i++)
list[i] = SvIV(ST(i));
glDeleteBuffers(items, list);
free(list);
}
}
#//# glGenBuffers_c($n,(CPTR)buffers);
void
glGenBuffers_c(n,buffers)
GLsizei n
void * buffers
CODE:
{
glGenBuffers(n, buffers);
}
#//# glGenBuffers_s($n,(PACKED)buffers);
void
glGenBuffers_s(n,buffers)
GLsizei n
SV * buffers
CODE:
{
void * buffers_s = EL(buffers, sizeof(GLuint)*n);
glGenBuffers(n, buffers_s);
}
#//# @buffers = glGenBuffers_p($n);
void
glGenBuffers_p(n)
GLsizei n
PPCODE:
if (n)
{
GLuint * buffers = malloc(sizeof(GLuint) * n);
int i;
glGenBuffers(n, buffers);
EXTEND(sp, n);
for(i=0;i<n;i++)
PUSHs(sv_2mortal(newSViv(buffers[i])));
free(buffers);
}
#//# glIsBuffer($buffer);
GLboolean
glIsBuffer(buffer)
GLuint buffer
CODE:
{
RETVAL = glIsBuffer(buffer);
}
OUTPUT:
RETVAL
#//# glBufferData_c($target,$size,(CPTR)data,$usage);
void
glBufferData_c(target,size,data,usage)
GLenum target
GLsizei size
void * data
GLenum usage
CODE:
{
glBufferData(target,size,data,usage);
}
#//# glBufferData_s($target,$size,(PACKED)data,$usage);
void
glBufferData_s(target,size,data,usage)
GLenum target
GLsizei size
SV * data
GLenum usage
CODE:
{
void * data_s = EL(data, size);
glBufferData(target,size,data_s,usage);
}
#//# glBufferData_p($target,(OGA)data,$usage);
void
glBufferData_p(target,oga,usage)
GLenum target
OpenGL::Array oga
GLenum usage
CODE:
{
glBufferData(target,oga->data_length,oga->data,usage);
}
pogl_gl_Vert_Multi.xs view on Meta::CPAN
else
{
oga->type_count = 1;
oga->types = malloc(sizeof(GLenum) * oga->type_count);
oga->type_offset = malloc(sizeof(GLint) * oga->type_count);
oga->types[0] = GL_UNSIGNED_BYTE;
oga->type_offset[0] = 0;
oga->total_types_width = gl_type_size(oga->types[0]);
}
if (!oga->total_types_width) croak("Unable to determine type sizes\n");
oga->item_count = size / oga->total_types_width;
oga->data_length = oga->total_types_width * oga->item_count;
oga->data = buffer;
oga->free_data = 0;
RETVAL = oga;
}
OUTPUT:
RETVAL
#//# glUnmapBuffer($target);
GLboolean
glUnmapBuffer(target)
GLenum target
CODE:
RETVAL = glUnmapBuffer(target);
OUTPUT:
RETVAL
#//# glGetBufferParameteriv_c($target,$pname,(CPTR)params);
void
glGetBufferParameteriv_c(target,pname,params)
GLenum target
GLenum pname
void * params
CODE:
glGetBufferParameteriv(target,pname,params);
#//# glGetBufferParameteriv_s($target,$pname,(PACKED)params);
void
glGetBufferParameteriv_s(target,pname,params)
GLenum target
GLenum pname
SV * params
CODE:
{
GLint * params_s = EL(params, sizeof(GLint)*1);
glGetBufferParameteriv(target,pname,params_s);
}
#//# @params = glGetBufferParameteriv_p($target,$pname);
void
glGetBufferParameteriv_p(target,pname)
GLenum target
GLenum pname
PPCODE:
{
GLint ret;
glGetBufferParameteriv(target,pname,&ret);
PUSHs(sv_2mortal(newSViv(ret)));
}
#//# glGetBufferPointerv_c($target,$pname,(CPTR)params);
void
glGetBufferPointerv_c(target,pname,params)
GLenum target
GLenum pname
void * params
CODE:
glGetBufferPointerv(target,pname,¶ms);
#//# glGetBufferPointerv_s($target,$pname,(PACKED)params);
void
glGetBufferPointerv_s(target,pname,params)
GLenum target
GLenum pname
SV * params
CODE:
{
void ** params_s = EL(params, sizeof(void*));
glGetBufferPointerv(target,pname,params_s);
}
#//# $oga = glGetBufferPointerv_p($target,$pname,@types);
#//- If no types are provided, GLubyte is assumed
OpenGL::Array
glGetBufferPointerv_p(target,pname,...)
GLenum target
GLenum pname
CODE:
{
GLsizeiptr size;
oga_struct * oga;
void * buffer;
int i,j;
glGetBufferPointerv(target,pname,&buffer);
if (!buffer) croak("Buffer is not mapped\n");
glGetBufferParameteriv(target,GL_BUFFER_SIZE,(GLint*)&size);
if (!size) croak("Buffer has no size\n");
oga = malloc(sizeof(oga_struct));
oga->type_count = (items - 2);
if (oga->type_count)
{
oga->types = malloc(sizeof(GLenum) * oga->type_count);
oga->type_offset = malloc(sizeof(GLint) * oga->type_count);
for(i=0,j=0;i<oga->type_count;i++) {
oga->types[i] = SvIV(ST(i+2));
oga->type_offset[i] = j;
j += gl_type_size(oga->types[i]);
}
oga->total_types_width = j;
pogl_gl_Vert_Multi.xs view on Meta::CPAN
GLsizei n
SV * buffers
INIT:
loadProc(glDeleteBuffersARB,"glDeleteBuffersARB");
CODE:
{
void * buffers_s = EL(buffers, sizeof(GLuint)*n);
glDeleteBuffersARB(n,buffers_s);
}
#//# glDeleteBuffersARB_p(@buffers);
void
glDeleteBuffersARB_p(...)
INIT:
loadProc(glDeleteBuffersARB,"glDeleteBuffersARB");
CODE:
{
if (items) {
GLuint * list = malloc(sizeof(GLuint) * items);
int i;
for (i=0;i<items;i++)
list[i] = SvIV(ST(i));
glDeleteBuffersARB(items, list);
free(list);
}
}
#//# glGenBuffersARB_c($n,(CPTR)buffers);
void
glGenBuffersARB_c(n,buffers)
GLsizei n
void * buffers
INIT:
loadProc(glGenBuffersARB,"glGenBuffersARB");
CODE:
{
glGenBuffersARB(n, buffers);
}
#//# glGenBuffersARB_s($n,(PACKED)buffers);
void
glGenBuffersARB_s(n,buffers)
GLsizei n
SV * buffers
INIT:
loadProc(glGenBuffersARB,"glGenBuffersARB");
CODE:
{
void * buffers_s = EL(buffers, sizeof(GLuint)*n);
glGenBuffersARB(n, buffers_s);
}
#//# @buffers = glGenBuffersARB_p($n);
void
glGenBuffersARB_p(n)
GLsizei n
INIT:
loadProc(glGenBuffersARB,"glGenBuffersARB");
PPCODE:
if (n)
{
GLuint * buffers = malloc(sizeof(GLuint) * n);
int i;
glGenBuffersARB(n, buffers);
EXTEND(sp, n);
for(i=0;i<n;i++)
PUSHs(sv_2mortal(newSViv(buffers[i])));
free(buffers);
}
#//# glIsBufferARB($buffer);
GLboolean
glIsBufferARB(buffer)
GLuint buffer
INIT:
loadProc(glIsBufferARB,"glIsBufferARB");
CODE:
{
RETVAL = glIsBufferARB(buffer);
}
OUTPUT:
RETVAL
#//# glBufferDataARB_c($target,$size,(CPTR)data,$usage);
void
glBufferDataARB_c(target,size,data,usage)
GLenum target
GLsizei size
void * data
GLenum usage
INIT:
loadProc(glBufferDataARB,"glBufferDataARB");
CODE:
{
glBufferDataARB(target,size,data,usage);
}
#//# glBufferDataARB_s($target,$size,(PACKED)data,$usage);
void
glBufferDataARB_s(target,size,data,usage)
GLenum target
GLsizei size
SV * data
GLenum usage
INIT:
loadProc(glBufferDataARB,"glBufferDataARB");
CODE:
{
void * data_s = EL(data, size);
glBufferDataARB(target,size,data_s,usage);
}
#//# glBufferDataARB_p($target,(OGA)data,$usage);
void
glBufferDataARB_p(target,oga,usage)
GLenum target
pogl_gl_Vert_Multi.xs view on Meta::CPAN
oga->total_types_width = gl_type_size(oga->types[0]);
}
if (!oga->total_types_width) croak("Unable to determine type sizes\n");
oga->item_count = size / oga->total_types_width;
oga->data_length = oga->total_types_width * oga->item_count;
oga->data = buffer;
oga->free_data = 0;
RETVAL = oga;
}
OUTPUT:
RETVAL
#//# glUnmapBufferARB($target);
GLboolean
glUnmapBufferARB(target)
GLenum target
INIT:
loadProc(glUnmapBufferARB,"glUnmapBufferARB");
CODE:
RETVAL = glUnmapBufferARB(target);
OUTPUT:
RETVAL
#//# glGetBufferParameterivARB_c($target,$pname,(CPTR)params);
void
glGetBufferParameterivARB_c(target,pname,params)
GLenum target
GLenum pname
void * params
INIT:
loadProc(glGetBufferParameterivARB,"glGetBufferParameterivARB");
CODE:
glGetBufferParameterivARB(target,pname,params);
#//# glGetBufferParameterivARB_s($target,$pname,(PACKED)params);
void
glGetBufferParameterivARB_s(target,pname,params)
GLenum target
GLenum pname
SV * params
INIT:
loadProc(glGetBufferParameterivARB,"glGetBufferParameterivARB");
CODE:
{
GLint * params_s = EL(params, sizeof(GLint)*1);
glGetBufferParameterivARB(target,pname,params_s);
}
#//# @params = glGetBufferParameterivARB_p($target,$pname);
void
glGetBufferParameterivARB_p(target,pname)
GLenum target
GLenum pname
INIT:
loadProc(glGetBufferParameterivARB,"glGetBufferParameterivARB");
PPCODE:
{
GLint ret;
glGetBufferParameterivARB(target,pname,&ret);
PUSHs(sv_2mortal(newSViv(ret)));
}
#//# glGetBufferPointervARB_c($target,$pname,(CPTR)params);
void
glGetBufferPointervARB_c(target,pname,params)
GLenum target
GLenum pname
void * params
INIT:
loadProc(glGetBufferPointervARB,"glGetBufferPointervARB");
CODE:
glGetBufferPointervARB(target,pname,¶ms);
#//# glGetBufferPointervARB_s($target,$pname,(PACKED)params);
void
glGetBufferPointervARB_s(target,pname,params)
GLenum target
GLenum pname
SV * params
INIT:
loadProc(glGetBufferPointervARB,"glGetBufferPointervARB");
CODE:
{
void ** params_s = EL(params, sizeof(void*));
glGetBufferPointervARB(target,pname,params_s);
}
#//# $oga = glGetBufferPointervARB_p($target,$pname,@types);
#//- If no types are provided, GLubyte is assumed
OpenGL::Array
glGetBufferPointervARB_p(target,pname,...)
GLenum target
GLenum pname
INIT:
loadProc(glGetBufferPointervARB,"glGetBufferPointervARB");
loadProc(glGetBufferParameterivARB,"glGetBufferParameterivARB");
CODE:
{
GLsizeiptrARB size;
oga_struct * oga;
void * buffer;
int i,j;
glGetBufferPointervARB(target,pname,&buffer);
if (!buffer) croak("Buffer is not mapped\n");
glGetBufferParameterivARB(target,GL_BUFFER_SIZE_ARB,(GLint*)&size);
if (!size) croak("Buffer has no size\n");
oga = malloc(sizeof(oga_struct));
oga->type_count = (items - 2);
if (oga->type_count)
{
oga->types = malloc(sizeof(GLenum) * oga->type_count);
( run in 0.779 second using v1.01-cache-2.11-cpan-71847e10f99 )