6 #ifndef MATERIALX_SHADERRENDERER_H
7 #define MATERIALX_SHADERRENDERER_H
56 _imageHandler = imageHandler;
68 _lightHandler = lightHandler;
80 _geometryHandler = geometryHandler;
86 return _geometryHandler;
98 virtual void createProgram(
const StageMap&
stages);
104 virtual void setSize(
unsigned int width,
unsigned int height);
160 _errorLog(e._errorLog)
167 _errorLog = e._errorLog;
std::shared_ptr< class Camera > CameraPtr
Shared pointer to a Camera.
ExceptionRenderError & operator=(const ExceptionRenderError &e)
virtual void validateInputs()
Validate inputs for the program.
#define MATERIALX_NAMESPACE_BEGIN
vector< string > StringVec
A vector of strings.
Image::BaseType _baseType
GeometryHandlerPtr _geometryHandler
GLenum GLsizei GLenum GLenum const void * image
ExceptionRenderError(const ExceptionRenderError &e)
virtual ~ShaderRenderer()
std::shared_ptr< class LightHandler > LightHandlerPtr
Shared pointer to a LightHandler.
Exception & operator=(const Exception &e)
StringMap StageMap
A map with name and source code for each shader stage.
GeometryHandlerPtr getGeometryHandler() const
Return the geometry handler.
ExceptionRenderError(const string &msg, const StringVec &errorLog=StringVec())
void setGeometryHandler(GeometryHandlerPtr geometryHandler)
Set the geometry handler.
LightHandlerPtr _lightHandler
const StringVec & errorLog() const
std::shared_ptr< ImageHandler > ImageHandlerPtr
Shared pointer to an ImageHandler.
ImageHandlerPtr getImageHandler() const
Return the image handler.
void setCamera(CameraPtr camera)
Set the camera.
void setImageHandler(ImageHandlerPtr imageHandler)
Set the image handler used by this renderer for image I/O.
virtual void initialize()
Initialize the renderer.
GLint GLsizei GLsizei height
std::shared_ptr< class ShaderRenderer > ShaderRendererPtr
Shared pointer to a shader renderer.
std::shared_ptr< class GeometryHandler > GeometryHandlerPtr
Shared pointer to an GeometryHandler.
LightHandlerPtr getLightHandler() const
Return the light handler.
std::unordered_map< string, string > StringMap
An unordered map with strings as both keys and values.
shared_ptr< Shader > ShaderPtr
Shared pointer to a Shader.
void setLightHandler(LightHandlerPtr lightHandler)
Set the light handler used by this renderer for light bindings.
virtual ImagePtr captureImage(ImagePtr image=nullptr)
Capture the current rendered output as an image.
#define MATERIALX_NAMESPACE_END
shared_ptr< Image > ImagePtr
A shared pointer to an image.
virtual void render()
Render the current program to produce an image.
ShaderRenderer(unsigned int width, unsigned int height, Image::BaseType baseType)
CameraPtr getCamera() const
Return the camera.
ImageHandlerPtr _imageHandler