MaterialX 1.38.2
|
Helper class for rendering generated GLSL code to produce images. More...
#include <GlslRenderer.h>
Public Member Functions | |
virtual | ~GlslRenderer () |
Destructor. | |
Setup | |
void | initialize () override |
Internal initialization of stages and OpenGL constructs required for program validation and rendering. More... | |
Rendering | |
void | createProgram (ShaderPtr shader) override |
Create GLSL program based on an input shader. More... | |
void | createProgram (const StageMap &stages) override |
Create GLSL program based on shader stage source code. More... | |
void | validateInputs () override |
Validate inputs for the program. More... | |
void | setSize (unsigned int width, unsigned int height) override |
Set the size of the rendered image. More... | |
void | render () override |
Render the current program to an offscreen buffer. More... | |
void | renderTextureSpace () |
Render the current program in texture space to an off-screen buffer. | |
Utilities | |
ImagePtr | captureImage (ImagePtr image=nullptr) override |
Capture the current contents of the off-screen hardware buffer as an image. More... | |
GLFrameBufferPtr | getFrameBuffer () const |
Return the GL frame buffer. | |
GlslProgramPtr | getProgram () |
Return the GLSL program. | |
void | drawScreenSpaceQuad () |
Submit geometry for a screen-space quad. | |
void | setClearColor (const Color4 &clearColor) |
Sets the clear color. | |
![]() | |
void | setImageHandler (ImageHandlerPtr imageHandler) |
Set the image handler used by this renderer for image I/O. | |
ImageHandlerPtr | getImageHandler () const |
Return the image handler. | |
void | setLightHandler (LightHandlerPtr lightHandler) |
Set the light handler used by this renderer for light bindings. | |
LightHandlerPtr | getLightHandler () const |
Return the light handler. | |
void | setGeometryHandler (GeometryHandlerPtr geometryHandler) |
Set the geometry handler. | |
GeometryHandlerPtr | getGeometryHandler () const |
Return the geometry handler. | |
void | setViewHandler (ViewHandlerPtr viewHandler) |
Set the view handler. | |
ViewHandlerPtr | getViewHandler () const |
Return the view handler. | |
Static Public Member Functions | |
static GlslRendererPtr | create (unsigned int width=512, unsigned int height=512, Image::BaseType baseType=Image::BaseType::UINT8) |
Create a GLSL renderer instance. | |
Protected Member Functions | |
GlslRenderer (unsigned int width, unsigned int height, Image::BaseType baseType) | |
virtual void | updateViewInformation () |
virtual void | updateWorldInformation () |
![]() | |
ShaderRenderer (unsigned int width, unsigned int height, Image::BaseType baseType) | |
Additional Inherited Members | |
![]() | |
using | StageMap = StringMap |
A map with name and source code for each shader stage. | |
![]() | |
unsigned int | _width |
unsigned int | _height |
Image::BaseType | _baseType |
ImageHandlerPtr | _imageHandler |
GeometryHandlerPtr | _geometryHandler |
LightHandlerPtr | _lightHandler |
ViewHandlerPtr | _viewHandler |
Helper class for rendering generated GLSL code to produce images.
There are two main interfaces which can be used. One which takes in a HwShader and one which allows for explicit setting of shader stage code.
The main services provided are:
Capture the current contents of the off-screen hardware buffer as an image.
Reimplemented from ShaderRenderer.
|
overridevirtual |
Create GLSL program based on shader stage source code.
stages | Map of name and source code for the shader stages. |
Reimplemented from ShaderRenderer.
|
overridevirtual |
Create GLSL program based on an input shader.
shader | Input HwShader |
Reimplemented from ShaderRenderer.
|
overridevirtual |
Internal initialization of stages and OpenGL constructs required for program validation and rendering.
An exception is thrown on failure. The exception will contain a list of initialization errors.
Reimplemented from ShaderRenderer.
|
overridevirtual |
Render the current program to an offscreen buffer.
Reimplemented from ShaderRenderer.
|
overridevirtual |
Set the size of the rendered image.
Reimplemented from ShaderRenderer.
|
overridevirtual |
Validate inputs for the program.
Reimplemented from ShaderRenderer.