PICCANTE  0.4
The hottest HDR imaging library!
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
pic::pic::TechniqueGL Class Reference

The TechniqueGL class. More...

#include <display.hpp>

Public Member Functions

 TechniqueGL ()
 TechniqueGL. More...
 
 ~TechniqueGL ()
 
bool isValid ()
 
bool init (std::string version_number, std::string vertex_shader_source, std::string fragment_shader_source)
 
bool init (std::string version_number, std::string vertex_shader_source, std::string fragment_shader_source, std::string geomety_shader_source)
 
bool initCompute (std::string version_number, std::string compute_shader_source)
 
bool initStandard (std::string version_number, std::string vertex_shader_source, std::string fragment_shader_source, std::string name)
 initStandard More...
 
bool initStandard (std::string version_number, std::string vertex_shader_source, std::string fragment_shader_source, std::string geometry_shader_source, std::string name)
 initStandard More...
 
void printLog (std::string name)
 printLog More...
 
void bind ()
 bind More...
 
void unbind ()
 unbind More...
 
void link ()
 link More...
 
void setOutputFragmentShaderIndex (const char *fragment_output_color_name, unsigned int index)
 setOutputFragmentShaderIndex More...
 
void setAttributeIndex (const char *attribute_name, unsigned int index)
 setAttributeIndex More...
 
void setUniform1i (const char *name_uniform, int value0)
 SetUniform. More...
 
void setUniform1f (const char *name_uniform, float value0)
 SetUniform1f. More...
 
void setUniform2f (const char *name_uniform, float value0, float value1)
 setUniform More...
 
void setUniform3f (const char *name_uniform, float value0, float value1, float value2)
 setUniform More...
 
void setUniform4f (const char *name_uniform, float value0, float value1, float value2, float value3)
 setUniform4f More...
 
void setUniform3x3 (const char *name_uniform, const float *matrix, bool bTranspose)
 setUniform3x3 More...
 
void setUniform4x4 (const char *name_uniform, const float *matrix, bool bTranspose)
 setUniform4x4 More...
 
void setUniform3fv (const char *name_uniform, const float *value)
 setUniform3 More...
 
void setUniform4fv (const char *name_uniform, const float *value)
 setUniform4 More...
 

Protected Member Functions

GLuint getLocation (const char *name)
 getLocation More...
 

Protected Attributes

std::vector< ProgramGL * > shaders
 
ProgramGL main
 

Detailed Description

The TechniqueGL class.

Constructor & Destructor Documentation

◆ TechniqueGL()

pic::pic::TechniqueGL::TechniqueGL ( )
inline

◆ ~TechniqueGL()

pic::pic::TechniqueGL::~TechniqueGL ( )
inline

Member Function Documentation

◆ bind()

void pic::pic::TechniqueGL::bind ( )
inline

bind

◆ getLocation()

GLuint pic::pic::TechniqueGL::getLocation ( const char *  name)
inlineprotected

getLocation

Parameters
name
Returns

◆ init() [1/2]

bool pic::pic::TechniqueGL::init ( std::string  version_number,
std::string  vertex_shader_source,
std::string  fragment_shader_source 
)
inline

◆ init() [2/2]

bool pic::pic::TechniqueGL::init ( std::string  version_number,
std::string  vertex_shader_source,
std::string  fragment_shader_source,
std::string  geomety_shader_source 
)
inline

◆ initCompute()

bool pic::pic::TechniqueGL::initCompute ( std::string  version_number,
std::string  compute_shader_source 
)
inline

◆ initStandard() [1/2]

bool pic::pic::TechniqueGL::initStandard ( std::string  version_number,
std::string  vertex_shader_source,
std::string  fragment_shader_source,
std::string  name 
)
inline

initStandard

Parameters
version_number
vertex_shader_source
fragment_shader_source
name
Returns

◆ initStandard() [2/2]

bool pic::pic::TechniqueGL::initStandard ( std::string  version_number,
std::string  vertex_shader_source,
std::string  fragment_shader_source,
std::string  geometry_shader_source,
std::string  name 
)
inline

initStandard

Parameters
version_number
vertex_shader_source
fragment_shader_source
geometry_shader_source
name
Returns

◆ isValid()

bool pic::pic::TechniqueGL::isValid ( )
inline

◆ link()

void pic::pic::TechniqueGL::link ( )
inline

link

◆ printLog()

void pic::pic::TechniqueGL::printLog ( std::string  name)
inline

printLog

Parameters
name

◆ setAttributeIndex()

void pic::pic::TechniqueGL::setAttributeIndex ( const char *  attribute_name,
unsigned int  index 
)
inline

setAttributeIndex

Parameters
attribute_name
index

◆ setOutputFragmentShaderIndex()

void pic::pic::TechniqueGL::setOutputFragmentShaderIndex ( const char *  fragment_output_color_name,
unsigned int  index 
)
inline

setOutputFragmentShaderIndex

Parameters
fragment_output_color_name
index

◆ setUniform1f()

void pic::pic::TechniqueGL::setUniform1f ( const char *  name_uniform,
float  value0 
)
inline

SetUniform1f.

Parameters
name_uniform
value0

◆ setUniform1i()

void pic::pic::TechniqueGL::setUniform1i ( const char *  name_uniform,
int  value0 
)
inline

SetUniform.

Parameters
name_uniform
value0

◆ setUniform2f()

void pic::pic::TechniqueGL::setUniform2f ( const char *  name_uniform,
float  value0,
float  value1 
)
inline

setUniform

Parameters
name_uniform
value0
value1

◆ setUniform3f()

void pic::pic::TechniqueGL::setUniform3f ( const char *  name_uniform,
float  value0,
float  value1,
float  value2 
)
inline

setUniform

Parameters
name_uniform
value0
value1
value2

◆ setUniform3fv()

void pic::pic::TechniqueGL::setUniform3fv ( const char *  name_uniform,
const float *  value 
)
inline

setUniform3

Parameters
name_uniform
value

◆ setUniform3x3()

void pic::pic::TechniqueGL::setUniform3x3 ( const char *  name_uniform,
const float *  matrix,
bool  bTranspose 
)
inline

setUniform3x3

Parameters
name_uniform
matrix
bTranspose

◆ setUniform4f()

void pic::pic::TechniqueGL::setUniform4f ( const char *  name_uniform,
float  value0,
float  value1,
float  value2,
float  value3 
)
inline

setUniform4f

Parameters
name_uniform
value0
value1
value2
value3

◆ setUniform4fv()

void pic::pic::TechniqueGL::setUniform4fv ( const char *  name_uniform,
const float *  value 
)
inline

setUniform4

Parameters
name_uniform
value

◆ setUniform4x4()

void pic::pic::TechniqueGL::setUniform4x4 ( const char *  name_uniform,
const float *  matrix,
bool  bTranspose 
)
inline

setUniform4x4

Parameters
name_uniform
matrix
bTranspose

◆ unbind()

void pic::pic::TechniqueGL::unbind ( )
inline

unbind

Member Data Documentation

◆ main

ProgramGL pic::pic::TechniqueGL::main
protected

◆ shaders

std::vector<ProgramGL*> pic::pic::TechniqueGL::shaders
protected

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