GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
Program Class Reference

#include <Shader.hh>

Collaboration diagram for Program:

Public Member Functions

 Program ()
 Program (const Program &)=delete
Program & operator= (const Program &)=delete
void push_back (const Shader &shader)
void detach (const Shader &shader)
void link ()
void use ()
void unuse ()
void print_log ()
 ~Program ()
void GeomTypes (int input, int output)
void GeomOutputVertices (int i)
int get_loc (std::string name)
void set_var (const char *name, float val)
void set_var (int name, float val)
void set_var (const char *name, float val1, float val2)
void set_var (const char *name, const Point &p)
void set_var (const char *name, const Vector &p)
void set_var (const char *name, const Color &c)
void set_var (const char *name, float val1, float val2, float val3, float val4)
void set_var (int name, float val1, float val2, float val3, float val4)
void set_var (const char *name, Matrix m)
void set_var (const char *name, float *array, int count)
void set_var (const char *name, int *array, int count)
void set_var (const char *name, int val)
void set_var_matrix2 (const char *name, const std::vector< float > &v, int start)
void set_var_matrix (const char *name, const std::vector< float > &v)
void set_var (const char *name, const std::vector< Point > &v)
Matrix get_matrix_var (const std::string &name)
void bind_attrib (int num, std::string name)
void bind_frag (int num, std::string name)
Attrib find_attr (const std::string &attr_name, int id)
Attrib find_attr_int (const std::string &attr_name, int id)
void attr_loc (std::string s, int index)
uint32_t unique_id (const char *name)
void print_locs ()
void clean_map ()

Public Attributes

ProgramPriv * priv
std::unordered_map< uint32_t, int > locs
std::unordered_map< Low_GLint, Matrix > cache
std::unordered_map< Low_GLint, float > g_setvar_cache
std::unordered_map< Low_GLint, int > g_intvar_cache

Constructor & Destructor Documentation

◆ Program() [1/2]

Program::Program ( )
Here is the caller graph for this function:

◆ Program() [2/2]

Program::Program ( const Program & )
delete

◆ ~Program()

Program::~Program ( )

Member Function Documentation

◆ attr_loc()

void Program::attr_loc ( std::string s,
int index )

◆ bind_attrib()

void Program::bind_attrib ( int num,
std::string name )
Here is the caller graph for this function:

◆ bind_frag()

void Program::bind_frag ( int num,
std::string name )
Here is the caller graph for this function:

◆ clean_map()

void Program::clean_map ( )

◆ detach()

void Program::detach ( const Shader & shader)
Here is the caller graph for this function:

◆ find_attr()

Attrib Program::find_attr ( const std::string & attr_name,
int id )
Here is the caller graph for this function:

◆ find_attr_int()

Attrib Program::find_attr_int ( const std::string & attr_name,
int id )

◆ GeomOutputVertices()

void Program::GeomOutputVertices ( int i)

◆ GeomTypes()

void Program::GeomTypes ( int input,
int output )

◆ get_loc()

int Program::get_loc ( std::string name)

◆ get_matrix_var()

Matrix Program::get_matrix_var ( const std::string & name)
Here is the caller graph for this function:

◆ link()

void Program::link ( )

◆ operator=()

Program & Program::operator= ( const Program & )
delete

◆ print_locs()

void Program::print_locs ( )

◆ print_log()

void Program::print_log ( )

◆ push_back()

void Program::push_back ( const Shader & shader)
Here is the caller graph for this function:

◆ set_var() [1/13]

void Program::set_var ( const char * name,
const Color & c )

◆ set_var() [2/13]

void Program::set_var ( const char * name,
const Point & p )

◆ set_var() [3/13]

void Program::set_var ( const char * name,
const std::vector< Point > & v )

◆ set_var() [4/13]

void Program::set_var ( const char * name,
const Vector & p )

◆ set_var() [5/13]

void Program::set_var ( const char * name,
float * array,
int count )

◆ set_var() [6/13]

void Program::set_var ( const char * name,
float val )
Here is the caller graph for this function:

◆ set_var() [7/13]

void Program::set_var ( const char * name,
float val1,
float val2 )

◆ set_var() [8/13]

void Program::set_var ( const char * name,
float val1,
float val2,
float val3,
float val4 )

◆ set_var() [9/13]

void Program::set_var ( const char * name,
int * array,
int count )

◆ set_var() [10/13]

void Program::set_var ( const char * name,
int val )

◆ set_var() [11/13]

void Program::set_var ( const char * name,
Matrix m )

◆ set_var() [12/13]

void Program::set_var ( int name,
float val )

◆ set_var() [13/13]

void Program::set_var ( int name,
float val1,
float val2,
float val3,
float val4 )

◆ set_var_matrix()

void Program::set_var_matrix ( const char * name,
const std::vector< float > & v )
Here is the caller graph for this function:

◆ set_var_matrix2()

void Program::set_var_matrix2 ( const char * name,
const std::vector< float > & v,
int start )
Here is the caller graph for this function:

◆ unique_id()

uint32_t Program::unique_id ( const char * name)

◆ unuse()

void Program::unuse ( )

◆ use()

void Program::use ( )
Here is the caller graph for this function:

Member Data Documentation

◆ cache

std::unordered_map<Low_GLint, Matrix> Program::cache

◆ g_intvar_cache

std::unordered_map<Low_GLint,int> Program::g_intvar_cache

◆ g_setvar_cache

std::unordered_map<Low_GLint,float> Program::g_setvar_cache

◆ locs

std::unordered_map<uint32_t, int> Program::locs

◆ priv

ProgramPriv* Program::priv

The documentation for this class was generated from the following files: