(Edit: Added Snake 2D video running on the current beta)
Ok, I’ve just put the demo out as a beta release on github. The direct link is below - v1.1.9995b. To use it, download PixelTeleporter.zip and copy the contents to your Processing libraries as usual (instructions are in the README.md in the PixelTeleporter repo if you haven’t done it before.) Or…
If you’ve updated to Processing 4, you can use the new easy installer. Just download PixelTeleporter.pdex and drop it on Processing (or double click it). You’ll be asked if you want to install “PixelTeleporter”. Respond “Yes!” and you’re done.
You can try out the new renderer from the “LEDRenderTest” example. It’s set up for a 16x16 matrix, but can easily be changed to other sizes. In addition to the normal PixelTeleporter UI, you can set the level of camera oversaturation - the glowing, blown out look you see in many LED videos, by pressing the 0 (off), 1,2,3,4 keys.
I’d appreciate any feedback, especially on performance, as I’m asking quite a lot more of both CPU and GPU…
As this is a prerelease, there are known bugs. Here they are:
- Although PixelTeleporter’s rotate/translate/zoom mouse UI works as usual, rotating the rendered image can have …weird… results. Just press ‘r’ to reset the camera. Rotating about the Z axis (hold down alt) works fine. It’s just X and Y that cause the depth buffer to get confused. This’ll be fixed by release.
- There are occasional color blending anomalies - stuff that should be smooth, but isn’t. This is due to some constraints on rendering order. It’s not terrible. Just not perfect. I’m still working on a fix that doesn’t kill performance.
- If you restart LEDRenderTest very quickly after stopping it, it may take a few seconds to connect, and may even start the grey “I’m not connected” blink. Give it 20 seconds or so before trying again.
- Real LEDs pump out WAY more light than monitors, but monitors have better dynamic range. This means that some patterns can be too bright or too dim to work well at first.
If a pattern is too bright and looks blown out, just turn the brightness down a little on your Pixelblaze. If it’s too dim (as in the case of SpinWheel 2D, for example), just turn the Pixelblaze to 100% brightness. If that’s not enough, scale up the final brightness in the pattern. SpinWheel, for example, looks better everywhere if you multiply the final output brightness by 4.
(Snake 2D running on a PB3, as captured by the Windows Game Bar. No editing, no post-processing.)