Acme-MITHALDU-BleedingOpenGL
view release on metacpan or search on metacpan
pogl_gl_Prog_Clam.xs view on Meta::CPAN
CODE:
{
GLfloat * v_s = EL(v, sizeof(GLfloat)*4);
glProgramLocalParameter4fvARB(target,index,v_s);
}
#//!!! Do we really need this? It duplicates glProgramLocalParameter4fARB
#//# glProgramLocalParameter4fvARB_p($target,$index,$x,$y,$z,$w);
void
glProgramLocalParameter4fvARB_p(target,index,x,y,z,w)
GLenum target
GLuint index
GLfloat x
GLfloat y
GLfloat z
GLfloat w
INIT:
loadProc(glProgramLocalParameter4fvARB,"glProgramLocalParameter4fvARB");
CODE:
{
GLfloat param[4];
param[0] = x;
param[1] = y;
param[2] = z;
param[3] = w;
glProgramLocalParameter4fvARB(target,index,param);
}
#//# glGetProgramEnvParameterdvARB_c($target,$index,(CPTR)params);
void
glGetProgramEnvParameterdvARB_c(target,index,params)
GLenum target
GLint index
void * params
INIT:
loadProc(glGetProgramEnvParameterdvARB,"glGetProgramEnvParameterdvARB");
CODE:
glGetProgramEnvParameterdvARB(target,index,(GLdouble*)params);
#//# glGetProgramEnvParameterdvARB_s($target,$index,(PACKED)params);
void
glGetProgramEnvParameterdvARB_s(target,index,params)
GLenum target
GLint index
SV * params
INIT:
loadProc(glGetProgramEnvParameterdvARB,"glGetProgramEnvParameterdvARB");
CODE:
{
GLdouble * params_s = EL(params, sizeof(GLdouble) * 4);
glGetProgramEnvParameterdvARB(target,index,params_s);
}
#//# @params = glGetProgramEnvParameterdvARB_p($target,$index);
void
glGetProgramEnvParameterdvARB_p(target,index)
GLenum target
GLint index
INIT:
loadProc(glGetProgramEnvParameterdvARB,"glGetProgramEnvParameterdvARB");
PPCODE:
{
GLdouble params[4];
glGetProgramEnvParameterdvARB(target,index,params);
EXTEND(sp, 4);
PUSHs(sv_2mortal(newSVnv(params[0])));
PUSHs(sv_2mortal(newSVnv(params[1])));
PUSHs(sv_2mortal(newSVnv(params[2])));
PUSHs(sv_2mortal(newSVnv(params[3])));
}
#//# glGetProgramEnvParameterfvARB_c($target,$index,(CPTR)params);
void
glGetProgramEnvParameterfvARB_c(target,index,params)
GLenum target
GLint index
void * params
INIT:
loadProc(glGetProgramEnvParameterfvARB,"glGetProgramEnvParameterfvARB");
CODE:
glGetProgramEnvParameterfvARB(target,index,(GLfloat*)params);
#//# glGetProgramEnvParameterfvARB_s($target,$index,(PACKED)params);
void
glGetProgramEnvParameterfvARB_s(target,index,params)
GLenum target
GLint index
SV * params
INIT:
loadProc(glGetProgramEnvParameterfvARB,"glGetProgramEnvParameterfvARB");
CODE:
{
GLfloat * params_s = EL(params, sizeof(GLfloat) * 4);
glGetProgramEnvParameterfvARB(target,index,params_s);
}
#//# @params = glGetProgramEnvParameterfvARB_p($target,$index);
void
glGetProgramEnvParameterfvARB_p(target,index)
GLenum target
GLint index
INIT:
loadProc(glGetProgramEnvParameterfvARB,"glGetProgramEnvParameterfvARB");
PPCODE:
{
GLfloat params[4];
glGetProgramEnvParameterfvARB(target,index,params);
EXTEND(sp, 4);
PUSHs(sv_2mortal(newSVnv(params[0])));
PUSHs(sv_2mortal(newSVnv(params[1])));
PUSHs(sv_2mortal(newSVnv(params[2])));
PUSHs(sv_2mortal(newSVnv(params[3])));
}
#//# glGetProgramLocalParameterdvARB_c($target,$index,(CPTR)params);
void
glGetProgramLocalParameterdvARB_c(target,index,params)
GLenum target
GLint index
void * params
INIT:
loadProc(glGetProgramLocalParameterdvARB,"glGetProgramLocalParameterdvARB");
CODE:
glGetProgramLocalParameterdvARB(target,index,(GLdouble*)params);
#//# glGetProgramLocalParameterdvARB_s($target,$index,(PACKED)params);
void
glGetProgramLocalParameterdvARB_s(target,index,params)
GLenum target
GLint index
SV * params
INIT:
loadProc(glGetProgramLocalParameterdvARB,"glGetProgramLocalParameterdvARB");
CODE:
{
GLdouble * params_s = EL(params, sizeof(GLdouble) * 4);
glGetProgramLocalParameterdvARB(target,index,params_s);
}
#//# @params = glGetProgramLocalParameterdvARB_p($target,$index);
void
glGetProgramLocalParameterdvARB_p(target,index)
GLenum target
GLint index
INIT:
loadProc(glGetProgramLocalParameterdvARB,"glGetProgramLocalParameterdvARB");
PPCODE:
{
GLdouble params[4];
glGetProgramLocalParameterdvARB(target,index,params);
EXTEND(sp, 4);
PUSHs(sv_2mortal(newSVnv(params[0])));
PUSHs(sv_2mortal(newSVnv(params[1])));
PUSHs(sv_2mortal(newSVnv(params[2])));
PUSHs(sv_2mortal(newSVnv(params[3])));
}
#//# glGetProgramLocalParameterfvARB_c($target,$index,(CPTR)params);
void
glGetProgramLocalParameterfvARB_c(target,index,params)
GLenum target
GLint index
void * params
INIT:
loadProc(glGetProgramLocalParameterfvARB,"glGetProgramLocalParameterfvARB");
CODE:
glGetProgramLocalParameterfvARB(target,index,(GLfloat*)params);
#//# glGetProgramLocalParameterfvARB_s($target,$index,(PACKED)params);
void
glGetProgramLocalParameterfvARB_s(target,index,params)
GLenum target
GLint index
SV * params
INIT:
loadProc(glGetProgramLocalParameterfvARB,"glGetProgramLocalParameterfvARB");
CODE:
{
GLfloat * params_s = EL(params, sizeof(GLfloat) * 4);
glGetProgramLocalParameterfvARB(target,index,params_s);
}
#//# @params = glGetProgramLocalParameterfvARB_p($target,$index);
void
glGetProgramLocalParameterfvARB_p(target,index)
GLenum target
GLint index
INIT:
loadProc(glGetProgramLocalParameterfvARB,"glGetProgramLocalParameterfvARB");
PPCODE:
{
GLfloat params[4];
glGetProgramLocalParameterfvARB(target,index,params);
EXTEND(sp, 4);
PUSHs(sv_2mortal(newSVnv(params[0])));
PUSHs(sv_2mortal(newSVnv(params[1])));
PUSHs(sv_2mortal(newSVnv(params[2])));
PUSHs(sv_2mortal(newSVnv(params[3])));
}
#//# glGetProgramivARB_c($target,$pname,(CPTR)params);
void
glGetProgramivARB_c(target,pname,params)
GLenum target
GLenum pname
void * params
INIT:
loadProc(glGetProgramivARB,"glGetProgramivARB");
CODE:
glGetProgramivARB(target,pname,params);
#//# glGetProgramivARB_s($target,$pname,(PACKED)params);
void
glGetProgramivARB_s(target,pname,params)
GLenum target
GLenum pname
SV * params
INIT:
loadProc(glGetProgramivARB,"glGetProgramivARB");
CODE:
{
GLint * params_s = EL(params, sizeof(GLint)*gl_get_count(pname));
glGetProgramivARB(target,pname,params_s);
}
#//# $value = glGetProgramivARB_p($target,$pname);
GLuint
glGetProgramivARB_p(target,pname)
GLenum target
GLenum pname
INIT:
loadProc(glGetProgramivARB,"glGetProgramivARB");
CODE:
{
GLuint param;
glGetProgramivARB(target,pname,(void *)¶m);
RETVAL = param;
}
OUTPUT:
RETVAL
#//# glGetProgramStringARB_c(target,pname,(CPTR)string);
void
glGetProgramStringARB_c(target,pname,string)
GLenum target
GLenum pname
void * string
INIT:
loadProc(glGetProgramStringARB,"glGetProgramStringARB");
pogl_gl_Prog_Clam.xs view on Meta::CPAN
#//# glGetVertexAttribivARB_c($index,$pname,(CPTR)params);
void
glGetVertexAttribivARB_c(index,pname,params)
GLuint index
GLenum pname
void * params
INIT:
loadProc(glGetVertexAttribivARB,"glGetVertexAttribivARB");
CODE:
glGetVertexAttribivARB(index,pname,(GLint*)params);
#//# glGetVertexAttribivARB_s($index,$pname,(PACKED)params);
void
glGetVertexAttribivARB_s(index,pname,params)
GLuint index
GLenum pname
SV * params
INIT:
loadProc(glGetVertexAttribivARB,"glGetVertexAttribivARB");
CODE:
{
GLint * params_s = EL(params, sizeof(GLint) * 4);
glGetVertexAttribivARB(index,pname,params_s);
}
#//# $param = glGetVertexAttribivARB_p($index,$pname);
GLuint
glGetVertexAttribivARB_p(index,pname)
GLuint index
GLenum pname
INIT:
loadProc(glGetVertexAttribivARB,"glGetVertexAttribivARB");
CODE:
{
GLuint param;
glGetVertexAttribivARB(index,pname,(void *)¶m);
RETVAL = param;
}
OUTPUT:
RETVAL
#//# glGetVertexAttribPointervARB_c($index,$pname,(CPTR)pointer);
void
glGetVertexAttribPointervARB_c(index,pname,pointer)
GLuint index
GLenum pname
void * pointer
INIT:
loadProc(glGetVertexAttribPointervARB,"glGetVertexAttribPointervARB");
CODE:
glGetVertexAttribPointervARB(index,pname,pointer);
#//# $param = glGetVertexAttribPointervARB_p($index,$pname);
void
glGetVertexAttribPointervARB_p(index,pname)
GLuint index
GLenum pname
INIT:
loadProc(glGetVertexAttribPointervARB,"glGetVertexAttribPointervARB");
loadProc(glGetVertexAttribivARB,"glGetVertexAttribivARB");
PPCODE:
{
void * pointer;
GLuint i,count,type;
glGetVertexAttribPointervARB(index,pname,&pointer);
glGetVertexAttribivARB(index,GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB,(void *)&count);
glGetVertexAttribivARB(index,GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB,(void *)&type);
EXTEND(sp, count);
switch (type)
{
#ifdef GL_VERSION_1_2
case GL_UNSIGNED_BYTE_3_3_2:
case GL_UNSIGNED_BYTE_2_3_3_REV:
for (i=0;i<count;i++)
{
PUSHs(sv_2mortal(newSViv(((GLubyte*)pointer)[i])));
}
break;
case GL_UNSIGNED_SHORT_5_6_5:
case GL_UNSIGNED_SHORT_5_6_5_REV:
case GL_UNSIGNED_SHORT_4_4_4_4:
case GL_UNSIGNED_SHORT_4_4_4_4_REV:
case GL_UNSIGNED_SHORT_5_5_5_1:
case GL_UNSIGNED_SHORT_1_5_5_5_REV:
for (i=0;i<count;i++)
{
PUSHs(sv_2mortal(newSViv(((GLushort*)pointer)[i])));
}
break;
case GL_UNSIGNED_INT_8_8_8_8:
case GL_UNSIGNED_INT_8_8_8_8_REV:
case GL_UNSIGNED_INT_10_10_10_2:
case GL_UNSIGNED_INT_2_10_10_10_REV:
for (i=0;i<count;i++)
{
PUSHs(sv_2mortal(newSViv(((GLuint*)pointer)[i])));
}
break;
#endif
case GL_UNSIGNED_BYTE:
case GL_BITMAP:
for (i=0;i<count;i++)
{
PUSHs(sv_2mortal(newSViv(((GLubyte*)pointer)[i])));
}
break;
case GL_BYTE:
for (i=0;i<count;i++)
{
PUSHs(sv_2mortal(newSViv(((GLbyte*)pointer)[i])));
}
break;
case GL_UNSIGNED_SHORT:
for (i=0;i<count;i++)
{
PUSHs(sv_2mortal(newSViv(((GLushort*)pointer)[i])));
}
pogl_gl_Prog_Clam.xs view on Meta::CPAN
#endif
#ifdef GL_ARB_vertex_shader
#//# glBindAttribLocationARB($programObj, $index, $name);
void
glBindAttribLocationARB(programObj, index, name)
GLhandleARB programObj
GLuint index
void *name
INIT:
loadProc(glBindAttribLocationARB,"glBindAttribLocationARB");
CODE:
glBindAttribLocationARB(programObj,index,name);
#//# glGetActiveAttribARB_c($programObj, $index, $maxLength, (CPTR)length, (CPTR)size, (CPTR)type, (CPTR)name);
void
glGetActiveAttribARB_c(programObj, index, maxLength, length, size, type, name)
GLhandleARB programObj
GLuint index
GLsizei maxLength
void *length
void *size
void *type
void *name
INIT:
loadProc(glGetActiveAttribARB,"glGetActiveAttribARB");
CODE:
glGetActiveAttribARB(programObj,index,maxLength,length,size,type,name);
#//# glGetActiveAttribARB_s($programObj, $index, $maxLength, (PACKED)length, (PACKED)size, (PACKED)type, (PACKED)name);
void
glGetActiveAttribARB_s(programObj, index, maxLength, length, size, type, name)
GLhandleARB programObj
GLuint index
GLsizei maxLength
SV *length
SV *size
SV *type
SV *name
INIT:
loadProc(glGetActiveAttribARB,"glGetActiveAttribARB");
CODE:
{
GLsizei *length_s = EL(length, sizeof(GLsizei));
GLint *size_s = EL(size, sizeof(GLint));
GLenum *type_s = EL(type, sizeof(GLenum));
GLcharARB *name_s = EL(name, sizeof(GLcharARB));
glGetActiveAttribARB(programObj,index,maxLength,length_s,size_s,type_s,name_s);
}
#//# ($name,$type,$size) = glGetActiveAttribARB_p($programObj, $index);
void
glGetActiveAttribARB_p(programObj, index)
GLhandleARB programObj
GLuint index
INIT:
loadProc(glGetObjectParameterivARB,"glGetObjectParameterivARB");
loadProc(glGetActiveAttribARB,"glGetActiveAttribARB");
PPCODE:
{
GLsizei maxLength;
glGetObjectParameterivARB(programObj,GL_OBJECT_ACTIVE_ATTRIBUTES_ARB,
(GLvoid *)&maxLength);
if (maxLength)
{
GLsizei length;
GLint size;
GLenum type;
GLcharARB *name;
name = malloc(maxLength+1);
glGetActiveAttribARB(programObj,index,maxLength,
&length,&size,&type,name);
name[length] = 0;
if (*name)
{
EXTEND(sp,3);
PUSHs(sv_2mortal(newSVpv(name,0)));
PUSHs(sv_2mortal(newSViv(type)));
PUSHs(sv_2mortal(newSViv(size)));
}
else
{
EXTEND(sp,1);
PUSHs(sv_2mortal(newSVsv(&PL_sv_undef)));
}
free(name);
}
else
{
EXTEND(sp,1);
PUSHs(sv_2mortal(newSVsv(&PL_sv_undef)));
}
}
#//# glGetAttribLocationARB_c($programObj, (CPTR)name);
GLint
glGetAttribLocationARB_c(programObj, name)
GLhandleARB programObj
void *name
INIT:
loadProc(glGetAttribLocationARB,"glGetAttribLocationARB");
CODE:
RETVAL = glGetAttribLocationARB(programObj, name);
OUTPUT:
RETVAL
#//!!! Since pointer is string, should combine _C and _p
#//# $value = glGetAttribLocationARB_p(programObj, $name);
GLint
glGetAttribLocationARB_p(programObj, ...)
GLhandleARB programObj
INIT:
loadProc(glGetAttribLocationARB,"glGetAttribLocationARB");
CODE:
{
GLcharARB *name = (GLcharARB *)SvPV(ST(1),PL_na);
( run in 0.908 second using v1.01-cache-2.11-cpan-71847e10f99 )