Previous Post

3D Pixel Visualisation

Next Post
no preview
DESCRIPTION

High quality video is available here

This animation breaks the 4th wall of 3D rendering by showing that the 2D pixels on your screen are actually positioned in 3D. By looking 'behind the scenes' at a 3D scene, I can show how 3D lighting and raytracing works.

This is one sequence of animations for the next video, which expands on this post from January about volumetric lighting.

This kind of animation is completely new to me but I love trying new things. I've been saving my work on the https://github.com/vercidium-patreon/ve/tree/devlog branch, so you can follow along in real time if you like.

Animation Breakdown

When I was a kid I used to look at the TV from the side to try to see what's around the corner. But little Mitch was sad because that never worked.

That's because even though you're looking at a 3D movie or playing a 3D game, everything is still projected onto a flat 2D screen. That's because monitors are flat 2D screens.

The illusion of looking at a 3D world works because the scene is rendered from your point of view, so you never question it.

But there is a way to look behind the scenes. Once a scene is rendered in a game, I can 'recreate' it by putting each 2D pixel back in it's 3D position, and then rotate the camera around to the side.

This lets us look at the final scene from a different angle. Little Mitch would be happy.

But there's nothing extra to look at behind the scenes, it's just pitch black. That's because nothing is rendered outside your monitor or behind each pixel (e.g. the tree at 0:06)

But this 3D pixel visualisation lets me demonstrate how 3D lighting works. A line is drawn between each pixel and the camera - 0:12 - and multiple points are selected along each line. For each of these points, we check if they are in sunlight:

If they are, a transparent sun-coloured pixel is drawn

If they aren't, nothing is drawn

This allows us to draw light in 'thin air' after the game has already been rendered.

The results look great but it's expensive to render. Less points can be selected along each line to speed it up - 0:41 - but this reduces the quality of the beams of light.

However, there's a much faster rendering method that I've figured out recently that renders in 0.1ms. For context, the approach in the video above renders in 6ms.

I'll talk about this in the new video, which will be out next week. See you then!

vercidium PATREON 2 favs
VIEWS1
FILES1 file
POSTEDApr 8, 2024
ARCHIVEDJun 10, 2026