in Shaders, Unity

Shader Showcase Saturday #1: Volumetric Crystals

When a 3D object is drawn on the screen, only its outer shell is actually rendered. This works for most solid and opaque materials, but is not powerful enough to bring life to transparent and translucent materials. Currently, this is one of the biggest limitations of most modern game engines. Volumetric rendering is a technique that allows rendering materials with a complex internal structure. The topic has been covered extensively on a tutorial tilted Volumetric Rendering, specifically designed for Unity.

In this post, however, I want to highlight some of the best volumetric effects that I have recently seen on the Internet. Not all the effects shown here might be actually using volumetric rendering, but they all give the illusion of being more than just empty shells.

Space-Time Crystals

This effect, created by game developer and artist Max Gittal, uses a volumetric technique called raymarching to simulate an internal structure within empty 3D models. Each crystal is rendered having a solid code inside, which is distorted by an additional texture.

World In A World

This portal effect is used by “Altered State”, a game currently being developed by Austin Schaeffer. The effect seen above was created using Shader Forge, and used a technique called stencil buffers to render another part of the scene inside the cube. You can find more about stencil buffers in Non-Euclidean Cubes, a tutorial that explains how to re-create the impossible geometries seen in the iconic game “Antichamber”.


Game developer Davide Ciacco has created this interesting effect in which a cube is reflecting a nebula. The author has not explained how such an effect was achieved, but I suspect a cubemap and a normal-dependent distortion might be involved.

Crystal Ball

Technical artist Taizyd Korambayil has recently shared this beautiful crystal ball shader created using Unreal Engine 4. Taizyd has posted an earlier version of this effect on Twitter (here). It is very easy to appreciate how much work has gone into its making.

💖 Support this blog

This website exists thanks to the contribution of patrons on Patreon. If you think these posts have either helped or inspired you, please consider supporting this blog.

Patreon Patreon_button

📧 Stay updated

You will be notified when a new tutorial is released!

📝 Licensing

You are free to use, adapt and build upon this tutorial for your own projects (even commercially) as long as you credit me.

You are not allowed to redistribute the content of this tutorial on other platforms, especially the parts that are only available on Patreon.

If the knowledge you have gained had a significant impact on your project, a mention in the credit would be very appreciated. ❤️🧔🏻

Write a Comment


  1. I have thought so many times of entering the blogging world as I love reading them. I think I finally have the courage to give it a try. Thank you so much for all of the ideas!