Skip to content

Overview

Example apps live in the engine repo under apps/. Run from the app directory: ./plume3d . (after building) or from repo root: plume3d path/to/app.

ExampleDescription
Aspect RatioDesign resolution (1280×720) and letterbox scaling; resize to see black bars
Window DemoDisplay window title, width, and height via the Window API
ExampleDescription
Audio BasicPlay a click (Space) and toggle looping music (M)
Audio 3D3D listener and moving source; A/D move listener, Space plays sound, source on sine path
Audio PlayerRadio-style tuner: tune with Left/Right, stations from channels.toml, static when off-frequency
Audio Player 3D3D radio with power button, knobs, and body rotate; blend-loaded model, raycast picking
ExampleDescription
Physics SimpleAutomatic rigid bodies from Blender (floor + falling cube); toggle pause; shadow mapping
Physics StackTower of stacked cubes; onContactBegin logs each collision
Physics FrictionBoxes on an inclined ramp; R resets; compares Blender friction values
Physics Constraint HingeHinge-constrained door; Space applies impulse; FPS camera
Physics Particles DebrisTier 2 debris emitter: 64 physics-body particles bouncing off the ground
ExampleDescription
Character ControllerTop-down 3D: WASD/Shift/Space/C/E; mouse-aim; all CharacterState constants; shadows
ExampleDescription
Blend LoadLoad Cube.blend, instantiate Cube and camera/light from blend; FPS camera, raycast-drag cube
ExampleDescription
GUI OverviewBasic Nuklear GUI: two windows, labels, buttons
GUI InputLive display of mouse, keys, modifiers, and window size
GUI CalculatorFull calculator built with GUI buttons and layout
GUI ConfiguratorSettings panel: quality, fullscreen, window size, design size, scale mode
GUI TerminalIn-game terminal: backtick to open; #!command methods
GUI ButtonsLabel, color, symbol, and symbol+label buttons; repeater mode
GUI SliderssliderFloat/sliderInt, knobFloat/knobInt, progress bar
GUI TogglesCheckboxes (independent), radio buttons (exclusive), selectables
GUI LabelsAll label variants: colored, aligned (L/C/R), wrapping, colored separators
GUI ComboLabel, color, and symbol combo/dropdowns; inline color picker
GUI ChartAnimated sine wave line chart and static column chart
GUI LayoutAll layout types: dynamic, static, row, template, space, groups
GUI TreeTree node and tab types; collapsible nested sections
GUI MenuMenubar (File/Edit) and right-click contextual menu
GUI PopupStatic/dynamic popups; simple and custom tooltips
GUI PropertypropertyFloat/propertyInt; filtered editString
GUI ThemeDark/light switch, accent color, rounding, alpha, font loading
GUI WindowWindow flags, bounds, show/hide, collapse, widget disable
GUI ShowcaseKitchen-sink: theme, sliders, checkboxes, radio, combos, menus, properties
ExampleDescription
Plume TriangleMinimal: load shader, create colored triangle mesh, draw
Mesh LinesLine list, line strip, and line loop draw modes
Mesh PointsPoint mesh with animated colors
Mesh IndexedIndexed cube (8 vertices, vertex map for 12 triangles)
Mesh Draw RangeAnimate draw range to reveal a grid of triangles over time
Mesh DynamicAnimated trianglestrip (circle with wave + color animation), setVertexAttribute + flush
Mesh AttributesAnimate per-vertex position and color via setVertexAttribute; GUI and terminal commands
Instanced Mesh GPUGPU-instanced rendering (SSBO): 1,000 animated cubes in a single draw call