--- orphan: true --- # {py:mod}`simvx.graphics._types` ```{py:module} simvx.graphics._types ``` ```{autodoc2-docstring} simvx.graphics._types :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`MeshHandle ` - ```{autodoc2-docstring} simvx.graphics._types.MeshHandle :summary: ``` * - {py:obj}`Viewport ` - ```{autodoc2-docstring} simvx.graphics._types.Viewport :summary: ``` * - {py:obj}`Feature ` - ```{autodoc2-docstring} simvx.graphics._types.Feature :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics._types.__all__ :summary: ``` * - {py:obj}`SHADER_DIR ` - ```{autodoc2-docstring} simvx.graphics._types.SHADER_DIR :summary: ``` * - {py:obj}`UI_VERTEX_STRIDE ` - ```{autodoc2-docstring} simvx.graphics._types.UI_VERTEX_STRIDE :summary: ``` * - {py:obj}`ALPHA_OPAQUE ` - ```{autodoc2-docstring} simvx.graphics._types.ALPHA_OPAQUE :summary: ``` * - {py:obj}`ALPHA_BLEND ` - ```{autodoc2-docstring} simvx.graphics._types.ALPHA_BLEND :summary: ``` * - {py:obj}`ALPHA_CUTOFF ` - ```{autodoc2-docstring} simvx.graphics._types.ALPHA_CUTOFF :summary: ``` * - {py:obj}`MAX_TEXTURES ` - ```{autodoc2-docstring} simvx.graphics._types.MAX_TEXTURES :summary: ``` * - {py:obj}`MAX_LIGHTS ` - ```{autodoc2-docstring} simvx.graphics._types.MAX_LIGHTS :summary: ``` * - {py:obj}`MAX_OBJECTS ` - ```{autodoc2-docstring} simvx.graphics._types.MAX_OBJECTS :summary: ``` * - {py:obj}`FRAMES_IN_FLIGHT ` - ```{autodoc2-docstring} simvx.graphics._types.FRAMES_IN_FLIGHT :summary: ``` * - {py:obj}`VERTEX_DTYPE ` - ```{autodoc2-docstring} simvx.graphics._types.VERTEX_DTYPE :summary: ``` * - {py:obj}`TRANSFORM_DTYPE ` - ```{autodoc2-docstring} simvx.graphics._types.TRANSFORM_DTYPE :summary: ``` * - {py:obj}`MATERIAL_DTYPE ` - ```{autodoc2-docstring} simvx.graphics._types.MATERIAL_DTYPE :summary: ``` * - {py:obj}`INDIRECT_DRAW_DTYPE ` - ```{autodoc2-docstring} simvx.graphics._types.INDIRECT_DRAW_DTYPE :summary: ``` * - {py:obj}`LIGHT_DTYPE ` - ```{autodoc2-docstring} simvx.graphics._types.LIGHT_DTYPE :summary: ``` * - {py:obj}`SKINNED_VERTEX_DTYPE ` - ```{autodoc2-docstring} simvx.graphics._types.SKINNED_VERTEX_DTYPE :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics._types.__all__ :value: > ['Feature', 'MeshHandle', 'Viewport', 'VERTEX_DTYPE', 'TRANSFORM_DTYPE', 'MATERIAL_DTYPE', 'INDIRECT... ```{autodoc2-docstring} simvx.graphics._types.__all__ ``` ```` ````{py:data} SHADER_DIR :canonical: simvx.graphics._types.SHADER_DIR :value: > None ```{autodoc2-docstring} simvx.graphics._types.SHADER_DIR ``` ```` ````{py:data} UI_VERTEX_STRIDE :canonical: simvx.graphics._types.UI_VERTEX_STRIDE :value: > 32 ```{autodoc2-docstring} simvx.graphics._types.UI_VERTEX_STRIDE ``` ```` ````{py:data} ALPHA_OPAQUE :canonical: simvx.graphics._types.ALPHA_OPAQUE :type: int :value: > 0 ```{autodoc2-docstring} simvx.graphics._types.ALPHA_OPAQUE ``` ```` ````{py:data} ALPHA_BLEND :canonical: simvx.graphics._types.ALPHA_BLEND :type: int :value: > 1 ```{autodoc2-docstring} simvx.graphics._types.ALPHA_BLEND ``` ```` ````{py:data} ALPHA_CUTOFF :canonical: simvx.graphics._types.ALPHA_CUTOFF :type: int :value: > 2 ```{autodoc2-docstring} simvx.graphics._types.ALPHA_CUTOFF ``` ```` ````{py:data} MAX_TEXTURES :canonical: simvx.graphics._types.MAX_TEXTURES :value: > 4096 ```{autodoc2-docstring} simvx.graphics._types.MAX_TEXTURES ``` ```` ````{py:data} MAX_LIGHTS :canonical: simvx.graphics._types.MAX_LIGHTS :value: > 1024 ```{autodoc2-docstring} simvx.graphics._types.MAX_LIGHTS ``` ```` ````{py:data} MAX_OBJECTS :canonical: simvx.graphics._types.MAX_OBJECTS :value: > 65536 ```{autodoc2-docstring} simvx.graphics._types.MAX_OBJECTS ``` ```` ````{py:data} FRAMES_IN_FLIGHT :canonical: simvx.graphics._types.FRAMES_IN_FLIGHT :value: > 2 ```{autodoc2-docstring} simvx.graphics._types.FRAMES_IN_FLIGHT ``` ```` `````{py:class} MeshHandle :canonical: simvx.graphics._types.MeshHandle Bases: {py:obj}`typing.NamedTuple` ```{autodoc2-docstring} simvx.graphics._types.MeshHandle ``` ````{py:attribute} id :canonical: simvx.graphics._types.MeshHandle.id :type: int :value: > None ```{autodoc2-docstring} simvx.graphics._types.MeshHandle.id ``` ```` ````{py:attribute} vertex_count :canonical: simvx.graphics._types.MeshHandle.vertex_count :type: int :value: > None ```{autodoc2-docstring} simvx.graphics._types.MeshHandle.vertex_count ``` ```` ````{py:attribute} index_count :canonical: simvx.graphics._types.MeshHandle.index_count :type: int :value: > None ```{autodoc2-docstring} simvx.graphics._types.MeshHandle.index_count ``` ```` ````{py:attribute} bounding_radius :canonical: simvx.graphics._types.MeshHandle.bounding_radius :type: float :value: > None ```{autodoc2-docstring} simvx.graphics._types.MeshHandle.bounding_radius ``` ```` ````` `````{py:class} Viewport :canonical: simvx.graphics._types.Viewport ```{autodoc2-docstring} simvx.graphics._types.Viewport ``` ````{py:attribute} x :canonical: simvx.graphics._types.Viewport.x :type: int :value: > None ```{autodoc2-docstring} simvx.graphics._types.Viewport.x ``` ```` ````{py:attribute} y :canonical: simvx.graphics._types.Viewport.y :type: int :value: > None ```{autodoc2-docstring} simvx.graphics._types.Viewport.y ``` ```` ````{py:attribute} width :canonical: simvx.graphics._types.Viewport.width :type: int :value: > None ```{autodoc2-docstring} simvx.graphics._types.Viewport.width ``` ```` ````{py:attribute} height :canonical: simvx.graphics._types.Viewport.height :type: int :value: > None ```{autodoc2-docstring} simvx.graphics._types.Viewport.height ``` ```` ````{py:attribute} camera_view :canonical: simvx.graphics._types.Viewport.camera_view :type: numpy.ndarray :value: > None ```{autodoc2-docstring} simvx.graphics._types.Viewport.camera_view ``` ```` ````{py:attribute} camera_proj :canonical: simvx.graphics._types.Viewport.camera_proj :type: numpy.ndarray :value: > None ```{autodoc2-docstring} simvx.graphics._types.Viewport.camera_proj ``` ```` ````{py:attribute} render_target :canonical: simvx.graphics._types.Viewport.render_target :type: typing.Any | None :value: > None ```{autodoc2-docstring} simvx.graphics._types.Viewport.render_target ``` ```` ````` `````{py:class} Feature() :canonical: simvx.graphics._types.Feature Bases: {py:obj}`enum.IntFlag` ```{autodoc2-docstring} simvx.graphics._types.Feature ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.graphics._types.Feature.__init__ ``` ````{py:attribute} NONE :canonical: simvx.graphics._types.Feature.NONE :value: > 0 ```{autodoc2-docstring} simvx.graphics._types.Feature.NONE ``` ```` ````{py:attribute} HAS_ALBEDO :canonical: simvx.graphics._types.Feature.HAS_ALBEDO :value: > None ```{autodoc2-docstring} simvx.graphics._types.Feature.HAS_ALBEDO ``` ```` ````{py:attribute} HAS_NORMAL :canonical: simvx.graphics._types.Feature.HAS_NORMAL :value: > None ```{autodoc2-docstring} simvx.graphics._types.Feature.HAS_NORMAL ``` ```` ````{py:attribute} HAS_METALLIC_ROUGHNESS :canonical: simvx.graphics._types.Feature.HAS_METALLIC_ROUGHNESS :value: > None ```{autodoc2-docstring} simvx.graphics._types.Feature.HAS_METALLIC_ROUGHNESS ``` ```` ````{py:attribute} HAS_EMISSIVE :canonical: simvx.graphics._types.Feature.HAS_EMISSIVE :value: > None ```{autodoc2-docstring} simvx.graphics._types.Feature.HAS_EMISSIVE ``` ```` ````{py:attribute} HAS_AO :canonical: simvx.graphics._types.Feature.HAS_AO :value: > None ```{autodoc2-docstring} simvx.graphics._types.Feature.HAS_AO ``` ```` ````{py:attribute} HAS_EMISSIVE_COLOR :canonical: simvx.graphics._types.Feature.HAS_EMISSIVE_COLOR :value: > None ```{autodoc2-docstring} simvx.graphics._types.Feature.HAS_EMISSIVE_COLOR ``` ```` ````{py:method} __abs__() :canonical: simvx.graphics._types.Feature.__abs__ ```` ````{py:method} __add__() :canonical: simvx.graphics._types.Feature.__add__ ```` ````{py:method} __and__() :canonical: simvx.graphics._types.Feature.__and__ ```` ````{py:method} __bool__() :canonical: simvx.graphics._types.Feature.__bool__ ```` ````{py:method} __ceil__() :canonical: simvx.graphics._types.Feature.__ceil__ ```` ````{py:method} __delattr__() :canonical: simvx.graphics._types.Feature.__delattr__ ```` ````{py:method} __dir__() :canonical: simvx.graphics._types.Feature.__dir__ ```` ````{py:method} __divmod__() :canonical: simvx.graphics._types.Feature.__divmod__ ```` ````{py:method} __eq__() :canonical: simvx.graphics._types.Feature.__eq__ ```` ````{py:method} __float__() :canonical: simvx.graphics._types.Feature.__float__ ```` ````{py:method} __floor__() :canonical: simvx.graphics._types.Feature.__floor__ ```` ````{py:method} __floordiv__() :canonical: simvx.graphics._types.Feature.__floordiv__ ```` ````{py:method} __format__() :canonical: simvx.graphics._types.Feature.__format__ ```` ````{py:method} __ge__() :canonical: simvx.graphics._types.Feature.__ge__ ```` ````{py:method} __getattribute__() :canonical: simvx.graphics._types.Feature.__getattribute__ ```` ````{py:method} __getnewargs__() :canonical: simvx.graphics._types.Feature.__getnewargs__ ```` ````{py:method} __getstate__() :canonical: simvx.graphics._types.Feature.__getstate__ ```` ````{py:method} __gt__() :canonical: simvx.graphics._types.Feature.__gt__ ```` ````{py:method} __hash__() :canonical: simvx.graphics._types.Feature.__hash__ ```` ````{py:method} __index__() :canonical: simvx.graphics._types.Feature.__index__ ```` ````{py:method} __int__() :canonical: simvx.graphics._types.Feature.__int__ ```` ````{py:method} __invert__() :canonical: simvx.graphics._types.Feature.__invert__ ```` ````{py:method} __le__() :canonical: simvx.graphics._types.Feature.__le__ ```` ````{py:method} __lshift__() :canonical: simvx.graphics._types.Feature.__lshift__ ```` ````{py:method} __lt__() :canonical: simvx.graphics._types.Feature.__lt__ ```` ````{py:method} __mod__() :canonical: simvx.graphics._types.Feature.__mod__ ```` ````{py:method} __mul__() :canonical: simvx.graphics._types.Feature.__mul__ ```` ````{py:method} __ne__() :canonical: simvx.graphics._types.Feature.__ne__ ```` ````{py:method} __neg__() :canonical: simvx.graphics._types.Feature.__neg__ ```` ````{py:method} __new__() :canonical: simvx.graphics._types.Feature.__new__ ```` ````{py:method} __or__() :canonical: simvx.graphics._types.Feature.__or__ ```` ````{py:method} __pos__() :canonical: simvx.graphics._types.Feature.__pos__ ```` ````{py:method} __pow__() :canonical: simvx.graphics._types.Feature.__pow__ ```` ````{py:method} __radd__() :canonical: simvx.graphics._types.Feature.__radd__ ```` ````{py:method} __rand__() :canonical: simvx.graphics._types.Feature.__rand__ ```` ````{py:method} __rdivmod__() :canonical: simvx.graphics._types.Feature.__rdivmod__ ```` ````{py:method} __reduce__() :canonical: simvx.graphics._types.Feature.__reduce__ ```` ````{py:method} __reduce_ex__() :canonical: simvx.graphics._types.Feature.__reduce_ex__ ```` ````{py:method} __repr__() :canonical: simvx.graphics._types.Feature.__repr__ ```` ````{py:method} __rfloordiv__() :canonical: simvx.graphics._types.Feature.__rfloordiv__ ```` ````{py:method} __rlshift__() :canonical: simvx.graphics._types.Feature.__rlshift__ ```` ````{py:method} __rmod__() :canonical: simvx.graphics._types.Feature.__rmod__ ```` ````{py:method} __rmul__() :canonical: simvx.graphics._types.Feature.__rmul__ ```` ````{py:method} __ror__() :canonical: simvx.graphics._types.Feature.__ror__ ```` ````{py:method} __round__() :canonical: simvx.graphics._types.Feature.__round__ ```` ````{py:method} __rpow__() :canonical: simvx.graphics._types.Feature.__rpow__ ```` ````{py:method} __rrshift__() :canonical: simvx.graphics._types.Feature.__rrshift__ ```` ````{py:method} __rshift__() :canonical: simvx.graphics._types.Feature.__rshift__ ```` ````{py:method} __rsub__() :canonical: simvx.graphics._types.Feature.__rsub__ ```` ````{py:method} __rtruediv__() :canonical: simvx.graphics._types.Feature.__rtruediv__ ```` ````{py:method} __rxor__() :canonical: simvx.graphics._types.Feature.__rxor__ ```` ````{py:method} __setattr__() :canonical: simvx.graphics._types.Feature.__setattr__ ```` ````{py:method} __sizeof__() :canonical: simvx.graphics._types.Feature.__sizeof__ ```` ````{py:method} __str__() :canonical: simvx.graphics._types.Feature.__str__ ```` ````{py:method} __sub__() :canonical: simvx.graphics._types.Feature.__sub__ ```` ````{py:method} __subclasshook__() :canonical: simvx.graphics._types.Feature.__subclasshook__ ```` ````{py:method} __truediv__() :canonical: simvx.graphics._types.Feature.__truediv__ ```` ````{py:method} __trunc__() :canonical: simvx.graphics._types.Feature.__trunc__ ```` ````{py:method} __xor__() :canonical: simvx.graphics._types.Feature.__xor__ ```` ````{py:method} as_integer_ratio() :canonical: simvx.graphics._types.Feature.as_integer_ratio ```` ````{py:method} bit_count() :canonical: simvx.graphics._types.Feature.bit_count ```` ````{py:method} bit_length() :canonical: simvx.graphics._types.Feature.bit_length ```` ````{py:method} conjugate() :canonical: simvx.graphics._types.Feature.conjugate ```` ```{py:class} denominator :canonical: simvx.graphics._types.Feature.denominator ``` ```{py:class} imag :canonical: simvx.graphics._types.Feature.imag ``` ````{py:method} is_integer() :canonical: simvx.graphics._types.Feature.is_integer ```` ```{py:class} numerator :canonical: simvx.graphics._types.Feature.numerator ``` ```{py:class} real :canonical: simvx.graphics._types.Feature.real ``` ````{py:method} to_bytes() :canonical: simvx.graphics._types.Feature.to_bytes ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.graphics._types.Feature.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.graphics._types.Feature.__copy__ ```` ````{py:method} name() :canonical: simvx.graphics._types.Feature.name ```` ````{py:method} value() :canonical: simvx.graphics._types.Feature.value ```` ````{py:method} __contains__(other) :canonical: simvx.graphics._types.Feature.__contains__ ```` ````{py:method} __iter__() :canonical: simvx.graphics._types.Feature.__iter__ ```` ````{py:method} __len__() :canonical: simvx.graphics._types.Feature.__len__ ```` ````` ````{py:data} VERTEX_DTYPE :canonical: simvx.graphics._types.VERTEX_DTYPE :value: > 'dtype(...)' ```{autodoc2-docstring} simvx.graphics._types.VERTEX_DTYPE ``` ```` ````{py:data} TRANSFORM_DTYPE :canonical: simvx.graphics._types.TRANSFORM_DTYPE :value: > 'dtype(...)' ```{autodoc2-docstring} simvx.graphics._types.TRANSFORM_DTYPE ``` ```` ````{py:data} MATERIAL_DTYPE :canonical: simvx.graphics._types.MATERIAL_DTYPE :value: > 'dtype(...)' ```{autodoc2-docstring} simvx.graphics._types.MATERIAL_DTYPE ``` ```` ````{py:data} INDIRECT_DRAW_DTYPE :canonical: simvx.graphics._types.INDIRECT_DRAW_DTYPE :value: > 'dtype(...)' ```{autodoc2-docstring} simvx.graphics._types.INDIRECT_DRAW_DTYPE ``` ```` ````{py:data} LIGHT_DTYPE :canonical: simvx.graphics._types.LIGHT_DTYPE :value: > 'dtype(...)' ```{autodoc2-docstring} simvx.graphics._types.LIGHT_DTYPE ``` ```` ````{py:data} SKINNED_VERTEX_DTYPE :canonical: simvx.graphics._types.SKINNED_VERTEX_DTYPE :value: > 'dtype(...)' ```{autodoc2-docstring} simvx.graphics._types.SKINNED_VERTEX_DTYPE ``` ````