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)