# {py:mod}`simvx.graphics.render2d.submit` ```{py:module} simvx.graphics.render2d.submit ``` ```{autodoc2-docstring} simvx.graphics.render2d.submit :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ItemSubmitter ` - ```{autodoc2-docstring} simvx.graphics.render2d.submit.ItemSubmitter :summary: ``` * - {py:obj}`BindlessItemSubmitter ` - ```{autodoc2-docstring} simvx.graphics.render2d.submit.BindlessItemSubmitter :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`build_item_ops ` - ```{autodoc2-docstring} simvx.graphics.render2d.submit.build_item_ops :summary: ``` * - {py:obj}`camera_affine_from_tree ` - ```{autodoc2-docstring} simvx.graphics.render2d.submit.camera_affine_from_tree :summary: ``` * - {py:obj}`item_in_hdr_lane ` - ```{autodoc2-docstring} simvx.graphics.render2d.submit.item_in_hdr_lane :summary: ``` * - {py:obj}`build_bindless_geometry ` - ```{autodoc2-docstring} simvx.graphics.render2d.submit.build_bindless_geometry :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics.render2d.submit.__all__ :summary: ``` * - {py:obj}`CameraAffine ` - ```{autodoc2-docstring} simvx.graphics.render2d.submit.CameraAffine :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics.render2d.submit.__all__ :value: > ['ItemSubmitter', 'BindlessItemSubmitter', 'CameraAffine', 'build_item_ops', 'build_bindless_geometr... ```{autodoc2-docstring} simvx.graphics.render2d.submit.__all__ ``` ```` ````{py:data} CameraAffine :canonical: simvx.graphics.render2d.submit.CameraAffine :value: > None ```{autodoc2-docstring} simvx.graphics.render2d.submit.CameraAffine ``` ```` ````{py:function} build_item_ops(view: simvx.graphics.render2d.publish.PublishedItemView, *, camera: simvx.graphics.render2d.submit.CameraAffine = _IDENTITY_CAMERA) -> list[simvx.graphics.draw2d_ops.Op] :canonical: simvx.graphics.render2d.submit.build_item_ops ```{autodoc2-docstring} simvx.graphics.render2d.submit.build_item_ops ``` ```` `````{py:class} ItemSubmitter(draw2d_pass: typing.Any) :canonical: simvx.graphics.render2d.submit.ItemSubmitter ```{autodoc2-docstring} simvx.graphics.render2d.submit.ItemSubmitter ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.graphics.render2d.submit.ItemSubmitter.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.graphics.render2d.submit.ItemSubmitter.__slots__ :value: > ('_draw2d_pass', '_cache_key', '_cached_ops', '_build_count', '_reuse_count') ```{autodoc2-docstring} simvx.graphics.render2d.submit.ItemSubmitter.__slots__ ``` ```` ````{py:method} render(cmd: typing.Any, view: simvx.graphics.render2d.publish.PublishedItemView, width: int, height: int, *, ui_width: int = 0, ui_height: int = 0, camera: simvx.graphics.render2d.submit.CameraAffine = _IDENTITY_CAMERA) -> None :canonical: simvx.graphics.render2d.submit.ItemSubmitter.render ```{autodoc2-docstring} simvx.graphics.render2d.submit.ItemSubmitter.render ``` ```` ````{py:property} last_frame_draw_count :canonical: simvx.graphics.render2d.submit.ItemSubmitter.last_frame_draw_count :type: int ```{autodoc2-docstring} simvx.graphics.render2d.submit.ItemSubmitter.last_frame_draw_count ``` ```` ````{py:property} build_count :canonical: simvx.graphics.render2d.submit.ItemSubmitter.build_count :type: int ```{autodoc2-docstring} simvx.graphics.render2d.submit.ItemSubmitter.build_count ``` ```` ````{py:property} reuse_count :canonical: simvx.graphics.render2d.submit.ItemSubmitter.reuse_count :type: int ```{autodoc2-docstring} simvx.graphics.render2d.submit.ItemSubmitter.reuse_count ``` ```` ````` ````{py:function} camera_affine_from_tree(tree: typing.Any) -> simvx.graphics.render2d.submit.CameraAffine :canonical: simvx.graphics.render2d.submit.camera_affine_from_tree ```{autodoc2-docstring} simvx.graphics.render2d.submit.camera_affine_from_tree ``` ```` ````{py:function} item_in_hdr_lane(item_flags: int) -> bool :canonical: simvx.graphics.render2d.submit.item_in_hdr_lane ```{autodoc2-docstring} simvx.graphics.render2d.submit.item_in_hdr_lane ``` ```` ````{py:function} build_bindless_geometry(view: simvx.graphics.render2d.publish.PublishedItemView, *, camera: simvx.graphics.render2d.submit.CameraAffine = _IDENTITY_CAMERA, atlas_slot: int = -1, lane: str = _LANE_ALL, only_band: int | None = None, exclude_bands: frozenset[int] | None = None, min_band: int | None = None, max_band: int | None = None) -> tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, list] :canonical: simvx.graphics.render2d.submit.build_bindless_geometry ```{autodoc2-docstring} simvx.graphics.render2d.submit.build_bindless_geometry ``` ```` `````{py:class} BindlessItemSubmitter(bindless_pass: typing.Any) :canonical: simvx.graphics.render2d.submit.BindlessItemSubmitter ```{autodoc2-docstring} simvx.graphics.render2d.submit.BindlessItemSubmitter ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.graphics.render2d.submit.BindlessItemSubmitter.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.graphics.render2d.submit.BindlessItemSubmitter.__slots__ :value: > ('_pass', '_cache_key', '_cached', '_build_count', '_reuse_count') ```{autodoc2-docstring} simvx.graphics.render2d.submit.BindlessItemSubmitter.__slots__ ``` ```` ````{py:method} render(cmd: typing.Any, view: simvx.graphics.render2d.publish.PublishedItemView, width: int, height: int, *, ui_width: int = 0, ui_height: int = 0, camera: simvx.graphics.render2d.submit.CameraAffine = _IDENTITY_CAMERA, lane: str = _LANE_ALL, only_band: int | None = None, exclude_bands: frozenset[int] | None = None, min_band: int | None = None, max_band: int | None = None) -> None :canonical: simvx.graphics.render2d.submit.BindlessItemSubmitter.render ```{autodoc2-docstring} simvx.graphics.render2d.submit.BindlessItemSubmitter.render ``` ```` ````{py:property} last_frame_draw_count :canonical: simvx.graphics.render2d.submit.BindlessItemSubmitter.last_frame_draw_count :type: int ```{autodoc2-docstring} simvx.graphics.render2d.submit.BindlessItemSubmitter.last_frame_draw_count ``` ```` ````{py:property} build_count :canonical: simvx.graphics.render2d.submit.BindlessItemSubmitter.build_count :type: int ```{autodoc2-docstring} simvx.graphics.render2d.submit.BindlessItemSubmitter.build_count ``` ```` ````{py:property} reuse_count :canonical: simvx.graphics.render2d.submit.BindlessItemSubmitter.reuse_count :type: int ```{autodoc2-docstring} simvx.graphics.render2d.submit.BindlessItemSubmitter.reuse_count ``` ```` `````