# {py:mod}`simvx.core.graphics.shader_bindings` ```{py:module} simvx.core.graphics.shader_bindings ``` ```{autodoc2-docstring} simvx.core.graphics.shader_bindings :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ResourceBinding ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.ResourceBinding :summary: ``` * - {py:obj}`MaterialBindings ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MaterialBindings :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`parse_material_bindings ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.parse_material_bindings :summary: ``` * - {py:obj}`material_bindings_for_stages ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.material_bindings_for_stages :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.__all__ :summary: ``` * - {py:obj}`MATERIAL_GROUP ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MATERIAL_GROUP :summary: ``` * - {py:obj}`UNIFORM_BINDING ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.UNIFORM_BINDING :summary: ``` * - {py:obj}`MAX_MATERIAL_TEXTURES ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MAX_MATERIAL_TEXTURES :summary: ``` * - {py:obj}`MAX_MATERIAL_SAMPLERS ` - ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MAX_MATERIAL_SAMPLERS :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.core.graphics.shader_bindings.__all__ :value: > ['MATERIAL_GROUP', 'MAX_MATERIAL_SAMPLERS', 'MAX_MATERIAL_TEXTURES', 'MaterialBindings', 'ResourceBi... ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.__all__ ``` ```` ````{py:data} MATERIAL_GROUP :canonical: simvx.core.graphics.shader_bindings.MATERIAL_GROUP :value: > 2 ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MATERIAL_GROUP ``` ```` ````{py:data} UNIFORM_BINDING :canonical: simvx.core.graphics.shader_bindings.UNIFORM_BINDING :value: > 0 ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.UNIFORM_BINDING ``` ```` ````{py:data} MAX_MATERIAL_TEXTURES :canonical: simvx.core.graphics.shader_bindings.MAX_MATERIAL_TEXTURES :value: > 8 ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MAX_MATERIAL_TEXTURES ``` ```` ````{py:data} MAX_MATERIAL_SAMPLERS :canonical: simvx.core.graphics.shader_bindings.MAX_MATERIAL_SAMPLERS :value: > 4 ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MAX_MATERIAL_SAMPLERS ``` ```` `````{py:exception} ShaderBindingError() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError Bases: {py:obj}`ValueError` ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.ShaderBindingError ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.ShaderBindingError.__init__ ``` ```{py:class} __cause__ :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__cause__ ``` ```{py:class} __context__ :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__context__ ``` ````{py:method} __delattr__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__dir__ ```` ````{py:method} __eq__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__eq__ ```` ````{py:method} __format__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__format__ ```` ````{py:method} __ge__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__getattribute__ ```` ````{py:method} __getstate__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__hash__ ```` ````{py:method} __le__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__le__ ```` ````{py:method} __lt__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__lt__ ```` ````{py:method} __ne__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__ne__ ```` ````{py:method} __new__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__new__ ```` ````{py:method} __reduce__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__repr__ ```` ````{py:method} __setattr__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__setattr__ ```` ````{py:method} __setstate__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__setstate__ ```` ````{py:method} __sizeof__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__str__ ```` ````{py:method} __subclasshook__() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__subclasshook__ ```` ```{py:class} __suppress_context__ :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__suppress_context__ ``` ```{py:class} __traceback__ :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.__traceback__ ``` ````{py:method} add_note() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.add_note ```` ```{py:class} args :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.args ``` ````{py:method} with_traceback() :canonical: simvx.core.graphics.shader_bindings.ShaderBindingError.with_traceback ```` ````` `````{py:class} ResourceBinding :canonical: simvx.core.graphics.shader_bindings.ResourceBinding ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.ResourceBinding ``` ````{py:attribute} name :canonical: simvx.core.graphics.shader_bindings.ResourceBinding.name :type: str :value: > None ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.ResourceBinding.name ``` ```` ````{py:attribute} binding :canonical: simvx.core.graphics.shader_bindings.ResourceBinding.binding :type: int :value: > None ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.ResourceBinding.binding ``` ```` ````{py:attribute} line :canonical: simvx.core.graphics.shader_bindings.ResourceBinding.line :type: int :value: > None ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.ResourceBinding.line ``` ```` ````` `````{py:class} MaterialBindings :canonical: simvx.core.graphics.shader_bindings.MaterialBindings ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MaterialBindings ``` ````{py:attribute} textures :canonical: simvx.core.graphics.shader_bindings.MaterialBindings.textures :type: tuple[simvx.core.graphics.shader_bindings.ResourceBinding, ...] :value: > () ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MaterialBindings.textures ``` ```` ````{py:attribute} samplers :canonical: simvx.core.graphics.shader_bindings.MaterialBindings.samplers :type: tuple[simvx.core.graphics.shader_bindings.ResourceBinding, ...] :value: > () ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MaterialBindings.samplers ``` ```` ````{py:property} is_empty :canonical: simvx.core.graphics.shader_bindings.MaterialBindings.is_empty :type: bool ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MaterialBindings.is_empty ``` ```` ````{py:method} texture_binding(name: str) -> int :canonical: simvx.core.graphics.shader_bindings.MaterialBindings.texture_binding ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MaterialBindings.texture_binding ``` ```` ````{py:method} merged_with(other: simvx.core.graphics.shader_bindings.MaterialBindings) -> simvx.core.graphics.shader_bindings.MaterialBindings :canonical: simvx.core.graphics.shader_bindings.MaterialBindings.merged_with ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.MaterialBindings.merged_with ``` ```` ````` ````{py:function} parse_material_bindings(source: str | None, *, language: str = 'glsl') -> simvx.core.graphics.shader_bindings.MaterialBindings :canonical: simvx.core.graphics.shader_bindings.parse_material_bindings ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.parse_material_bindings ``` ```` ````{py:function} material_bindings_for_stages(vertex_source: str | None, fragment_source: str | None, *, wgsl_vertex: str | None = None, wgsl_fragment: str | None = None) -> simvx.core.graphics.shader_bindings.MaterialBindings :canonical: simvx.core.graphics.shader_bindings.material_bindings_for_stages ```{autodoc2-docstring} simvx.core.graphics.shader_bindings.material_bindings_for_stages ``` ````