Acme-MITHALDU-BleedingOpenGL
view release on metacpan or search on metacpan
#!/usr/bin/perl -w
use strict;
my $stat = `perl -v`;
our $IS_ACTIVEPERL = ($stat =~ m|ActiveState|s);
our $PERL_VERSION = $^V;
$PERL_VERSION =~ s|^v||;
use Acme::MITHALDU::BleedingOpenGL qw/ :all /;
use Acme::MITHALDU::BleedingOpenGL::Config; # for build information
eval 'use OpenGL::Image 1.03'; # Need to use OpenGL::Image 1.03 or higher!
my $hasImage = !$@;
my $hasIM_635 = $hasImage && OpenGL::Image::HasEngine('Magick','6.3.5');
eval 'use OpenGL::Shader';
my $hasShader = !$@;
eval 'use Image::Magick';
my $hasIM = !$@;
# This does not seem to be needed and it adds an extra, unneeded
# dependency to the build process. Leaving this in as a comment
# just in case it is being used somewhere here
#
# use Math::Trig;
eval 'use Time::HiRes qw( gettimeofday )';
my $hasHires = !$@;
$|++;
# ----------------------
# Based on a cube demo by
# Chris Halsall (chalsall@chalsall.com) for the
# O'Reilly Network on Linux.com (oreilly.linux.com).
# May 2000.
#
# Translated from C to Perl by J-L Morel <jl_morel@bribes.org>
# ( http://www.bribes.org/perl/wopengl.html )
#
# Updated for FBO, VBO, Vertex/Fragment Program extensions
# and ImageMagick support
# by Bob "grafman" Free <grafman@graphcomp.com>
# ( http://graphcomp.com/opengl )
#
# Requires GLUT/FreeGLUT
if (!glpHasGLUT())
{
print qq
{
This test requires GLUT:
If you have X installed, you can try the scripts in ./examples/
Most of them do not use GLUT.
It is recommended that you install FreeGLUT for improved Makefile.PL
configuration, installation and debugging.
};
print "Attempting to run examples/texhack instead...\n";
`perl examples/texhack`;
exit 0;
}
use constant PROGRAM_TITLE => "OpenGL Test App";
use constant DO_TESTS => 0;
# Run in Game Mode
my $gameMode;
if (scalar(@ARGV) and lc($ARGV[0]) eq 'gamemode')
{
$gameMode = $ARGV[1] || '';
}
# Keyboard modifiers
my $key_mods =
{
eval(GLUT_ACTIVE_SHIFT) => "SHIFT",
eval(GLUT_ACTIVE_CTRL) => "CTRL",
eval(GLUT_ACTIVE_ALT) => "ALT"
};
# Some global variables.
my $useMipMap = 1;
my $hasFBO = 0;
my $hasVBO = 0;
my $hasFragProg = 0;
my $hasImagePointer = 0;
my $idleTime = $hasHires ? gettimeofday() : time();
my $idleSecsMax = 5;
my $er;
# Window and texture IDs, window width and height.
my $Window_ID;
my $Window_Width = 300;
my $Window_Height = 300;
my $Inset_Width = 90;
my $Inset_Height = 90;
my $Window_State;
# Texture dimanesions
#my $Tex_File = 'test.jpg';
my $Tex_File = 'test.tga';
my $Tex_Width = 128;
my $Tex_Height = 128;
my $Tex_Format;
my $Tex_Type;
my $Tex_Size;
my $Tex_Image;
my $Tex_Pixels;
# Our display mode settings.
my $Light_On = 0;
my $Blend_On = 0;
( run in 0.999 second using v1.01-cache-2.11-cpan-e1769b4cff6 )