dlorp v0.1.0

An orthographic Vulkan renderer for Brickadia saves. Open a .brdb world or a .brz prefab and fly the camera around it.

A Brickadia city rendered in dlorp

Brickadia City by Dingo Ananas, 9.5 million bricks, ssao shading.

Download

Windows dlorp-windows-x86_64.exe (4.8MB)
64-bit. One file, no installer.
Linux dlorp-linux-x86_64 (1.5MB)
64-bit. chmod +x and run it.

Features

TODO

Shading modes

basic shadingbasicone directional light ambient occlusion shadingssaoambient occlusion
toon shadingtoonbanded light and ink retro shadingretroquarter resolution, 5 colour levels
dithered shadingditheredthe same palette, dithered

Controls

W A S Dpan across the ground plane
space / ctrlraise and lower the point being looked at
Q E / R Forbit / tilt
- =zoom out and in
shiftmove four times as fast
left dragpan
right dragorbit
wheelzoom
escapeopen the menu. Arrows and enter to navigate, escape to back out.

Command line

dlorp --save some.brz
dlorp --save world.brdb --shader ssao --size 1920x1080
--save PATH.brdb world or .brz prefab to draw
--shader NAMEbasic, retro, dithered, toon or ssao
--size WxHwindow and render size (default 1280x720)
--speed Xmultiply every key-driven camera rate
--headlessrender with no window
--screenshot PATHwrite a PNG of the last frame before exiting
--frames Nstop after N frames (0 = until closed)
--fixed-step HZadvance the camera 1/HZ per frame instead of by the wall clock
--controlread commands from stdin, one per line
--dump-bricksprint every brick in the save and exit
--helpthe full list, including the control commands

Rendering a 10 second pan to a video:

{ echo 'key d down'; echo 'key e down'
  for i in $(seq -w 1 600); do
      echo 'frame 1'
      echo "screenshot /tmp/pan/$i.png"
  done
  echo quit
} | dlorp --save "$SAVE" --headless --size 1920x1080 \
      --shader ssao --fixed-step 60 --control

ffmpeg -framerate 60 -pattern_type glob -i '/tmp/pan/*.png' -crf 18 pan.mp4

--fixed-step ignores the clock, so a rendered sequence plays back at a constant speed however long each frame took to draw.