summaryrefslogtreecommitdiffstats
path: root/PerlQt/examples/opengl/box/GLBox.pm
diff options
context:
space:
mode:
Diffstat (limited to 'PerlQt/examples/opengl/box/GLBox.pm')
-rw-r--r--PerlQt/examples/opengl/box/GLBox.pm149
1 files changed, 0 insertions, 149 deletions
diff --git a/PerlQt/examples/opengl/box/GLBox.pm b/PerlQt/examples/opengl/box/GLBox.pm
deleted file mode 100644
index 1c6ceb8..0000000
--- a/PerlQt/examples/opengl/box/GLBox.pm
+++ /dev/null
@@ -1,149 +0,0 @@
-package GLBox;
-
-use OpenGL qw(:all);
-
-use strict;
-
-use TQt;
-use TQt::isa qw(TQt::GLWidget);
-use TQt::slots
- setXRotation => ['int'],
- setYRotation => ['int'],
- setZRotation => ['int'];
-use TQt::attributes qw(
- xRot
- yRot
- zRot
- scale
- object
- list
-);
-
-sub NEW {
- shift->SUPER::NEW(@_);
- xRot = yRot = zRot = 0.0;
- scale = 1.25;
- object = undef;
-}
-
-sub paintGL
-{
- glClear( GL_COLOR_BUFFER_BIT );
- glClear( GL_DEPTH_BUFFER_BIT );
-
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -10.0 );
- glScalef( scale, scale, scale );
-
- glRotatef( xRot, 1.0, 0.0, 0.0 );
- glRotatef( yRot, 0.0, 1.0, 0.0 );
- glRotatef( zRot, 0.0, 0.0, 1.0 );
-
- glCallList( object );
-}
-
-sub initializeGL
-{
- qglClearColor( &black ); # Let OpenGL clear to black
- object = makeObject(); # Generate an OpenGL display list
- glShadeModel( GL_FLAT );
- glEnable( GL_DEPTH_TEST );
-}
-
-# Set up the OpenGL view port, matrix mode, etc.
-
-sub resizeGL
-{
- my $w = shift;
- my $h = shift;
- glViewport( 0, 0, $w, $h );
- glMatrixMode( GL_PROJECTION );
- glLoadIdentity();
- glFrustum( -1.0, 1.0, -1.0, 1.0, 5.0, 15.0 );
- glMatrixMode( GL_MODELVIEW );
-}
-
-# Generate an OpenGL display list for the object to be shown, i.e. the box
-
-sub makeObject
-{
- my $list = glGenLists( 1 );
-
- glNewList( $list, GL_COMPILE );
-
- qglColor( &darkGreen ); # Shorthand for glColor3f or glIndex
-
- glLineWidth( 2.0 );
-
- glBegin( GL_TQUADS );
- glVertex3f( 1.0, 0.5, -0.4 );
- glVertex3f( 1.0, -0.5, -0.4 );
- glVertex3f( -1.0, -0.5, -0.4 );
- glVertex3f( -1.0, 0.5, -0.4 );
- glEnd();
-
- qglColor( &blue );
-
- glBegin( GL_TQUADS );
- glVertex3f( 1.0, 0.5, 0.4 );
- glVertex3f( 1.0, -0.5, 0.4 );
- glVertex3f( -1.0, -0.5, 0.4 );
- glVertex3f( -1.0, 0.5, 0.4 );
- glEnd();
-
- qglColor( &darkRed );
-
- glBegin( GL_TQUAD_STRIP );
- glVertex3f( 1.0, 0.5, -0.4 ); glVertex3f( 1.0, 0.5, 0.4 );
- glVertex3f( 1.0, -0.5, -0.4 ); glVertex3f( 1.0, -0.5, 0.4 );
- qglColor( &yellow );
- glVertex3f( -1.0, -0.5, -0.4 ); glVertex3f( -1.0, -0.5, 0.4 );
- qglColor( &green );
- glVertex3f( -1.0, 0.5, -0.4 ); glVertex3f( -1.0, 0.5, 0.4 );
- qglColor( &lightGray );
- glVertex3f( 1.0, 0.5, -0.4 ); glVertex3f( 1.0, 0.5, 0.4 );
- glEnd();
-
- glEndList();
-
- return $list;
-}
-
-
-
-# Set the rotation angle of the object to \e degrees around the X axis.
-
-sub setXRotation
-{
- my $deg = shift;
- xRot = $deg % 360;
- updateGL();
-}
-
-
-# Set the rotation angle of the object to \e degrees around the Y axis.
-
-sub setYRotation
-{
- my $deg = shift;
- yRot = $deg % 360;
- updateGL();
-}
-
-
-# Set the rotation angle of the object to \e degrees around the Z axis.
-
-sub setZRotation
-{
- my $deg = shift;
- zRot = $deg % 360;
- updateGL();
-}
-
-sub DESTROY
-{
-# makeCurrent();
- glDeleteLists( object, 1 );
-}
-
-1;