# {py:mod}`simvx.graphics.renderer.point_shadow_pass` ```{py:module} simvx.graphics.renderer.point_shadow_pass ``` ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`PointShadowPass ` - ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.__all__ :summary: ``` * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.log :summary: ``` * - {py:obj}`POINT_SHADOW_SIZE ` - ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.POINT_SHADOW_SIZE :summary: ``` * - {py:obj}`SPOT_SHADOW_SIZE ` - ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.SPOT_SHADOW_SIZE :summary: ``` * - {py:obj}`DEPTH_FORMAT ` - ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.DEPTH_FORMAT :summary: ``` * - {py:obj}`COLOR_FORMAT ` - ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.COLOR_FORMAT :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics.renderer.point_shadow_pass.__all__ :value: > ['PointShadowPass'] ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.__all__ ``` ```` ````{py:data} log :canonical: simvx.graphics.renderer.point_shadow_pass.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.log ``` ```` ````{py:data} POINT_SHADOW_SIZE :canonical: simvx.graphics.renderer.point_shadow_pass.POINT_SHADOW_SIZE :value: > 512 ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.POINT_SHADOW_SIZE ``` ```` ````{py:data} SPOT_SHADOW_SIZE :canonical: simvx.graphics.renderer.point_shadow_pass.SPOT_SHADOW_SIZE :value: > 1024 ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.SPOT_SHADOW_SIZE ``` ```` ````{py:data} DEPTH_FORMAT :canonical: simvx.graphics.renderer.point_shadow_pass.DEPTH_FORMAT :value: > None ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.DEPTH_FORMAT ``` ```` ````{py:data} COLOR_FORMAT :canonical: simvx.graphics.renderer.point_shadow_pass.COLOR_FORMAT :value: > None ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.COLOR_FORMAT ``` ```` `````{py:class} PointShadowPass(engine: typing.Any) :canonical: simvx.graphics.renderer.point_shadow_pass.PointShadowPass ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass.__init__ ``` ````{py:method} setup(ssbo_layout: typing.Any) -> None :canonical: simvx.graphics.renderer.point_shadow_pass.PointShadowPass.setup ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass.setup ``` ```` ````{py:property} point_shadow_texture_index :canonical: simvx.graphics.renderer.point_shadow_pass.PointShadowPass.point_shadow_texture_index :type: int ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass.point_shadow_texture_index ``` ```` ````{py:property} spot_shadow_texture_index :canonical: simvx.graphics.renderer.point_shadow_pass.PointShadowPass.spot_shadow_texture_index :type: int ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass.spot_shadow_texture_index ``` ```` ````{py:method} render_point_shadow(cmd: typing.Any, light_pos: numpy.ndarray, light_range: float, instances: list, ssbo_set: typing.Any, mesh_registry: typing.Any) -> None :canonical: simvx.graphics.renderer.point_shadow_pass.PointShadowPass.render_point_shadow ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass.render_point_shadow ``` ```` ````{py:method} render_spot_shadow(cmd: typing.Any, light_pos: numpy.ndarray, light_dir: numpy.ndarray, fov: float, light_range: float, instances: list, ssbo_set: typing.Any, mesh_registry: typing.Any) -> None :canonical: simvx.graphics.renderer.point_shadow_pass.PointShadowPass.render_spot_shadow ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass.render_spot_shadow ``` ```` ````{py:method} get_spot_vp_matrix(light_pos: numpy.ndarray, light_dir: numpy.ndarray, fov: float, light_range: float) -> numpy.ndarray :canonical: simvx.graphics.renderer.point_shadow_pass.PointShadowPass.get_spot_vp_matrix ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass.get_spot_vp_matrix ``` ```` ````{py:method} cleanup() -> None :canonical: simvx.graphics.renderer.point_shadow_pass.PointShadowPass.cleanup ```{autodoc2-docstring} simvx.graphics.renderer.point_shadow_pass.PointShadowPass.cleanup ``` ```` `````