6#ifndef MATERIALX_GLSLRENDERER_H
7#define MATERIALX_GLSLRENDERER_H
23using SimpleWindowPtr = std::shared_ptr<class SimpleWindow>;
46 static GlslRendererPtr create(
unsigned int width = 512,
unsigned int height = 512, Image::BaseType baseType = Image::BaseType::UINT8);
58 void initialize()
override;
66 void createProgram(
ShaderPtr shader)
override;
70 void createProgram(
const StageMap& stages)
override;
73 void validateInputs()
override;
76 void setSize(
unsigned int width,
unsigned int height)
override;
79 void render()
override;
82 void renderTextureSpace();
104 void drawScreenSpaceQuad();
107 void setClearColor(
const Color4& clearColor);
112 GlslRenderer(
unsigned int width,
unsigned int height, Image::BaseType baseType);
114 virtual void updateViewInformation();
115 virtual void updateWorldInformation();
118 GlslProgramPtr _program;
129 SimpleWindowPtr _window;
std::shared_ptr< class GLContext > GLContextPtr
GLContext shared pointer.
Definition: GLContext.h:38
OpenGL framebuffer handling.
std::shared_ptr< GLFramebuffer > GLFrameBufferPtr
Shared pointer to a GLFramebuffer.
Definition: GLFramebuffer.h:22
std::shared_ptr< class GlslRenderer > GlslRendererPtr
Shared pointer to a GlslRenderer.
Definition: GlslRenderer.h:26
shared_ptr< Image > ImagePtr
A shared pointer to an image.
Definition: Image.h:24
shared_ptr< Shader > ShaderPtr
Shared pointer to a Shader.
Definition: Library.h:34
Macros for declaring imported and exported symbols.
Base class for shader rendering.
A four-component color value.
Definition: Types.h:389
Helper class for rendering generated GLSL code to produce images.
Definition: GlslRenderer.h:43
GLFrameBufferPtr getFrameBuffer() const
Return the GL frame buffer.
Definition: GlslRenderer.h:92
GlslProgramPtr getProgram()
Return the GLSL program.
Definition: GlslRenderer.h:98
virtual ~GlslRenderer()
Destructor.
Definition: GlslRenderer.h:49
Base class for renderers that generate shader code to produce images.
Definition: ShaderRenderer.h:29
A vector of three floating-point values.
Definition: Types.h:303