PyMaterialXRenderMsl.MslProgram

class MslProgram

Bases: pybind11_object

A class representing an executable MSL program.

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.

Methods

__init__(*args, **kwargs)

addStage(self, arg0, arg1)

bind(self, arg0)

bindAttribute(self, arg0, arg1, ...)

bindLighting(self, arg0, arg1)

bindMesh(self, arg0, arg1)

bindPartition(self, arg0)

bindTextures(self, arg0, arg1, arg2)

bindTimeAndFrame(self[, time, frame])

bindUniform(self, arg0, arg1, arg2)

bindViewInformation(self, arg0)

build(self, arg0, arg1)

create()

findInputs(self, arg0, arg1, arg2, arg3)

getAttributesList(self)

getShader(self)

getStageSourceCode(self, arg0)

getUniformsList(self)

prepareUsedResources(self, arg0, arg1, arg2, ...)

setStages(self, arg0)

unbindGeometry(self)

Methods

__init__(*args, **kwargs)
addStage(self: MslProgram, arg0: str, arg1: str) None
bind(self: MslProgram, arg0: objc_object<MTLRenderCommandEncoder>) bool
bindAttribute(self: MslProgram, arg0: objc_object<MTLRenderCommandEncoder>, arg1: dict[str, PyMaterialXRenderMsl.Input], arg2: Mesh) None
bindLighting(self: MslProgram, arg0: LightHandler, arg1: ImageHandler) None
bindMesh(self: MslProgram, arg0: objc_object<MTLRenderCommandEncoder>, arg1: Mesh) None
bindPartition(self: MslProgram, arg0: MeshPartition) None
bindTextures(self: MslProgram, arg0: objc_object<MTLRenderCommandEncoder>, arg1: LightHandler, arg2: ImageHandler) None
bindTimeAndFrame(self: MslProgram, time: float = 1.0, frame: float = 1.0) None
bindUniform(self: MslProgram, arg0: str, arg1: Value, arg2: bool) None
bindViewInformation(self: MslProgram, arg0: Camera) None
build(self: MslProgram, arg0: objc_object<MTLDevice>, arg1: MetalFramebuffer) objc_object<MTLRenderPipelineState>
static create() MslProgram
findInputs(self: MslProgram, arg0: str, arg1: dict[str, PyMaterialXRenderMsl.Input], arg2: dict[str, PyMaterialXRenderMsl.Input], arg3: bool) None
getAttributesList(self: MslProgram) dict[str, PyMaterialXRenderMsl.Input]
getShader(self: MslProgram) Shader
getStageSourceCode(self: MslProgram, arg0: str) str
getUniformsList(self: MslProgram) dict[str, PyMaterialXRenderMsl.Input]
prepareUsedResources(self: MslProgram, arg0: objc_object<MTLRenderCommandEncoder>, arg1: Camera, arg2: GeometryHandler, arg3: ImageHandler, arg4: LightHandler) None
setStages(self: MslProgram, arg0: Shader) None
unbindGeometry(self: MslProgram) None