Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

tshader Class Reference

List of all members.

Public Methods

char type ()
void bindprogram ()
 tshader (char typ, const char *file, const char *name)
paramlistgetparam (const char *name)
void printparam (void)
paramlistget_empty_param (const char *name)
void addparam (const char *name, int fcount, float *value, int mayfail=0)
void addparam (const char *name, const char *var, int mayfail=0)
void putparams (tshader *t)
void unsetparams ()
void setparams ()

Detailed Description

class containing shader (CGProgram) with list of parameters. One CGProgram can be contained in different tshaders with different parameters. Class can contain either vertex or fragment shader If name of file and function is empty, the shader is just used as a parameter list


Constructor & Destructor Documentation

tshader char    typ,
const char *    file,
const char *    name
 

construct shader from file

Parameters:
typ type of shader ('f'=frragment, 'v'=vertex )
file name of file with shader
name name of function within the file to be loaded


Member Function Documentation

void addparam const char *    name,
const char *    var,
int    mayfail = 0
 

add dynamic parameter to shader If the parameter exist, it is overwritten

Parameters:
name name of parameter
var Name of variable. This parameter will be re-evaluated each frame.
mayfail if true and parameter does not exist, function will silently fail

void addparam const char *    name,
int    fcount,
float *    value,
int    mayfail = 0
 

add parameter to shader If the parameter exist, it is overwritten

Parameters:
name name of parameter
fcount number of float parameters in array (1..4)
value array with parameters (float)
mayfail if true and parameter does not exist, function will silently fail

void bindprogram  
 

bind contained program to openGL

paramlist* get_empty_param const char *    name
 

This function will either get parameter from the list if it exist and clear it or allocate a new parameter

paramlist* getparam const char *    name
 

get parameter with given name

void printparam void   
 

DEBUG: print parameter list to STDOUT

void putparams tshader *    t
 

Copy all parameters from this shader to another shader, if they are present in target shader

void setparams  
 

called each frame. Will set up parameters for given shader

char type  
 

return shader type ('v' = vertex, 'f' = fragment)

void unsetparams  
 

called each frame. Will free parameters for given shader