NAME
OpenGL::Shader::Common - base class for use with OpenGL::Shader
SYNOPSIS
# Instantiate a shaderuse OpenGL::Shader;my $shdr = new OpenGL::Shader();
DESCRIPTION
This module provides a base class for OpenGL shader types. Example usage:
use OpenGL::Shader;my $shdr = new OpenGL::Shader();########### Methods defined in this module:# Get shader type.my $type = $shdr->GetType();# Get shader versionmy $ver = $shdr->GetVersion();# Get shader descriptionmy $desc = $shdr->GetDescription();# Load shader files.my $stat = $shdr->LoadFiles($fragment_file,$vertex_file);# Get shader GL constants.my $fragment_const = $shdr->GetFragmentConstant();my $vertex_const = $shdr->GetVertexConstant();# Get objects.my $fragment_shader = $shdr->GetFragmentShader();my $vertex_shader = $shdr->GetVertexShader();my $program = $shdr->GetProgram();########### Methods defined in subclasses:# Load shader text.$shdr->Load($fragment,$vertex);# Enable shader.$shdr->Enable();# Set Vertex Attributemy $attr_id = $self->MapAttr($attr_name);glVertexAttrib4fARB($attr_id,$x,$y,$z,$w);# Get Global Variable ID (uniform/env)my $var_id = $self->Map($var_name);# Set float4 vector variable$stat = $self->SetVector($var_name,$x,$y,$z,$w);# Set float4x4 matrix via OGA$stat = $self->SetMatrix($var_name,$oga);# Disable shader.$shdr->Disable();# Destructor.$shdr->DESTROY();
AUTHOR
Bob "grafman" Free - [email protected]. 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.