Acme-MITHALDU-BleedingOpenGL
view release on metacpan or search on metacpan
pogl_gl_Pixe_Ver2.xs view on Meta::CPAN
/* Last saved: Fri 26 Aug 2011 10:48:16 AM */
/* Copyright (c) 1998 Kenneth Albanowski. All rights reserved.
* Copyright (c) 2007 Bob Free. All rights reserved.
* Copyright (c) 2009 Chris Marshall. All rights reserved.
* This program is free software; you can redistribute it and/or
* modify it under the same terms as Perl itself.
*/
/* OpenGL GLX bindings */
#define IN_POGL_GLX_XS
#include <stdio.h>
#include "pgopogl.h"
#ifdef HAVE_GL
#include "gl_util.h"
/* Note: this is caching procs once for all contexts */
/* !!! This should instead cache per context */
#if defined(_WIN32) || (defined(__CYGWIN__) && defined(HAVE_W32API))
#define loadProc(proc,name) \
{ \
if (!proc) \
{ \
proc = (void *)wglGetProcAddress(name); \
if (!proc) croak(name " is not supported by this renderer"); \
} \
}
#define testProc(proc,name) ((proc) ? 1 : !!(proc = (void *)wglGetProcAddress(name)))
#else /* not using WGL */
#define loadProc(proc,name)
#define testProc(proc,name) 1
#endif /* not defined _WIN32, __CYGWIN__, and HAVE_W32API */
#endif /* defined HAVE_GL */
#ifdef HAVE_GLX
#include "glx_util.h"
#endif /* defined HAVE_GLX */
#ifdef HAVE_GLU
#include "glu_util.h"
#endif /* defined HAVE_GLU */
MODULE = Acme::MITHALDU::BleedingOpenGL::GL::PixeVer2 PACKAGE = Acme::MITHALDU::BleedingOpenGL
#ifdef HAVE_GL
#// 1.0
#//# glPixelMapfv_c($map, $mapsize, (CPTR)values);
void
glPixelMapfv_c(map, mapsize, values)
GLenum map
GLsizei mapsize
void * values
CODE:
glPixelMapfv(map, mapsize, values);
#// 1.0
#//# glPixelMapuiv_c($map, $mapsize, (CPTR)values);
void
glPixelMapuiv_c(map, mapsize, values)
GLenum map
GLsizei mapsize
void * values
CODE:
glPixelMapuiv(map, mapsize, values);
#// 1.0
#//# glPixelMapusv_c($map, $mapsize, (CPTR)values);
void
glPixelMapusv_c(map, mapsize, values)
GLenum map
GLsizei mapsize
void * values
CODE:
glPixelMapusv(map, mapsize, values);
#// 1.0
#//# glPixelMapfv_s($map, $mapsize, (PACKED)values);
void
glPixelMapfv_s(map, mapsize, values)
GLenum map
GLsizei mapsize
SV * values
CODE:
{
GLfloat * values_s = EL(values, sizeof(GLfloat)*mapsize);
glPixelMapfv(map, mapsize, values_s);
}
#// 1.0
#//# glPixelMapuiv_s($map, $mapsize, (PACKED)values);
void
glPixelMapuiv_s(map, mapsize, values)
GLenum map
GLsizei mapsize
SV * values
CODE:
{
GLuint * values_s = EL(values, sizeof(GLuint)*mapsize);
glPixelMapuiv(map, mapsize, values_s);
}
#// 1.0
#//# glPixelMapusv_s($map, $mapsize, (PACKED)values);
void
glPixelMapusv_s(map, mapsize, values)
GLenum map
GLsizei mapsize
SV * values
CODE:
{
GLushort * values_s = EL(values, sizeof(GLushort)*mapsize);
glPixelMapusv(map, mapsize, values_s);
}
#// 1.0
#//# glPixelMapfv_p($map, @values);
void
glPixelMapfv_p(map, ...)
GLenum map
CODE:
{
GLint mapsize = items-1;
GLfloat * values;
int i;
values = malloc(sizeof(GLfloat) * (mapsize+1));
for (i=0;i<mapsize;i++)
values[i] = (GLfloat)SvNV(ST(i+1));
glPixelMapfv(map, mapsize, values);
free(values);
}
#// 1.0
#//# glPixelMapuiv_p($map, @values);
void
glPixelMapuiv_p(map, ...)
GLenum map
CODE:
{
GLint mapsize = items-1;
GLuint * values;
int i;
values = malloc(sizeof(GLuint) * (mapsize+1));
for (i=0;i<mapsize;i++)
values[i] = SvIV(ST(i+1));
glPixelMapuiv(map, mapsize, values);
free(values);
}
#// 1.0
#//# glPixelMapusv_p($map, @values);
void
glPixelMapusv_p(map, ...)
GLenum map
CODE:
{
GLint mapsize = items-1;
GLushort * values;
int i;
values = malloc(sizeof(GLushort) * (mapsize+1));
for (i=0;i<mapsize;i++)
values[i] = (GLushort)SvIV(ST(i+1));
glPixelMapusv(map, mapsize, values);
free(values);
}
#// 1.0
#//# glPixelStoref($pname, $param);
void
glPixelStoref(pname, param)
GLenum pname
GLfloat param
#// 1.0
#//# glPixelStorei($pname, $param);
void
glPixelStorei(pname, param)
GLenum pname
GLint param
#// 1.0
#//# glPixelTransferf($pname, $param);
void
glPixelTransferf(pname, param)
GLenum pname
GLfloat param
#// 1.0
#//# glPixelTransferi($pname, $param);
void
glPixelTransferi(pname, param)
GLenum pname
GLint param
#// 1.0
#//# glPixelZoom($xfactor, $yfactor);
void
glPixelZoom(xfactor, yfactor)
GLfloat xfactor
GLfloat yfactor
#// 1.0
#//# glPointSize($size);
void
glPointSize(size)
GLfloat size
#// 1.0
#//# glPolygonMode($face, $mode);
void
glPolygonMode(face, mode)
GLenum face
GLenum mode
#ifdef GL_VERSION_1_1
#// 1.1
#//# glPolygonOffset($factor, $units);
void
glPolygonOffset(factor, units)
GLfloat factor
GLfloat units
( run in 1.536 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )