34 #ifndef __CU_SHADER_H__
35 #define __CU_SHADER_H__
37 #include "../math/CUMathBase.h"
42 #if CU_GL_PLATFORM == CU_GL_OPENGLES
43 #define SHADER(A) "#version 300 es\n" #A
45 #define SHADER(A) "#version 140\n" #A
79 #pragma mark Constructors
86 Shader() :_program(0), _vertShader(0), _fragShader(0),
87 _vertSource(nullptr), _fragSource(nullptr),
103 #pragma mark Attributes
112 return (_vertSource ? std::string(_vertSource) :
"");
123 return (_fragSource ? std::string(_fragSource) :
"");
131 bool isReady()
const {
return _program != 0; }
153 #pragma mark Rendering
169 #pragma mark Compilation
std::string getVertSource() const
Definition: CUShader.h:111
static bool validateShader(GLuint shader, const char *type)
const char * _fragSource
Definition: CUShader.h:74
~Shader()
Definition: CUShader.h:93
static void logShaderError(GLuint shader)
GLuint _vertShader
Definition: CUShader.h:68
bool isReady() const
Definition: CUShader.h:131
GLuint getProgram() const
Definition: CUShader.h:150
bool isActive() const
Definition: CUShader.h:141
Definition: CUShader.h:62
Shader()
Definition: CUShader.h:86
static void logProgramError(GLuint shader)
GLuint _program
Definition: CUShader.h:66
GLuint _fragShader
Definition: CUShader.h:70
std::string getFragSource() const
Definition: CUShader.h:122
const char * _vertSource
Definition: CUShader.h:72
Definition: CUAnimationNode.h:52
bool _active
Definition: CUShader.h:76