HDK
|
#include <ShaderRenderer.h>
Public Types | |
using | StageMap = StringMap |
A map with name and source code for each shader stage. More... | |
Public Member Functions | |
virtual | ~ShaderRenderer () |
Setup | |
virtual void | initialize () |
Initialize the renderer. More... | |
void | setCamera (CameraPtr camera) |
Set the camera. More... | |
CameraPtr | getCamera () const |
Return the camera. More... | |
void | setImageHandler (ImageHandlerPtr imageHandler) |
Set the image handler used by this renderer for image I/O. More... | |
ImageHandlerPtr | getImageHandler () const |
Return the image handler. More... | |
void | setLightHandler (LightHandlerPtr lightHandler) |
Set the light handler used by this renderer for light bindings. More... | |
LightHandlerPtr | getLightHandler () const |
Return the light handler. More... | |
void | setGeometryHandler (GeometryHandlerPtr geometryHandler) |
Set the geometry handler. More... | |
GeometryHandlerPtr | getGeometryHandler () const |
Return the geometry handler. More... | |
Rendering | |
virtual void | createProgram (ShaderPtr shader) |
Create program based on an input shader. More... | |
virtual void | createProgram (const StageMap &stages) |
virtual void | validateInputs () |
Validate inputs for the program. More... | |
virtual void | setSize (unsigned int width, unsigned int height) |
Set the size of the rendered image. More... | |
virtual void | render () |
Render the current program to produce an image. More... | |
Utilities | |
virtual ImagePtr | captureImage (ImagePtr image=nullptr) |
Capture the current rendered output as an image. More... | |
Protected Member Functions | |
ShaderRenderer () | |
ShaderRenderer (unsigned int width, unsigned int height, Image::BaseType baseType) | |
Protected Attributes | |
unsigned int | _width |
unsigned int | _height |
Image::BaseType | _baseType |
CameraPtr | _camera |
ImageHandlerPtr | _imageHandler |
GeometryHandlerPtr | _geometryHandler |
LightHandlerPtr | _lightHandler |
Base class for renderers that generate shader code to produce images.
Definition at line 26 of file ShaderRenderer.h.
using ShaderRenderer::StageMap = StringMap |
A map with name and source code for each shader stage.
Definition at line 30 of file ShaderRenderer.h.
|
inlinevirtual |
Definition at line 33 of file ShaderRenderer.h.
|
inlineprotected |
Definition at line 122 of file ShaderRenderer.h.
|
inlineprotected |
Definition at line 128 of file ShaderRenderer.h.
Capture the current rendered output as an image.
Reimplemented in OslRenderer, and GlslRenderer.
Definition at line 114 of file ShaderRenderer.h.
Create program based on an input shader.
Reimplemented in OslRenderer, and GlslRenderer.
Create program based on shader stage source code.
stages | Map of name and source code for the shader stages. |
Reimplemented in OslRenderer, and GlslRenderer.
|
inline |
Return the camera.
Definition at line 48 of file ShaderRenderer.h.
|
inline |
Return the geometry handler.
Definition at line 84 of file ShaderRenderer.h.
|
inline |
Return the image handler.
Definition at line 60 of file ShaderRenderer.h.
|
inline |
Return the light handler.
Definition at line 72 of file ShaderRenderer.h.
|
inlinevirtual |
Initialize the renderer.
Reimplemented in GlslRenderer, and OslRenderer.
Definition at line 39 of file ShaderRenderer.h.
|
inlinevirtual |
Render the current program to produce an image.
Reimplemented in OslRenderer, and GlslRenderer.
Definition at line 107 of file ShaderRenderer.h.
Set the camera.
Definition at line 42 of file ShaderRenderer.h.
|
inline |
Set the geometry handler.
Definition at line 78 of file ShaderRenderer.h.
|
inline |
Set the image handler used by this renderer for image I/O.
Definition at line 54 of file ShaderRenderer.h.
|
inline |
Set the light handler used by this renderer for light bindings.
Definition at line 66 of file ShaderRenderer.h.
Set the size of the rendered image.
Reimplemented in OslRenderer, and GlslRenderer.
|
inlinevirtual |
Validate inputs for the program.
Reimplemented in OslRenderer, and GlslRenderer.
Definition at line 101 of file ShaderRenderer.h.
|
protected |
Definition at line 137 of file ShaderRenderer.h.
|
protected |
Definition at line 139 of file ShaderRenderer.h.
|
protected |
Definition at line 141 of file ShaderRenderer.h.
|
protected |
Definition at line 136 of file ShaderRenderer.h.
|
protected |
Definition at line 140 of file ShaderRenderer.h.
|
protected |
Definition at line 142 of file ShaderRenderer.h.
|
protected |
Definition at line 135 of file ShaderRenderer.h.