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