PyMaterialXRenderGlsl.GlslRenderer

class GlslRenderer

Bases: ShaderRenderer

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:
  • Validation: All shader stages are compiled and atteched to a GLSL shader program.

  • Introspection: The compiled shader program is examined for uniforms and attributes.

  • Binding: Uniforms and attributes which match the predefined variables generated the GLSL code generator will have values assigned to this. This includes matrices, attribute streams, and textures.

  • Rendering: The program with bound inputs will be used to drawing geometry to an offscreen buffer. An interface is provided to save this offscreen buffer to disk using an externally defined image handler.

See:

https://materialx.org/docs/api/class_glsl_renderer.html

Methods

__init__(*args, **kwargs)

captureImage(self, arg0)

create(arg0, arg1, arg2)

createProgram(*args, **kwargs)

Overloaded function.

getProgram(self)

initialize(self[, renderContextHandle])

render(self)

renderTextureSpace(self, arg0, arg1)

validateInputs(self)

Methods

__init__(*args, **kwargs)
captureImage(self: GlslRenderer, arg0: Image) Image
static create(arg0: int, arg1: int, arg2: BaseType) GlslRenderer
createProgram(*args, **kwargs)

Overloaded function.

  1. createProgram(self: PyMaterialXRenderGlsl.GlslRenderer, arg0: PyMaterialXGenShader.Shader) -> None

  2. createProgram(self: PyMaterialXRenderGlsl.GlslRenderer, arg0: dict[str, str]) -> None

getProgram(self: GlslRenderer) GlslProgram
initialize(self: GlslRenderer, renderContextHandle: capsule = None) None
render(self: GlslRenderer) None
renderTextureSpace(self: GlslRenderer, arg0: Vector2, arg1: Vector2) None
validateInputs(self: GlslRenderer) None