Acme-MITHALDU-BleedingOpenGL
view release on metacpan or search on metacpan
BleedingOpenGL.pm view on Meta::CPAN
glRasterPos4iv
glRasterPos4sv
glReadPixels
glRectdv
glRectfv
glRectiv
glRectsv
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};
( run in 0.629 second using v1.01-cache-2.11-cpan-39bf76dae61 )