mini_arcade_core.engine.render.camera

Camera helpers for world-space rendering.

Attributes

Classes

Camera2D

Minimal 2D camera model for world-space rendering.

Functions

viewport_transform_for_camera(...)

Build the world-space transform for one viewport/camera pair.

camera_from_packet(→ Camera2D | None)

Read an attached camera from packet metadata.

viewport_transform_for_packet(...)

Build the render transform for one packet, using any attached camera.

packet_with_camera(...)

Return a copy of a packet with camera metadata attached.

world_to_screen(→ tuple[float, float])

Convert world coordinates into screen coordinates.

screen_to_world(→ tuple[float, float])

Convert screen coordinates into world coordinates.

Module Contents

mini_arcade_core.engine.render.camera.CAMERA_PACKET_META_KEY = 'camera_2d'
class mini_arcade_core.engine.render.camera.Camera2D[source]

Minimal 2D camera model for world-space rendering.

center is expressed in virtual/world coordinates and maps to the center of the virtual viewport. zoom=1.0 means 1:1 virtual scale.

center: mini_arcade_core.spaces.math.vec2.Vec2
zoom: float = 1.0
mini_arcade_core.engine.render.camera.viewport_transform_for_camera(viewport: mini_arcade_core.engine.render.viewport.ViewportState, camera: Camera2D | None = None) mini_arcade_core.backend.viewport.ViewportTransform[source]

Build the world-space transform for one viewport/camera pair.

mini_arcade_core.engine.render.camera.camera_from_packet(packet: mini_arcade_core.engine.render.packet.RenderPacket) Camera2D | None[source]

Read an attached camera from packet metadata.

mini_arcade_core.engine.render.camera.viewport_transform_for_packet(viewport: mini_arcade_core.engine.render.viewport.ViewportState, packet: mini_arcade_core.engine.render.packet.RenderPacket) mini_arcade_core.backend.viewport.ViewportTransform[source]

Build the render transform for one packet, using any attached camera.

mini_arcade_core.engine.render.camera.packet_with_camera(packet: mini_arcade_core.engine.render.packet.RenderPacket, camera: Camera2D | None) mini_arcade_core.engine.render.packet.RenderPacket[source]

Return a copy of a packet with camera metadata attached.

mini_arcade_core.engine.render.camera.world_to_screen(viewport: mini_arcade_core.engine.render.viewport.ViewportState, x: float, y: float, *, camera: Camera2D | None = None) tuple[float, float][source]

Convert world coordinates into screen coordinates.

mini_arcade_core.engine.render.camera.screen_to_world(viewport: mini_arcade_core.engine.render.viewport.ViewportState, x: float, y: float, *, camera: Camera2D | None = None) tuple[float, float][source]

Convert screen coordinates into world coordinates.