|
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. | |
Public Member Functions inherited from ShaderRenderer | |
| 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 () |
Protected Member Functions inherited from ShaderRenderer | |
| ShaderRenderer (unsigned int width, unsigned int height, Image::BaseType baseType) | |
Additional Inherited Members | |
Public Types inherited from ShaderRenderer | |
| using | StageMap = StringMap |
| A map with name and source code for each shader stage. | |
Protected Attributes inherited from ShaderRenderer | |
| 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.