Skip to main content

Crate embedded_3dgfx

Crate embedded_3dgfx 

Source
Expand description

A no_std 3D graphics and physics engine for embedded systems.

Frame flow is record / execute: engine::K3dengine::record walks the scene once into a fixed-capacity pipeline::command_buffer::CommandBuffer, then engine::K3dengine::execute rasterizes from it. Both stages operate on caller-provided buffers only — no heap allocation on the frame path.

Everything heavy is behind cargo features; see the crate README for the MCU feature recipes. New here? Start with the prelude.

Modules§

absmanim-blend
Animation Blending State Machine (ABSM) for no_std embedded systems.
animation
Vertex Animation System
billboardscene
Billboard rendering for sprites that always face the camera
bridge
Interoperability bridges between embedded-3dgfx and embedded-graphics.
bspraycast
BSP world rendering — K3dengine::record_bsp and render_bsp_direct.
characterscene
First-person character controller with axis-aligned box collision.
color
Perceptual color models and standard palettes for embedded systems.
color_gradient
Multi-stop color gradient sampling for no_std embedded systems.
config
Quality tiers, material profiles, and per-MCU capability profiles.
curve
Piecewise spline curve evaluation for animations, tweens, and particle parameter ramps.
decal
Decal projection volumes and grounded blob shadows for no_std embedded systems.
embassyembassy
Optional Embassy integration helpers (feature embassy).
engine
The K3dengine facade: camera, render settings, and record/execute entry points.
error
Rendering error taxonomy shared by the record and execute stages.
gizmosgizmos
Debug wireframe helpers (AABB / frustum) emitted as line draw primitives.
hardware_profile
Board / silicon capability profiles used to pick rendering budgets.
input
Platform-agnostic input state, buttons, analog sticks, and debouncing.
lens_flare
Atmospheric lens-flare effect with occlusion picking.
matcap
Procedural MatCap (Spherical Environment Map) texture generator for embedded systems.
navmesh
Navigation Mesh (Navmesh) and A* Pathfinding with Funnel Algorithm for no_std embedded systems.
occlusion
Software occlusion query for z-buffer-based culling on no_std embedded systems.
painterspainters
Painter’s Algorithm Implementation
particlesscene
Fixed-capacity, no-alloc particle system for embedded environments.
perfcounterperfcounter
Lightweight frame/timing counters for perfcounter builds.
physicsphysics
Physics engine for embedded 3D graphics.
pipeline
The graphics pipeline.
pool
Generational Arena Pool for fixed-capacity, zero-allocation object management.
prelude
Common imports for getting started.
ray_primitive
Analytical ray-primitive intersection tests.
raycast
High-performance 2.5D DDA Raycasting and Mode 7 True 3D Perspective Floorcasting Engine.
scene_formatscene
Versioned chunked scene container decoding.
scene_streamscene
Cooperative, non-blocking scene loading and upload.
sector_lightsraycast
Doom-style sector light animation descriptors and evaluators.
simd_dsp
SIMD, DSP, and SWAR arithmetic primitives.
simplex_stroke_fontgizmos
Static Simplex Hershey font data used by text gizmos.
skeletonscene
Skeletal animation system with subspace deformation (skinning).
softbodyphysics
Soft body physics using mass-spring systems and position-based dynamics.
state_machine
Zero-allocation application state machine inspired by bevy_state.
telemetry
Record/execute telemetry counters for budget and regression checks.
timer
Zero-allocation timer, stopwatch, and fixed-timestep accumulator.
transform_animscene
Keyframed rigid-body transform animation (position, rotation, scale).
tweenscene
Time-based interpolation and easing for boot sequences and UI motion.

Structs§

MeshRayCastHit
Result of a ray cast against triangle geometry.

Constants§

DEPTH_EPSILONdepth-u16
Z_MAX_VALUEdepth-u16

Functions§

clear_zbuffer
mesh_ray_cast
Ray-cast against triangle geometry using Möller–Trumbore intersection.
mesh_ray_cast_boundedaabb-cull
Like mesh_ray_cast, with an optional model-space AABB broadphase. Requires the aabb-cull feature.
mesh_ray_cast_meshaabb-cull
Convenience: ray-cast a K3dMesh using its model matrix and cached AABB.
to_zdepth

Type Aliases§

ZDepthdepth-u16