38 namespace cinder {
namespace gl {
54 {
return std::shared_ptr<GlslProg>(
new GlslProg( vertexShader, fragmentShader, geometryShader, geometryInputType, geometryOutputType, geometryOutputVertices ) ); }
55 static GlslProgRef create(
const char *vertexShader,
const char *fragmentShader = 0,
const char *geometryShader = 0,
57 {
return std::shared_ptr<GlslProg>(
new GlslProg( vertexShader, fragmentShader, geometryShader, geometryInputType, geometryOutputType, geometryOutputVertices ) ); }
119 virtual const char*
what()
const throw()
125 char mMessage[16001];
131 virtual const char*
what()
const throw()
133 return "Glsl: Attempt to use null shader";
void bind() const
Definition: GlslProg.cpp:112
GLsizei const GLchar ** string
Definition: GLee.h:2427
GLuint getHandle() const
Definition: GlslProg.h:63
~Obj()
Definition: GlslProg.cpp:30
std::map< std::string, int > mUniformLocs
Definition: GlslProg.h:102
void loadShader(Buffer shaderSourceBuffer, GLint shaderType)
Definition: GlslProg.cpp:82
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: GLee.h:1011
Obj()
Definition: GlslProg.h:98
Definition: GlslProg.h:116
static void unbind()
Definition: GlslProg.cpp:117
Represents an OpenGL GLSL program. Implicitly shared object.
Definition: GlslProg.h:44
virtual const char * what() const
Definition: GlslProg.h:131
#define GL_TRIANGLES
Definition: gldx.h:112
std::string getShaderLog(GLuint handle) const
Definition: GlslProg.cpp:122
unsigned int GLuint
Definition: gldx.h:55
static GlslProgRef create(const char *vertexShader, const char *fragmentShader=0, const char *geometryShader=0, GLint geometryInputType=GL_POINTS, GLint geometryOutputType=GL_TRIANGLES, GLint geometryOutputVertices=0)
Definition: GlslProg.h:55
GLint getUniformLocation(const std::string &name)
Definition: GlslProg.cpp:260
Definition: GlslProg.h:129
static GlslProgRef create(DataSourceRef vertexShader, DataSourceRef fragmentShader=DataSourceRef(), DataSourceRef geometryShader=DataSourceRef(), GLint geometryInputType=GL_POINTS, GLint geometryOutputType=GL_TRIANGLES, GLint geometryOutputVertices=0)
Definition: GlslProg.h:52
GLuint GLuint GLsizei count
Definition: GLee.h:963
GlslProg()
Definition: GlslProg.h:46
#define GL_POINTS
Definition: gldx.h:108
GLsizei GLboolean transpose
Definition: GLee.h:2535
void link()
Definition: GlslProg.cpp:107
void reset()
Emulates shared_ptr-like behavior.
Definition: GlslProg.h:112
GLuint mHandle
Definition: GlslProg.h:101
GLuint const GLchar * name
Definition: GLee.h:2259
Definition: Matrix22.h:37
int GLint
Definition: gldx.h:51
std::shared_ptr< Obj > GlslProg::* unspecified_bool_type
Emulates shared_ptr-like behavior.
Definition: GlslProg.h:110
Definition: GlslProg.h:97
virtual const char * what() const
Definition: GlslProg.h:119
void uniform(const std::string &name, int data)
Definition: GlslProg.cpp:140
std::shared_ptr< class DataSource > DataSourceRef
Definition: DataSource.h:35
std::shared_ptr< GlslProg > GlslProgRef
Definition: GlslProg.h:40
GlslProgCompileExc(const std::string &log, GLint aShaderType)
Definition: GlslProg.cpp:279
Definition: Matrix33.h:37
GLint getAttribLocation(const std::string &name)
Definition: GlslProg.cpp:272
std::shared_ptr< Obj > mObj
Definition: GlslProg.h:105