Kinematic 0.5.0 is out. Modeling and sculpting in the viewport, a timeline on every graph, photo and sound editing. What's new
Kinematic / Who it's for / Immersive rooms and domes

Shows for domes and immersive rooms.

Render one scene as a dome master, a 360 panorama or a picture per projector. Blend the overlaps, line the projectors up with a camera, place the sound around the audience, and run the whole room from the same file.

Immersive studiosDome and planetarium teamsProjection designersContent artistsSound designers
Dome masters, panoramas and projector slicesBlends, warps and camera line-upSound placed around the audienceFree, even for commercial use
a dome previewed in 3D, the show on its inside and visitors under it
the 180 degree dome master it plays
The graph behind it
  1. 3DGeoSceneCubemapCapture
  2. ImageCubemapToEquirect
  3. ImageShader
  4. 3DGeoSphere
  5. 3DGeoSceneRenderToImage

A ringed planet in a starry sky, captured in all six directions and unfolded into a panorama. A short shader folds that into the dome master, and the same panorama lines the dome so you can see the show before load-in.

Your work

Dome and room work in Kinematic.

The jobs that come round on every show, from the first render to the night the doors open. Each one is a few nodes in the same graph.

01

The content.

The pictures the space is built around, made in the same app that plays them.

a 180 degree dome master, the rim is the horizon

Render a dome master

Capture the scene in all six directions, unfold it into a panorama, and fold that into a 180 degree dome master with a few lines of shader. For a quick look, switch the render camera to fisheye.

3DGeoSceneCubemapCaptureImageCubemapToEquirectImageShader
Rendering →
the same scene, unfolded into a 2:1 panorama

Make a 360 panorama

The same six-way capture unfolds into a 2:1 panorama up to 4096 by 2048, for a 360 room or a headset. A panorama you already have goes the other way, into a cubemap that lights a scene.

ImageCubemapToEquirectImageEquirectToCubemap
Light a scene with a sky →
glowing cells drawn by a shader

Fill the walls

Write a shader or paste one in from Shadertoy, grow flocks and light trails, or play a cut from the timeline. All of it is live, so you can change it on site.

ImageShader3DGeoParticleChainFlockVideoArrangementPlayer
Shaders and looks →
02

The room.

Projectors, overlaps and curved walls, lined up by hand or by a camera.

feathered slices above, the wall below

Blend projectors into one picture

Slice one wide canvas across up to eight projectors in a line, or a grid up to four by four, with an overlap. Each slice fades at its shared edges, so the overlaps add up to one even picture.

ProjectorLayoutImageEdgeBlend
Blend projectors →
the Grid Warp editor, its grid sculpted into waves
the Grid Warp editor

Warp onto curved walls

Sculpt a grid until the picture hugs a curved wall or a column, with the grid lit on the wall by the projector while you drag. Four corners will do for a flat screen.

ImageGridWarpImageCornerPin
Wrap a column →
nine of the stripe patterns a projector throws while the camera watches
the stripes a projector throws while the camera watches

Line up projectors with a camera

Each projector throws its own stripe patterns while a camera watches, and the warp is worked out pixel by pixel. A second pass of gray patches evens out the brightness across the surface.

StructuredLightCalibrationRadiometricCalibrationImageUVRemap
Camera line-up →
the panorama on four walls, visitors inside

Preview the room before load-in

Put the panorama on the walls of a model of the room, add a few people for scale, and walk round it in 3D. The scene, the room and the preview are all one graph.

3DGeoGridImageCrop3DGeoSceneRenderToImage
Modeling →
Familiar work, done here

One scene for every surface.

The dome master, the panorama, the walls and the three projector slices on this page all come from one graph and one planet. Change the scene and every output follows, with nothing to export and load again.

  • Capture all six directions at once and unfold them into a panorama
    3DGeoSceneCubemapCaptureImageCubemapToEquirect
  • Fold the panorama into a 180 degree dome master with a shader of your own
    ImageShader
  • Line a dome or the walls of a room with the same panorama to preview it in 3D
    3DGeoSphere3DGeoGrid
  • Slice it across the projectors and blend the overlaps
    ProjectorLayoutImageEdgeBlend
  • Or render through a fisheye camera directly, up to 170 degrees
    3DGeoCameraCreate
wgsl
// each dome pixel finds its spot in the panorama
let r = length(p);           // 0 at the top, 1 at the rim
let phi = atan2(p.y, p.x);
let u = fract(phi / 6.2831853 + 0.75);
let v = r * 0.5;             // the top half only
the scene unfolded into a 2:1 panorama
the same panorama on four walls
sliced across three projectors
What you gain: sound

Sound that moves with the picture.

The soundtrack, the speaker feeds and the pictures share one graph. Place a sound anywhere around the audience, and let the music lift the floor, flash the walls or turn the sky.

  • Place a sound around the audience with ambisonics and decode it to a ring of four speakers
    AudioAmbisonicEncodeAudioAmbisonicDecode
  • Fly a sound round the room and give it the reflections of a room
    AudioSpatialPanAudioRoomSim
  • Split the music into bass, mids and treble, and drive anything with each
    AudioCrossoverAudioSpectrum
  • Catch every beat and fire a look, a cue or a light on it
    AudioOnsetDetectAudioEnvelopeFollower
