NAME
OpenGL::Image::Common - class for OpenGL imaging engines
DESCRIPTION
This module provides a base class for OpenGL imaging engines. Requires the OpenGL module.
SYNOPSIS
########### Check for installed imaging enginesuse OpenGL::Image::Common;my $img = new OpenGL::Image::Common(%params);########### Must supply width and height, or source:# source - source image file path (some engines supports URLs).# width,height - width and height in pixels for cache allocation.########### Optional params:# engine - specifies imaging engine; defaults to 'Targa'.########### Methods defined in this Common module:# Get native engine object# Note: must not change image dimensionsmy $obj = $img->Native;$obj->Quantize() if ($obj);# Alternately (Assuming the native engine supports Blur):$img->Native->Blur();# Test if image width is a power of 2if ($img->IsPowerOf2());# Test if all listed values are a power of 2if ($img->IsPowerOf2(@list));# Get largest power of 2 size within dimensions of imagemy $size = $img->GetPowerOf2();# Get all parameters as a hashrefmy $params = $img->Get();# Get one or more parameter valuesmy @values = $img->Get(@params);# Get/Set Pixel values (normalized to 1.0)my($r,$g,$b,$a) = $img->GetPixel($x,$y);# Sync cache after done modifying pixels$img->SetPixel($x,$y,$r,$g,$b,$a);$frame->Sync();########### Supported parameters:# version - version of the engine# source - source image, if defined# width - width of image in pixels# height - height of image in pixels# pixels - number of pixels# components - number of pixel components# size - bytes per component# length - cache size in bytes# endian - 1 if big endian; otherwise 0# alpha - 1 if has alpha channel, -1 if has inverted alpha channel; 0 if none# flipped - 1 bit set if cache scanlines are top to bottom; others reserved# gl_internalformat - internal GL pixel format. eg: GL_RGBA8, GL_RGBA16# gl_format - GL pixel format. eg: GL_RGBA, GL_BGRA# gl_type - GL data type. eg: GL_UNSIGNED_BYTE, GL_UNSIGNED_SHORT########### APIs defined in engine modules:# Get engine versionmy $ver = OpenGL::Image::ENGINE_MODULE::EngineVersion();# Get engine descriptionmy $desc = OpenGL::Image::ENGINE_MODULE::EngineDescription();########### Methods defined in engine modules:# Sync the image cache after modifying pixels.# Used by some engines for paged caches; otherwise a NOP.$img->Sync();# Return the image's cache as an OpenGL::Array object.# Note: OGA may change after a cache updatemy $oga = $img->GetArray();# Return a C pointer to the image's cache.# For use with OpenGL's "_c" APIs.# Note: pointer may change after a cache update$img->Ptr();# Save the image to a PNG file (assuming the native engine supports PNGs).$img->Save('MyImage.png');# Get image blob.my $blob = $img->GetBlob();
VERSION
v1.03
AUTHOR
Author: Bob "grafman" Free - [email protected]
COPYRIGHT AND LICENSE
copyright 2007 Graphcomp - ALL RIGHTS RESERVED
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.