Acme-MITHALDU-BleedingOpenGL
view release on metacpan or search on metacpan
pogl_glu.xs view on Meta::CPAN
v[i] = SvIV(ST(i+1+16+16));
gluLoadSamplingMatrices(nurb, m, p, v);
}
#//# gluLookAt($eyeX, $eyeY, $eyeZ, $centerX, $centerY, $centerZ, $upX, $upY, $upZ);
void
gluLookAt(eyeX, eyeY, eyeZ, centerX, centerY, centerZ, upX, upY, upZ)
GLdouble eyeX
GLdouble eyeY
GLdouble eyeZ
GLdouble centerX
GLdouble centerY
GLdouble centerZ
GLdouble upX
GLdouble upY
GLdouble upZ
#// gluNewNurbsRenderer();
GLUnurbsObj *
gluNewNurbsRenderer()
#// gluNewQuadric();
GLUquadricObj *
gluNewQuadric()
#// gluNewTess();
PGLUtess *
gluNewTess(...)
CODE:
{
RETVAL = malloc(sizeof(PGLUtess));
memset(RETVAL, 0, sizeof(PGLUtess));
RETVAL->do_colors = (items > 0) ? SvTRUE(ST(0)) : FALSE;
RETVAL->do_normals = (items > 1) ? SvTRUE(ST(1)) : FALSE;
RETVAL->triangulator = gluNewTess();
}
OUTPUT:
RETVAL
#// gluNextContour(tess, type);
void
gluNextContour(tess, type)
PGLUtess * tess
GLenum type
CODE:
gluNextContour(tess->triangulator, type);
#// gluNurbsCurve_c(nurb, nknots, knot, stride, ctlarray, order, type);
void
gluNurbsCurve_c(nurb, nknots, knot, stride, ctlarray, order, type)
GLUnurbsObj * nurb
GLint nknots
void * knot
GLint stride
void * ctlarray
GLint order
GLenum type
CODE:
gluNurbsCurve(nurb, nknots, knot, stride, ctlarray, order, type);
#// gluNurbsSurface_c(nurb, sknot_count, sknot, tknot_count, tknot, s_stride, t_stride, ctrlarray, sorder, torder, type);
void
gluNurbsSurface_c(nurb, sknot_count, sknot, tknot_count, tknot, s_stride, t_stride, ctrlarray, sorder, torder, type)
GLUnurbsObj * nurb
GLint sknot_count
void * sknot
GLint tknot_count
void * tknot
GLint s_stride
GLint t_stride
void * ctrlarray
GLint sorder
GLint torder
GLenum type
CODE:
gluNurbsSurface(nurb, sknot_count, sknot, tknot_count, tknot, s_stride, t_stride, ctrlarray, sorder, torder, type);
#//# gluOrtho2D($left, $right, $bottom, $top);
void
gluOrtho2D(left, right, bottom, top)
GLdouble left
GLdouble right
GLdouble bottom
GLdouble top
#// gluPartialDisk(quad, inner, outer, slices, loops, start, sweep);
void
gluPartialDisk(quad, inner, outer, slices, loops, start, sweep)
GLUquadricObj* quad
GLdouble inner
GLdouble outer
GLint slices
GLint loops
GLdouble start
GLdouble sweep
#//# gluPerspective($fovy, $aspect, $zNear, $zFar);
void
gluPerspective(fovy, aspect, zNear, zFar)
GLdouble fovy
GLdouble aspect
GLdouble zNear
GLdouble zFar
#//# gluPickMatrix_p($x, $y, $delX, $delY, $m1,$m2,$m3,$m4);
void
gluPickMatrix_p(x, y, delX, delY, m1,m2,m3,m4)
GLdouble x
GLdouble y
GLdouble delX
GLdouble delY
CODE:
{
GLint m[4];
int i;
for (i=0;i<4;i++)
m[i] = SvIV(ST(i+4));
gluPickMatrix(x, y, delX, delY, &m[0]);
}
#//# gluProject_p($objx, $objy, $objz, @m4x4, @o4x4, $v1,$v2,$v3,$v4);
void
gluProject_p(objx, objy, objz, m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,m13,m14,m15,m16, o1,o2,o3,o4,o5,o6,o7,o8,o9,o10,o11,o12,o13,o14,o15,o16, v1,v2,v3,v4)
GLdouble objx
GLdouble objy
GLdouble objz
PPCODE:
{
GLdouble m[16], p[16], winx, winy, winz;
GLint v[4];
int i;
for (i=0;i<16;i++)
m[i] = SvNV(ST(i+3));
for (i=0;i<16;i++)
p[i] = SvNV(ST(i+3+16));
for (i=0;i<4;i++)
( run in 1.846 second using v1.01-cache-2.11-cpan-97f6503c9c8 )