SDL::OpenGL::App
SDL::OpenGL::ApUser Contributed Perl DocumentaSDL::OpenGL::App(p)



NAME
       SDL::OpenGL::App  - Glut like wrapper for SDL OpenGL apps

SYNOPSIS
        use SDL::OpenGL::App;

        my $app=new SDL::OpenGL::App;

        $app->app_name("Gears");

        $app->register_handler(init    => \&init,
                               draw    => \&draw,
                               events  => \&events,
                               idle    => \&idle,
                               reshape => \&reshape,
                              );

        $app->run();


DESCRIPTION
METHODS
          new
          add_startup_parameter
          add_runtime_help
          register_handler
          pointer_show
          run
          pump
          screendump

          app_name
          screen_width
          screen_height
          fullscreen
          fps
          glinfo

          red_size
          green_size
          blue_size
          depth_size
          doublebufer

          Package utility methods:

          read_texture
          rle_enc
          rle_dec
       =head1 EXAMPLES


       QUICK DEMO/TEST

       Running the in-built demo/test:

       run perl with the 'e' flag to execute these one liners:

       'use SDL::OpenGL::App; new SDL::OpenGL::App->run'

       same, but in fullscreen mode:

       'use SDL::OpenGL::App; $g=new SDL::OpenGL::App;
       $g->fullscreen(n); $g->run'

       PUMPING

       'Pumping' the SDL::OpenGL::App processing loop, step by
       step:

       Make use of the 'pump' function, say, when called from a
       Gtk Idle loop for instance:

       my $gl_app=new SDL::OpenGL::App ;

       #register handlers/help as normal

       my $stay_alive=1; while ($stay_alive)
         {
          my $gl_rc=$gl_app->pump();  #returns FALSE when 'rea-
       sons to leave' detected

          $stay_alive=0 unless $gl_rc;
         }


       MAKE A MOVIE!

          NOTE:: currently (as from V1.06) only RAW PPM files are generated, but
          then SDL::OpenGL::App can only read ASCII/RAW PPM file anyway, for now.

          To create a series of screenshots to build a movie, e.g. to build
          OpenGL looking graphics for a 'flatter' application(n) (game/web/etc..):

        #do things as usual, then

        my $frame=0;
        my $frame_ext_format="%d"; #you may want leading 8 zeros hex, e.g, : "%08x"
        sub idle
          {

           #..do your 'Idle' stuff..

           $gl_app->screendump(FILE_NAME=>"movie/gear.".sprintf($frame_ext_format,$frame++));
          }

       to playback the movie, one quick way is to use the 'ani-
       mate' program from ImageMagick:

       $ animate movie/gear.*

       Furthermore, you could then use 'read_texture' to read
       them all/it back in, to be used as a (possibly animated)
       bill board, or drop OpenGL mode and then use them in 2D
       SDL Surfaces, you choose.

       For more examples please have a look inside the directory:
       'examples/openGL/Glut'

TODO
BUGS
AUTHOR
          Wayne Keenan               wayne@metaverse.fsnet.co.uk

          Copyright (c) 2000 Wayne Keenan. All rights reserved.
          This program is free software; you can redistribute it
          and/or modify it under the same terms as Perl itself.


VERSION
          Version 0.02     (05 Aug 2000)


SEE ALSO
          perl(l) SDL::App SDL::OpenGL




perl v5.6.1                 2002-02-26        SDL::OpenGL::App(p)