renderstack::uniform_parameter_source Class Reference

container for parameters

#include <uniform_bindings.hpp>

Public Member Functions

void * parameter (std::string const &name)
uint_parameteradd_uint (std::string const &name, int size=1)
float_parameteradd_float (std::string const &name, int size=1)
vec2_parameteradd_vec2 (std::string const &name, int size=1)
vec3_parameteradd_vec3 (std::string const &name, int size=1)
vec4_parameteradd_vec4 (std::string const &name, int size=1)
matrix_parameteradd_matrix (std::string const &name, int size=1)
texture_parameteradd_texture (std::string const &name, int size=1)

Detailed Description

Definition at line 278 of file uniform_bindings.hpp.


Member Function Documentation

void * renderstack::uniform_parameter_source::parameter ( std::string const &  name  ) 

Definition at line 261 of file uniform_bindings.cpp.

00262 {
00263     std::map<std::string, void*>::const_iterator i = m_parameters.find(name);
00264     if(i != m_parameters.end())
00265     {
00266         return (*i).second;
00267     }
00268     return NULL;
00269 }

uint_parameter* renderstack::uniform_parameter_source::add_uint ( std::string const &  name,
int  size = 1 
) [inline]

Definition at line 282 of file uniform_bindings.hpp.

00283     {
00284         std::tr1::shared_ptr<uint_parameter> p(new uint_parameter(name, size));
00285         m_uint_parameters.push_back(p);
00286         m_parameters.insert(std::make_pair(name, &p->value[0]));
00287         return p.get();
00288     }

float_parameter* renderstack::uniform_parameter_source::add_float ( std::string const &  name,
int  size = 1 
) [inline]

Definition at line 289 of file uniform_bindings.hpp.

00290     {
00291         std::tr1::shared_ptr<float_parameter> p(new float_parameter(name, size));
00292         m_float_parameters.push_back(p);
00293         m_parameters.insert(std::make_pair(name, &p->value[0]));
00294         return p.get();
00295     }

vec2_parameter* renderstack::uniform_parameter_source::add_vec2 ( std::string const &  name,
int  size = 1 
) [inline]

Definition at line 296 of file uniform_bindings.hpp.

00297     {
00298         std::tr1::shared_ptr<vec2_parameter> p(new vec2_parameter(name, size));
00299         m_vec2_parameters.push_back(p);
00300         m_parameters.insert(std::make_pair(name, &p->value[0].x));
00301         return p.get();
00302     }

vec3_parameter* renderstack::uniform_parameter_source::add_vec3 ( std::string const &  name,
int  size = 1 
) [inline]

Definition at line 303 of file uniform_bindings.hpp.

00304     {
00305         std::tr1::shared_ptr<vec3_parameter> p(new vec3_parameter(name, size));
00306         m_vec3_parameters.push_back(p);
00307         m_parameters.insert(std::make_pair(name, &p->value[0].x));
00308         return p.get();
00309     }

vec4_parameter* renderstack::uniform_parameter_source::add_vec4 ( std::string const &  name,
int  size = 1 
) [inline]

Definition at line 310 of file uniform_bindings.hpp.

00311     {
00312         std::tr1::shared_ptr<vec4_parameter> p(new vec4_parameter(name, size));
00313         m_vec4_parameters.push_back(p);
00314         m_parameters.insert(std::make_pair(name, &p->value[0].x));
00315         return p.get();
00316     }

matrix_parameter* renderstack::uniform_parameter_source::add_matrix ( std::string const &  name,
int  size = 1 
) [inline]

Definition at line 317 of file uniform_bindings.hpp.

00318     {
00319         std::tr1::shared_ptr<matrix_parameter> p(new matrix_parameter(name, size));
00320         m_matrix_parameters.push_back(p);
00321         m_parameters.insert(std::make_pair(name, &p->value[0].m[0][0]));
00322         return p.get();
00323     }

texture_parameter* renderstack::uniform_parameter_source::add_texture ( std::string const &  name,
int  size = 1 
) [inline]

Definition at line 325 of file uniform_bindings.hpp.

00326     {
00327         std::tr1::shared_ptr<texture_parameter> p(new texture_parameter(name, size));
00328         m_texture_parameters.push_back(p);
00329         texture_binding *binding = &p->value[0];
00330         void *v = reinterpret_cast<void *>(binding);
00331         m_parameters.insert(std::make_pair(name, v));
00332         //m_parameters.insert(std::make_pair(name, &p->value[0]));
00333         return p.get();
00334     }


The documentation for this class was generated from the following files:
Generated on Sun Apr 11 12:23:12 2010 for RenderStack by  doxygen 1.6.3