Sign in

Thomaz Nardelli

@zazamorga.bsky.social
26 followers 20 following 7 posts

Technical Artist | Graphics Programmer | Shader boy linktr.ee/zazamorga

PostsRepliesMedia
Thomaz Nardelli @zazamorga.bsky.social · 20/11/2025
Lightweight occlusion based on directional lightmaps. This is not a screen space technique, but instead relies on baked data to determine the overall light direction.
000
Thomaz Nardelli @zazamorga.bsky.social · 11/11/2025
A very fast to render transmission shader that is fully opaque and relies on reflection probes to achieve a convincing look. An inverted normals ambient occlusion map is used as a thickness map. This approach could be further extended with an SDF of the model to perform more accurate refractions.
051
Thomaz Nardelli @zazamorga.bsky.social · 06/11/2025
A volumetric cloud system I built for a friend’s prototype. They are generated using 2D noise sampled in froxel space and ray-marched in screen space.
000
Thomaz Nardelli @zazamorga.bsky.social · 30/10/2025
An ice shader! It uses the mesh’s SDF to speed up the ray marcher and determine accurate thickness through the ice, and checks the depth buffer to correctly display objects inside with nice refractions.
000
Thomaz Nardelli @zazamorga.bsky.social · 16/10/2025
You can make cheap and good looking fog by blending it with your skybox texture instead of a flat color, especially in overcast or hazy environments.
000
Thomaz Nardelli @zazamorga.bsky.social · 02/10/2025
Did you know that URP renders ambient occlusion before opaque objects? This allows for some cool tricks like blending textures using the SSAO as a mask!
082
Thomaz Nardelli @zazamorga.bsky.social · 23/09/2025
Did you know Blender has a built-in way to bake pivots to UVs? Just go to the templates and select "Operator Mesh UV". Bake the first UV as it is, and the second one using XZ instead of XY. You’ll need to adjust to Unity’s coordinate system like so: pivot = float3(-uv0.x, uv1.y, -uv0.y);
020