four speakers, each glowing with the level it gets
particles driven by a song
a song raising the ground
What you gain: simulation and light

Simulations and lights in the same file.

Fire, smoke, liquid and flocks are nodes in the same graph as the walls. Render them for the dome, pixel-map them onto an LED wall, and cue the house lights on the same timeline as the show.

  • Fire, smoke and liquids, rendered for the walls or the dome
    3DGeoFluidSimpleSolver3DGeoFluidRender
  • Flocks and light trails that sweep across every wall
    3DGeoParticleChainFlock3DGeoParticleRibbon
  • Pixel-map any picture onto an LED wall or a strip of lights, with more than 1,500 fixture profiles built in
    ImageToDmxArtNetSendInterface
  • Washes and moving heads cued on the same timeline as the show
    DmxCueStackTimeline
a pillar of fire rolling into smoke
the fire on a wall of lights
light trails falling
Show day

Running the room.

A room is judged on the nights nobody touches the keyboard. These are the parts that keep every wall, the dome and the sound together.

From load-in to the last show
  1. Load-inOpen the Outputs window and press Identify. A big number flashes on every screen, so you know which projector is which.
  2. Line-upThe camera lines up each projector. The warps, corners and blend widths are saved in the show file, so the line-up travels with the show.
  3. DoorsThe show opens full screen on the displays you name, with the edit keys off. A projector switched on late is picked up within a couple of seconds.
  4. ShowThe timeline follows LTC or MIDI timecode, so the walls, the dome and the sound land on the same frame.
  5. Timecode dropsThe picture holds where it is. Take control to run it from the timeline yourself, and give it back when the desk is rolling again.
  6. A crashThe show restarts on its own, and the timeline starts where the show would be now, not back at the top.
terminal
$ kinematic room.kin --kiosk --display 1 --controls-display 0 \
    --restart-on-panic 10 --resume-timeline auto \
    --watchdog 30s --health-port 9797 --error-strip off

Add it to the login items on a Mac, or a desktop session service on Linux, and the room starts with the machine.

MidiLtcDecodeMidiTimecodeInTimeline

one key and the editor steps aside

One window per output

Each output gets its own window on the display you pick, full screen or borderless, set in the Outputs window. The show window can also span every display.

Check on it from the booth

A health check on a port answers whether the show is running, for whatever watches the building.

Run it from the desk

Send commands to the show machine over the network: enter the show, move an output to another display, or recall a saved state.

No error text on the walls

Turn the error strip off and nothing is painted over the picture. Errors still go to the log and the health check.

How it fits

Your gear and your files.

What it drives, what it reads, and the files that come and go. Every entry is on the full list of what Kinematic works with.

Drives the room
Projectors and displays
A window per output on any display, found again when a projector comes on late.
LED walls and DMX lights
Art-Net, sACN and USB DMX adapters, with more than 1,500 fixture profiles.
Speakers
Stereo, or a ring of four from ambisonics, through your sound card.
Other machines and apps
Video and sound over NDI, Syphon on a Mac, and RTSP out to a player.
Reads the room
Cameras
Any webcam or capture card for camera line-up. Orbbec depth cameras for zones and touch.
Timecode
LTC, MIDI timecode and Art-Net timecode.
Show control
OSC with QLab and lighting desks, MIDI Show Control and MIDI.
Tracking
PosiStageNet and FreeD, from the systems already tracking performers and cameras in the room.
Phones and tablets
A touch page served from the graph, or TouchOSC.
Files Opens
glTF, FBX, USD, AlembicEXR and HDRImage sequencesMP4, MOV, MKV, WebMWAV, FLAC, MP3, OGGSplats: SPZ, PLY, SOGCSV and JSON tablesMVR and GDTF lighting
Saves
H.264, H.265, ProRes, VP9PNG and EXR sequencesglTF, FBX, USD, OBJWAV, FLAC, AIFFPatch lists for the crew
Everything it works with →
Where to start

Tutorials and demos.

Short lessons that end with something working, and demos that come with the app. Open a demo, take it apart, and keep what you need.

Before you plan the show

What it does not yet do.

Better to know now. Something here would stop your show? Reach out.

  • A 180 degree fisheye cameraThe fisheye render camera reaches 170 degrees. For a full dome master, fold the 360 panorama with a short shader, as on this page.
  • Soft edges along curvesEdge blends fade along the straight sides of each projector's picture. Where projectors overlap along a curve on a dome, you build the blend masks yourself.
  • Scans through the fisheye cameraGaussian splat scans draw as plain round dots through the fisheye camera.
  • Large speaker arraysAmbisonics is first order and decodes to stereo or four speakers. Bigger rings, and panning across many speakers, are not built in yet.
  • Recording to HAPVideo records as H.264, H.265, VP9, ProRes, MJPEG or FFV1. HAP is not one of them yet.
  • Spout on WindowsVideo sharing between apps on Windows is on the roadmap. NDI works on every platform, and Syphon on a Mac.
  • Projector powerThere is no PJLink control yet to switch projectors on and off from the graph.
Your next room

Download Kinematic.

Free. No account, no license key and no seat count, so every machine in the room can run it, even for commercial use. macOS, Windows and Linux, with experimental Raspberry Pi support.

one picture across three walls and the floor