Modular Bricks - LEGO Shader for Unity
Subscribe:  iCal  |  Google Calendar
London XE   17, Aug — 20, Aug
Cologne DE   19, Aug — 21, Aug
Cologne DE   22, Aug — 26, Aug
Seattle US   28, Aug — 30, Aug
Atlanta US   30, Aug — 4, Sep
Latest comments
3 hours ago

Nice work and thanks for the breakdown! Always interesting to see someone else's approach to a scene, and the new/different methods they use and/or come up with :)

by Tom DArch
5 hours ago

There are no pdf's of the updated versions available for download!

6 hours ago

3D Stylized Environment looks every time beautiful today this is my subject on that I have to Do My Dissertation and bring some new information with our reader.

Modular Bricks - LEGO Shader for Unity
22 March, 2017
Modular Bricks shader pack by Matei Giurgiu is a collection of geometry shaders, designed to create extra geometry on meshes in order to give them a modular interlocking aspect.

Get Modular Bricks


  • Different brick style: cubes or pipes.
  • Various shader variations: diffuse, PBL, emissive, transparent, vertex lit.
  • Amazing results with voxel art.
  • 60 seconds integration with MagicaVoxel Qubicle To Unity

Recently I have discovered a great tool for creating 3D models, it is called Magica Voxel. Basically, you build models using 3D blocks, which in geeky terms are voxels (volumetric pixels). Apart from a lot of tools for editing your voxels creations, Magica Voxel also offers a really powerful rendering engine which has various rendering effects such as drawing each voxel as a sphere or as a cylinder and doing a marching cubes effect on the voxel mesh. In my opinion, the most interesting effect is the one which draws each voxel as a Lego block.

This shader represents my effort to reproduce this effect in Unity without having to store the voxels separately. You simply import a mesh and the shader will draw the Lego cylinders on top of the geometry.  To achieve this effect, my shader is using an extra step in the rendering pipeline which was introduced since DirectX 10 and OpenGL 3.2. This extra step called the geometry stage is executed after the vertex stage and after the computations for the primitives. Therefore, the input for the geometry shader are geometry primitives (such as lines, triangles or point) and the output is a triangle stream. As a result, this specific stage gives the programmer the ability to create extra geometry and I have used this particular technique achieve the Lego effect.

Matei Giurgiu

The entire drawing process is handled by the GPU in the shader code, no compute shaders, no CPU overload. Just select the desired shader and the model will change its appearance. The radius or height of the pipe/cube can be customised in the shader properties. Works on mobile devices with OpenGL ES 3.1 + AEP (tested on Samsung Galaxy S7).

Leave a Reply

Be the First to Comment!