| 161 | typedef unsigned char uchar; |
| 162 | |
| 163 | class ShaderProgram { |
| 164 | private: |
| 165 | gl::GLuint mVertex; |
| 166 | gl::GLuint mFragment; |
| 167 | gl::GLuint mGeometry; |
| 168 | gl::GLuint mProgram; |
| 169 | |
| 170 | public: |
| 171 | ShaderProgram(const char* pVertShaderSrc, |
| 172 | const char* pFragShaderSrc, |
| 173 | const char* pGeomShaderSrc=NULL); |
| 174 | |
| 175 | ~ShaderProgram(); |
| 176 | |
| 177 | gl::GLuint getProgramId() const; |
| 178 | |
| 179 | gl::GLuint getUniformLocation(const char* pAttributeName); |
| 180 | gl::GLuint getUniformBlockIndex(const char* pAttributeName); |
| 181 | gl::GLuint getAttributeLocation(const char* pAttributeName); |
| 182 | |
| 183 | void bind(); |
| 184 | void unbind(); |
| 185 | }; |
| 186 | |
| 187 | /* Basic renderable class |
| 188 | * |
nothing calls this directly
no outgoing calls
no test coverage detected