# {py:mod}`simvx.graphics.renderer.billboard2d_pass` ```{py:module} simvx.graphics.renderer.billboard2d_pass ``` ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`Billboard2DPass ` - ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.Billboard2DPass :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.__all__ :summary: ``` * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.log :summary: ``` * - {py:obj}`MAX_BILLBOARDS ` - ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.MAX_BILLBOARDS :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics.renderer.billboard2d_pass.__all__ :value: > ['BILLBOARD_DTYPE', 'FLAG_IS_MSDF', 'Billboard2DPass', 'build_sprite3d_row', 'build_text3d_rows'] ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.__all__ ``` ```` ````{py:data} log :canonical: simvx.graphics.renderer.billboard2d_pass.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.log ``` ```` ````{py:data} MAX_BILLBOARDS :canonical: simvx.graphics.renderer.billboard2d_pass.MAX_BILLBOARDS :value: > 20000 ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.MAX_BILLBOARDS ``` ```` `````{py:class} Billboard2DPass(engine: typing.Any) :canonical: simvx.graphics.renderer.billboard2d_pass.Billboard2DPass ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.Billboard2DPass ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.__init__ ``` ````{py:method} setup(render_pass: typing.Any = None) -> None :canonical: simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.setup ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.setup ``` ```` ````{py:method} rebuild_pipeline(render_pass: typing.Any) -> None :canonical: simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.rebuild_pipeline ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.rebuild_pipeline ``` ```` ````{py:method} render(cmd: typing.Any, billboards: numpy.ndarray, view_proj: numpy.ndarray, camera_right: numpy.ndarray, camera_up: numpy.ndarray, extent: tuple[int, int], px_range: float = 4.0) -> None :canonical: simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.render ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.render ``` ```` ````{py:method} cleanup() -> None :canonical: simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.cleanup ```{autodoc2-docstring} simvx.graphics.renderer.billboard2d_pass.Billboard2DPass.cleanup ``` ```` `````