A

Alan Zucconi

alanzucconi.com · Personal blog · on HN since 2014

Alan Zucconi writes tutorials on shaders, procedural animation, color, and math for game and graphics programming.

What HN saysCommenters recommend his tutorials as clear first steps for shaders and graphics, including his diffraction grating and atmospheric scattering articles that produce working images.
53HN people shared it
14linked it in comments
202stories submitted
529story points
3 months agolast shared
2014people per year2026

Most-shared posts

  1. 1
    The challenging task of sorting colours
    7 people · 62 points · first shared 2015 · 5 comments on HN
  2. 2
    Valve's Flickering Lights
    4 people · 13 points · first shared 2024 · 1 comments on HN
  3. 3
    Color Interpolation
    3 people · 1 points · first shared 2020 · discussion on HN
  4. 4
    Recreational Maths in Python
    2 people · 40 points · first shared 2015 · 4 comments on HN
  5. 5
    Volumetric Rendering: Signed Distance Functions
    2 people · 6 points · first shared 2016 · discussion on HN
  6. 6
    Seam Carving
    2 people · 4 points · first shared 2023 · discussion on HN
  7. 7
    Principal Component Analysis for Programmers
    2 people · 4 points · first shared 2025 · discussion on HN
  8. 8
    CD-ROM curtains are back
    2 people · 4 points · first shared 2017 · discussion on HN
  9. 9
    An Introduction to Procedural Animation
    2 people · 4 points · first shared 2017 · discussion on HN
  10. 10
    The AI of Creatures
    2 people · 3 points · first shared 2020 · 1 comments on HN
  11. 11
    A Journey Through the Atmosphere
    2 people · 3 points · first shared 2017 · discussion on HN
  12. 12
    A Journey into Journey's Sand Shader
    2 people · 3 points · first shared 2019 · discussion on HN
  13. 13
    Viking Villages and CD-ROMs
    2 people · 2 points · first shared 2017 · discussion on HN
  14. 14
    Understanding the 4th Dimension
    2 people · 2 points · first shared 2023 · discussion on HN
  15. 15
    Rendering 4D Objects
    2 people · 2 points · first shared 2023 · discussion on HN

What HN people wrote when they linked it

pcwalton · 2023-04-04
Yes, it's possible to do physically based diffraction grating effects in the traditional pipeline. Here's a tutorial on it: https://www.alanzucconi.com/2017/07/15/the-nature-of-light/ (I actually implemented this effect recently: the article is great overall, but you can get rid of the loop by using some simple algebra.) However, as pointed out in sibling comments, this makes assumptions about the coherence of the light coming in.
honkycat · 2022-02-16
For procedural animation: I have yet to find the path to learning this skill. It is very opaque, and I think you just need to attack it with your brain and learn it. For shader and graphics programming: I liked this tutorial series as a "first steps" by Freya Holmér: https://www.youtube.com/watch?v=kfM-yu0iQBk Here is another list: https://www.alanzucconi.com/2018/01/03/learning-shaders/ The Book of Shaders is a popular suggestion, but it appears to be abandoned: https://thebookofshaders.com/ For general Unreal? Tom Looman's $300 Unreal C++ class, available on his website. It is pricey but really excellent. I also discovered this AWESOME list of learning paths for all gamedev concepts: https://github.com/miloyip/game-programmer
jamcohen · 2021-02-24
Catlike coding is great. I’m also a fan of Alan Zucconi’s tutorials: https://www.alanzucconi.com/tutorials/
asqueella · 2026-02-09
The explanation that made it click for me a while ago was by someone who implemented a shader https://www.alanzucconi.com/2017/10/10/atmospheric-scattering-3/ — the explanations that don't end up producing an image all seemed to skip over one detail or another.
benrbray · 2025-09-02
Really cool! Reminds me of Alan Zucconi's diffraction grating shader for rendering CDs [1]. [1] https://www.alanzucconi.com/2017/07/15/cd-rom-shader-1/
gugagore · 2024-05-07
Technically, image resizing does in general care about the color channel ordering, because color spaces are in general not linear. https://www.alanzucconi.com/2016/01/06/colour-interpolation/
jsheard · 2024-04-26
A neat real-world example of ancient Quake code surviving to this day is visible in Valves games - the hardcoded patterns for flickering lights in Quake 1 survived into GoldSrc and then into Source and then into Source 2, most recently showing up in Half Life Alyx, 24 years on from their original appearance in Quake 1. https://www.alanzucconi.com/2021/06/15/valve-flickering-lights/ Basically all of the bigger systems will have been Ship-of-Theseus'd several times over by now, but little things like that can slip through the cracks.
wlesieutre · 2023-10-29
No raytracing needed for the window interiors, it’s shader wizardry https://www.alanzucconi.com/2018/09/10/shader-showcase-9/
richrichardsson · 2022-11-05
Anyone as clueless as I seeing SDF littered throughout the comments : Signed Distance Functions Nice explanation (with some code) : https://www.alanzucconi.com/2016/07/01/signed-distance-functions/
kuon · 2020-03-09
By interpolating, you mean like given two colors, you want to generate the intermediate gradient colors, like on this article[1]? If that's the case, I don't see why interpolating two saturated colors would provide a shade of gray. Can you clarify? [1]: https://www.alanzucconi.com/2016/01/06/colour-interpolation/
rjkaplan · 2016-04-14
I mostly just think they look cool :) In the post there's a demo on how to use the same algorithm that generates Voronoi diagrams to render 2D drop shadows with a spread radius. You may also be interested in Alan Zucconi's article on Voronoi diagrams where he outlines a few use-cases in games: http://www.alanzucconi.com/2015/02/24/to-voronoi-and-beyond/2/#acp_wra…
pp19dd · 2014-09-08
Reminds me of orbitalis - a Ludum dare game from last year that eventually ended up on steam. Object is simple, establish a stable orbit in the system for a span of one clock rotation (clock is on the very outside.) See http://www.alanzucconi.com/extra/0rbitalis/ld48/

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close