PyMaterialXRenderMsl.MslProgram¶
- class MslProgram¶
Bases:
pybind11_objectA 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¶