3D Pixel Art Rendering

A 3D scene is rendered with an pixel art aesthetic

I made a pixel art 3d renderer in Unity as a custom scriptable render pipeline. It works by rendering the scene at a lower resolution to make the pixels visible, and combining that with various shader effects like billboarding that create the specific artstyle I was going for.

Due to the scene being rendered at lower resolution, there are a bunch of cool graphical effects that are not that viable when rendering on higher resolutions. Especially stuff like outlines, which can normally be a bit resource intensive, now only have to be 1 pixel wide. But it also works the other way around, stuff like making sure that the image doesn’t jitter when the camera moves by less than one pixel is an example of the extra stuff required to make the scene look consistent at the lower resolution.

Particle Light Sources

That the renderer has a pixel art aesthetic is not the only thing that’s neat about it, it also makes use of deferred rendering to allow for a nearly endless amount of light sources in the scene, even smaller things like particles are able to emit light! In the gif above I went for a more cell shaded look, but eventually I ended up going more smoother lighting, like in the gif below. Because of that choice, lights have the option to be rendered on the lower resolution, like the sky light casting pixel-ly shadows, or be rendered on the higher resolution, like the small light particles, casting a high resolution gradient on the rendered scene.

A forest scene showing off the lighting, and the renderer’s 3D capabilities