www.drububu.com, portfolio arjan westerdiep

3D Pixels; Voxels

This part is most likely not the stuff most visitors came for, but it's still quite interesting.

pixel art voxel object made with use of procedural voxel technology Pixel art voxel object made with use of procedural voxel technology

A voxel is a volumetric pixel, or a three dimensional pixel.

There's a big gap between pixel art and voxel technology. Voxel technology involves a lot of mathematics, like most computer-generated imagery. It is used in medical or scientific computer graphics applications, and more recently in games.
With some adjustments, voxel technology can also be used to generate high-tech pixel art with a low-tech look. This can be done by hand, but would be tremendously time consuming and not duplicable.

Voxels can be used to encapsulate polygons in a 3D environment. An object or environment can be enclosed by one overall voxel. This overall voxel, which encapsulates the object or environment, is divided down into eight smaller voxels, and so forth. Just like the babushka doll: voxels inside voxels inside voxels, etc.
As soon as a polygon completely fits inside a voxel, the polygon is added to a list within the voxel information data. Along with data about the position and size, etc., the list contains all the polygons that can be found inside the voxel.

By dividing an object or environment into voxels, calculations needed for shadow and/or reflections can be reduced dramatically.
To calculate if a point on a polygon casts a shadow, the computer has to make sure no other polygon lies on the line between the light source and the point on the polygon. If an object has 1.000 polygons, the computer has to check if one of the 999 other polygons casts shadow... This is very computational.
By using voxels, the calculations can be done much faster. Instead of checking individual polygons, the voxels are checked. If a voxel (such as a cube) doesn't cast shadow, the content within the voxel (smaller voxels with polygons in it) can't either.

octree representation of a 3D object; boxes inside boxes and so on Octree representation of a 3D object; boxes inside boxes and so on.

Although interesting, using voxels to speed up calculations is not relevant when creating pixel art.

By using a slightly different approach, an object can be divided into voxels/cubes. A voxel is relevant as soon as (part of) a polygon lies within the voxel. If a voxel is empty, it's not used.
The result of this approach is a number of cubes (see animation).

physics animation still

The 3D position of the cubes can be used to generate a 2D pixel art illustration.

By writing some software which does the job, the whole process can be automated and fairly easily duplicated.

screenshot voxelizer Convert your 3D model to a voxel representation
If you want to convert your own 3D model into a voxel representation take a look at the voxelizer on this website.

LEGO®, HTML5 and Voxels

Besides making a static image, the data can also be used to create a pixel art animation in HTML5. Instead of using cubes, the fundamental minimum size of a LEGO® brick is used for the next HTML5 animation.

screenshot lego pixel art animation
info

Besides making an animation, the data can also be used to build a real LEGO® object, the size of one meter.
Unfortunately I had to pay for every single LEGO® brick, which made it a quite expensive, but it still was a nice project.

LEGO<sup>®</sup> object made with use of voxel technology LEGO® object made with use of voxel technology
polygon to lego conversion
For more information about LEGO® and pixel-art and high-resolution 3D graphics, please visit the LEGOLIZER page of my digital playfield.

Voxels, Lego & 3D printing

3D printed minified lego object 3D-printed minified Lego object.
For more information about LEGO® and 3D printing, please visit the LEGOLIZER page of my digital playfield.

Voxels & Papercraft

The three-dimensional voxel model can be translated to a two-dimensional projection aswell.
Print it, cut it out and paste it together, and you have a physic model of your digital voxel object.

3d computer voxel model converted / mapped to papercraft/2d projection 3D computer voxel model converted / mapped to papercraft/2d projection
For more information about 3D to 2D projection, please visit the papercraft page of my digital playfield.