Acme-MITHALDU-BleedingOpenGL
view release on metacpan or search on metacpan
BleedingOpenGL.pm view on Meta::CPAN
GLU_PATH_LENGTH
GLU_PARAMETRIC_ERROR
GLU_DOMAIN_DISTANCE
GLU_MAP1_TRIM_2
GLU_MAP1_TRIM_3
GLU_OUTLINE_POLYGON
GLU_OUTLINE_PATCH
GLU_NURBS_ERROR1
GLU_NURBS_ERROR2
GLU_NURBS_ERROR3
GLU_NURBS_ERROR4
GLU_NURBS_ERROR5
GLU_NURBS_ERROR6
GLU_NURBS_ERROR7
GLU_NURBS_ERROR8
GLU_NURBS_ERROR9
GLU_NURBS_ERROR10
GLU_NURBS_ERROR11
GLU_NURBS_ERROR12
GLU_NURBS_ERROR13
GLU_NURBS_ERROR14
GLU_NURBS_ERROR15
GLU_NURBS_ERROR16
GLU_NURBS_ERROR17
GLU_NURBS_ERROR18
GLU_NURBS_ERROR19
GLU_NURBS_ERROR20
GLU_NURBS_ERROR21
GLU_NURBS_ERROR22
GLU_NURBS_ERROR23
GLU_NURBS_ERROR24
GLU_NURBS_ERROR25
GLU_NURBS_ERROR26
GLU_NURBS_ERROR27
GLU_NURBS_ERROR28
GLU_NURBS_ERROR29
GLU_NURBS_ERROR30
GLU_NURBS_ERROR31
GLU_NURBS_ERROR32
GLU_NURBS_ERROR33
GLU_NURBS_ERROR34
GLU_NURBS_ERROR35
GLU_NURBS_ERROR36
GLU_NURBS_ERROR37
);
@EXPORT = (@oldfunctions, @oldconstants);
# Other items we are prepared to export if requested
@EXPORT_OK = (@gl_extensions, @gl_func, @glu_func, @glut_func, @glx_func, @gl_const, @glu_const, @glut_const, @glx_const);
@constants = (@gl_const, @glu_const, @glut_const, @glx_const);
@functions = (@gl_func, @glu_func, @glut_func, @glx_func);
%EXPORT_TAGS = ('constants' => \@constants, 'functions' => \@functions, 'all' => \@EXPORT_OK, 'old' => \@EXPORT,
'glconstants' => \@gl_const, 'gluconstants' => \@glu_const, 'glutconstants' => \@glut_const, 'glxconstants' => \@glx_const,
'glfunctions' => \@gl_func, 'glufunctions' => \@glu_func, 'glutfunctions' => \@glut_func, 'glxfunctions' => \@glx_func,
'oldfunctions' => \@oldfunctions, 'oldconstants' => \@oldconstants,
);
@rename_old = qw(
glBitmap
glCallLists
glClipPlane
glColor3bv
glColor3dv
glColor3fv
glColor3iv
glColor3sv
glColor3ubv
glColor3uiv
glColor3usv
glColor4bv
glColor4dv
glColor4fv
glColor4iv
glColor4sv
glColor4ubv
glColor4uiv
glColor4usv
glConvolutionFilter1DEXT
glConvolutionFilter2DEXT
glConvolutionParameterfvEXT
glConvolutionParameterivEXT
glDetailTexFuncSGIS
glDrawPixels
glEvalCoord1dv
glEvalCoord1fv
glEvalCoord2dv
glEvalCoord2fv
glFeedbackBuffer
glFogfv
glFogiv
glGetBooleanv
glGetClipPlane
glGetConvolutionFilterEXT
glGetConvolutionParameterfvEXT
glGetConvolutionParameterivEXT
glGetDetailTexFuncSGIS
glGetDoublev
glGetFloatv
glGetHistogramEXT
glGetHistogramParameterfvEXT
glGetHistogramParameterivEXT
glGetIntegerv
glGetLightfv
glGetLightiv
glGetMapdv
glGetMapfv
glGetMapiv
glGetMaterialfv
glGetMaterialiv
glGetMinmaxEXT
glGetMinmaxParameterfvEXT
glGetMinmaxParameterivEXT
glGetPixelMapfv
glGetPixelMapuiv
glGetPixelMapusv
glGetPolygonStipple
glGetSeparableFilterEXT
glGetSharpenTexFuncSGIS
BleedingOpenGL.pm view on Meta::CPAN
glSeparableFilter2DEXT
glSharpenTexFuncSGIS
glTexCoord1dv
glTexCoord1fv
glTexCoord1iv
glTexCoord1sv
glTexCoord2dv
glTexCoord2fv
glTexCoord2iv
glTexCoord2sv
glTexCoord3dv
glTexCoord3fv
glTexCoord3iv
glTexCoord3sv
glTexCoord4dv
glTexCoord4fv
glTexCoord4iv
glTexCoord4sv
glTexEnvfv
glTexEnviv
glTexGendv
glTexGenfv
glTexGeniv
glTexImage1D
glTexImage2D
glTexImage3DEXT
glTexParameterfv
glTexParameteriv
glTexSubImage1DEXT
glTexSubImage2DEXT
glTexSubImage3DEXT
glTranslated
glTranslatef
glVertex2dv
glVertex2fv
glVertex2iv
glVertex2sv
glVertex3dv
glVertex3fv
glVertex3iv
glVertex3sv
glVertex4dv
glVertex4fv
glVertex4iv
glVertex4sv
glViewport
);
sub AUTOLOAD {
# This AUTOLOAD is used to 'autoload' constants from the constant()
# XS function. If a constant is not found then control is passed
# to the AUTOLOAD in AutoLoader.
# NOTE: THIS AUTOLOAD FUNCTION IS FLAWED (but is the best we can do for now).
# Avoid old-style ``&CONST'' usage. Either remove the ``&'' or add ``()''.
if (@_ > 0) {
# Is it an old OpenGL-0.4 function? If so, remap it to newer variant
local($constname);
($constname = $AUTOLOAD) =~ s/.*:://;
if (grep ($_ eq $constname, @rename_old)) {
eval "sub $AUTOLOAD { $AUTOLOAD" . "_s(\@_) }";
goto &$AUTOLOAD;
}
$AutoLoader::AUTOLOAD = $AUTOLOAD;
goto &AutoLoader::AUTOLOAD;
}
local($constname);
($constname = $AUTOLOAD) =~ s/.*:://;
$val = constant($constname, @_ ? $_[0] : 0);
if (not defined $val) {
if ($! =~ /Invalid/) {
$AutoLoader::AUTOLOAD = $AUTOLOAD;
goto &AutoLoader::AUTOLOAD;
}
else {
($pack,$file,$line) = caller;
die "Your vendor has not defined OpenGL macro $constname, used at $file line $line.
";
}
}
eval "sub $AUTOLOAD { $val }";
goto &$AUTOLOAD;
}
bootstrap Acme::MITHALDU::BleedingOpenGL;
*OpenGL::Array::CLONE_SKIP = sub { 1 }; # OpenGL::Array is not thread safe
*OpenGL::Matrix::CLONE_SKIP = sub { 1 }; # OpenGL::Matrix is not thread safe
# The following material is directly copied from Stan Melax's original OpenGL-0.4
# (with modifications for OS/2).
%window_defaults=(
'x' => 0,
'y' => 0,
'width' => 500,
'height' => 500,
'parent' => 0,
'steal' => 0,
'mask' => (_have_glx() ? StructureNotifyMask() : 0),
'attributes'=> [],
);
sub glpOpenWindow {
# default values
my(%a) = @_;
my(%p) = %window_defaults;
foreach $k (keys(%a)){
exists($p{$k}) || warn "Not a valid parameter to glpOpenWindow: `$k'\n";
#print "parameter $k now ",$a{$k}," was ",$p{$k},"\n";
$p{$k} = $a{$k};
}
#
# glpcOpenWindow() no longer exported. Use fully qualified
# package name or (better!) glpOpenWindow()
#
glpcOpenWindow($p{'x'},$p{'y'},$p{'width'},$p{'height'},
$p{'parent'},$p{'mask'},$p{'steal'},
( run in 2.178 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )