Inspired by AI elements such as Siri or the one presented in psi-fi movies, we created an intelligent blob that reacts to user inputs. This was done using noise and texture reading in the custom shaders.
Diamond rendered on WebGL using a raytraced approximation on the GPU to reproduce internal reflection bounces.
The raytracing was performed on a unit cube with the assistance of a normal and position cubemap to approximate the shape of the diamond, this was mixed with localized reflection techniques to improve the accuracy of each bounce.
Both cubemaps were rendered from the inside of the diamond. A median filter was used as a post processing effect to try to cover most of the aliasing artifacts.
By using a maximum of 5 bounces the effect is quite good and doesn't have a high impact on performance, since per pixel only 10 cubemap samples are needed at most.
While still having a lot of artifacts it is a major improvement over other existing and simpler techniques that only rely on a refraction cubemap.
Combining different techniques we manage to have pseudo-global illumination on a real time 3d web application. These animations also support real-time communication with a server, which broadcast states to be received by every client connected worldwide. This project uses videos as lightmaps to give the illusion of dynamic lighting. A low resolution video turned out to look good enough, and we needed 4 permutations to recreate the different lighting setups of the environments (lights on/off, courtain on/off), so this means 4 videos per lightmap.
This animation was rendered in WebGL. Inspired by the things you can do with the alembic format, I wanted to see how far I could get by using gltf and draco compression.
The animations are just a geometry flipbook exported as an obj sequence from cinema4D, and then merging them into a single gltf file with a command line tool I made, and then compressing the sh*t out of it with draco.
The results were quite good, the first "cells" animation originally have a file size of 300mb, and compressed into 8mb.
The splash animation went from 435mb to 11mb.
Obviously the catch is having to decompress all of that into memory, which does take a few seconds (although could be done in a worker to not cause a stutter).
Overall I think this could be used in a production environment to produce short and organic animations that couldn't be possible with just plain real time simulations.
Ona different note, the cells have a simple matcap shader, and the splash a minimalistic shader with a refraction cubemap and a bit of fresnel to highlight the contour.
Inspired by the concept of how gold was a medium to connect economies during the much of the latest centuries, we created a golden globe surrounded by particles and connectivity lines. The project features a 3d world with heigh-maps, geometries manipulated on real time and a post-processing blur pass.
BAKING . DIFFUSE LIGHTING . INDIRECT LIGHTING . MAYA . NO EXTRA EFFECTS