12#ifndef SHADERMANAGER_H_6014714286
13#define SHADERMANAGER_H_6014714286
19#include <Carna/Carna.h>
49 const std::unique_ptr< Details > pimpl;
Defines Carna::base::Singleton.
Represents an association.
Ensures that each shader is built just once and not each time someone requests it.
ShaderManager()
Instantiates.
const ShaderProgram & acquireShader(const std::string &shaderName)
References shader named shaderName.
void releaseShader(const ShaderProgram &shader)
Releases previously acquired shader.
void removeSource(const std::string &srcName)
Removes any previously set shader sources named srcName.
virtual ~ShaderManager()
Deletes.
void setSource(const std::string &srcName, const std::string &src)
Sets shader sources named srcName to src.
Maintains an OpenGL shader program. Realizes the RAII-idiom.
#define NON_COPYABLE
Features class it is placed in as non-copyable.