# {py:mod}`simvx.graphics.renderer.forward` ```{py:module} simvx.graphics.renderer.forward ``` ```{autodoc2-docstring} simvx.graphics.renderer.forward :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`ForwardRenderer ` - ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics.renderer.forward.__all__ :summary: ``` * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.graphics.renderer.forward.log :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics.renderer.forward.__all__ :value: > ['ForwardRenderer'] ```{autodoc2-docstring} simvx.graphics.renderer.forward.__all__ ``` ```` ````{py:data} log :canonical: simvx.graphics.renderer.forward.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.graphics.renderer.forward.log ``` ```` `````{py:class} ForwardRenderer(engine: typing.Any, max_objects: int = 10000) :canonical: simvx.graphics.renderer.forward.ForwardRenderer Bases: {py:obj}`simvx.graphics.renderer._base.Renderer` ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.__init__ ``` ````{py:method} setup() -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.setup ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.setup ``` ```` ````{py:method} set_skybox(cubemap_view: typing.Any, cubemap_sampler: typing.Any) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.set_skybox ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.set_skybox ``` ```` ````{py:property} post_processing :canonical: simvx.graphics.renderer.forward.ForwardRenderer.post_processing :type: simvx.graphics.renderer.post_process.PostProcessPass | None ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.post_processing ``` ```` ````{py:method} set_gizmo_data(data: simvx.graphics.renderer.gizmo_pass.GizmoRenderData | None) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.set_gizmo_data ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.set_gizmo_data ``` ```` ````{py:property} ssao :canonical: simvx.graphics.renderer.forward.ForwardRenderer.ssao :type: simvx.graphics.renderer.ssao_pass.SSAOPass | None ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.ssao ``` ```` ````{py:method} set_materials(materials: numpy.ndarray) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.set_materials ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.set_materials ``` ```` ````{py:method} set_lights(lights: numpy.ndarray) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.set_lights ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.set_lights ``` ```` ````{py:method} submit_text(text: str, x: float, y: float, font_path: str | None = None, size: float = 24.0, color: tuple = (1.0, 1.0, 1.0, 1.0)) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.submit_text ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.submit_text ``` ```` ````{py:method} init(device: typing.Any, swapchain: typing.Any) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.init ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.init ``` ```` ````{py:method} begin_frame() -> typing.Any :canonical: simvx.graphics.renderer.forward.ForwardRenderer.begin_frame ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.begin_frame ``` ```` ````{py:method} submit_instance(mesh_handle: simvx.graphics._types.MeshHandle, transform: numpy.ndarray, material_id: int = 0, viewport_id: int = 0) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.submit_instance ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.submit_instance ``` ```` ````{py:method} submit_particles(particle_data: numpy.ndarray) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.submit_particles ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.submit_particles ``` ```` ````{py:method} submit_light2d(**kwargs) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.submit_light2d ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.submit_light2d ``` ```` ````{py:method} submit_occluder2d(polygon_vertices: list[tuple[float, float]]) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.submit_occluder2d ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.submit_occluder2d ``` ```` ````{py:method} submit_skinned_instance(mesh_handle: simvx.graphics._types.MeshHandle, transform: numpy.ndarray, material_id: int, joint_matrices: numpy.ndarray) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.submit_skinned_instance ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.submit_skinned_instance ``` ```` ````{py:method} submit_dynamic(vertices: numpy.ndarray, indices: numpy.ndarray, transform: numpy.ndarray, material_id: int = 0, viewport_id: int = 0) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.submit_dynamic ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.submit_dynamic ``` ```` ````{py:method} pre_render(cmd: typing.Any) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.pre_render ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.pre_render ``` ```` ````{py:method} render(cmd: typing.Any) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.render ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.render ``` ```` ````{py:method} end_frame(cmd: typing.Any) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.end_frame ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.end_frame ``` ```` ````{py:method} resize(width: int, height: int) -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.resize ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.resize ``` ```` ````{py:method} cleanup() -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.cleanup ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.cleanup ``` ```` ````{py:method} destroy() -> None :canonical: simvx.graphics.renderer.forward.ForwardRenderer.destroy ```{autodoc2-docstring} simvx.graphics.renderer.forward.ForwardRenderer.destroy ``` ```` ````{py:attribute} __slots__ :canonical: simvx.graphics.renderer.forward.ForwardRenderer.__slots__ :value: > () ```` `````