Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Inigo Quilez

    iquilezles.org · Personal blog · on HN since 2009

    Inigo Quilez, a computer graphics researcher and Shadertoy creator, writes on shaders, distance functions, fractals, and demoscene techniques.

    Visit blogHN submissions
    ProgrammingMathGames
    What HN says

    HN commenters call him essentially the god of shader effects and recommend his site as a great reference for raymarching and demoscene work.

    Stats for nerds
    210HN people shared it
    73linked in comments
    3Kstory points
    Jul 2026last shared
    2016people per year2026

    Top posts on HN

    1. 1
      Articles on fractals, computer graphics, mathematics, demoscene and more
      22 people · 471 points · first shared 2012 · 17 comments on HN
    2. 2
      Don't "optimize" conditional moves in shaders with mix()+step()
      2 people · 409 points · first shared 2025 · 231 comments on HN
    3. 3
      Inigo Quilez: computer graphics, mathematics, shaders, fractals, demoscene
      9 people · 349 points · first shared 2022 · 29 comments on HN
    4. 4
      Band-Limiting Procedural Textures
      1 person · 205 points · first shared 2020 · 31 comments on HN
    5. 5
      Real pixel coding (2011)
      3 people · 193 points · first shared 2011 · 79 comments on HN
    6. 6
      Fractional Brownian Motion for Terrain Generation
      4 people · 192 points · first shared 2019 · 28 comments on HN
    7. 7
      Rendering Worlds with Two Triangles on the GPU [pdf]
      7 people · 169 points · first shared 2014 · 25 comments on HN
    8. 8
      SDF Fractal Noise
      1 person · 162 points · first shared 2021 · 42 comments on HN
    9. 9
      Making graphics in 4 kilobytes (2008) [pdf]
      1 person · 137 points · first shared 2016 · 17 comments on HN
    10. 10
      Raymarching Distance Fields (2008-2020 compilation)
      7 people · 134 points · first shared 2014 · 23 comments on HN

    What HN people wrote when they linked it

    • eggyJun 2016

      I didn't take your post as criticism, but rather a spark, or conversation starter, to think about self-imposed limits in art via tools or physical handicaps.

      I had immediately thought of the demoscene, especially Inigo Quilez [1], and his creation Shadertoy [2]. It is amazing to see what people create with these tools.

      Thanks for the link on 'first-order jails'. I thought I had the gist of it, until I read your link. I especially like the back and forth about higher order vs. first order re: Haskell and graphical user interfaces. I am curious how it applies to Praxis, which has a node editor, but you can hop into the code which is in Java. It is built from the ground up for distributed, non-glitch livecoding.

      I am an experimenter, and although I fancy myself reading about logic and computing, I am only passingly familiar with it WRT your reference. I learn a lot about it from my studies with Shen [3], and recently Idris. [4]

      Extempore, and its programmng language xtlang, are driven by livecoding needs, but it is basically a general systems programming language at this point. I believe Andrew started with S7 scheme like CM (Common Music) did. The original creator, Andrew Sorensen, and Ben Swift who works on it too, are courting, or are being courted by the HPC world. The need to have a language that could handle time well, or 'temporal recursion' for music creation, lends itself well to HPC concerns. Xtlang is fast. C fast. It uses LLVM in the back.

      Blender3D has a nice…

    • RossBencinaAug 2025

      For geometry, start with high-school algebra and coordinate geometry, and learn how to put the two together: equations representing geometry. By which I mean, being able to write down equations for geometric objects and manipulate the equations to get them into different useful forms, and to compute useful things. A first example would be studying different ways of writing down equations for the line [1], and then learn how each of the forms relate, how to use algebra to move between them, and what each for is useful for. For example finding the intersection of two lines involves simultaneously solving for (x,y) that satisfy both equations, and there's a particular form that is best suited to that. Another form is better if you want to "move along a line" say, parameterised by time. One form might be best for GPU rendering. Once you're comfortable with algebraic expressions for lines, then you can move on to the more complex curves that you listed -- the equations for these curves can be manipulated in analogous ways. EDIT: importantly you want to learn not how to "plug and chug" numbers, but instead how to use these equations in code: e.g. how would you use the equations to write code to draw a line/curve, and how to derive functions to intersect curves, connect curves at tangents, etc.

      There's more to it than that of course. For example working out equations for tangents to curves will become important. But start with the above. You mention de casteljau algorithm, I am…

    • PhilpaxJun 2024

      You can represent arbitrary shapes through the composition of SDFs: https://iquilezles.org/articles/distfunctions/

      These can be treated as parameterised nodes in a tree, similar to what's happening here. It follows that there may be a possible adaptation of this to SDF composition, such that you can give it a shape and have it produce the SDF nodes + composition required to produce that shape.

      Most existing approaches to SDFs with NNs have the NN itself take on the role of the SDF (i.e. given a point, it predicts the distance), so there's a compelling opportunity here to build a system that can produce spatial representations from existing imagery without NN inference at render-time.

      I imagine adding the third dimension to the problem makes it much harder, though! I'll have to give the paper a read to determine how coupled to 2D their current approach is.

    • WASDxMar 2025

      https://iquilezles.org/ is a legend, see the articles and video tutorials.

      Aside from shadertoy I use https://glslsandbox.com/ (for some reason it has https errors now). It's the same concept and it has a lot of submissions that are more basic than shardertoy where you can easily change lines and see what happens.

      My intuition for these kind of shaders: They are just pure functions mapping an x,y coordinate to a color (optionally making use of time and cursor position). From this you can derive anything, like drawing a circle by choosing black or white depending on the distance from the center. There is a lot of intuition to gain and it's fun playing around, because as long as it compiles you will see something and you are likely to be surprised about what you accidentally made. Very rewarding.

    • dahartJun 2022

      Absolutely and without question. I’d argue he surpasses the normal meanings behind 10x, and is one of the super-rare people up in the stratosphere. Not because of the code itself (though his combination of math, code, and art skills are 10x on their own), but more because of his goals and it’s effects on other people. Inigo Quilez is one of the most famous demo scene programmers, one of the authors of ShaderToy, has one of the best sets of graphics programming articles on the net (https://iquilezles.org/articles/) and he has been focused on sharing ideas and getting other people to share ideas. His level of knowledge and code influence on other people, if you tried to measure it, which you can’t, but it would be more than thousands of times more productive than a single programmer.

    • ChadNauseamDec 2024

      Inigo Quilez (who is basically the CEO of SDFs in my book) has a page on this: https://iquilezles.org/articles/interiordistance/.

      The goal isn't boolean operations over distances themselves, because as you point out that makes no sense. What you often want though is boolean operations over the surfaces the functions are returning the distance to. For example, you have one function that gives the distance to the surface of a sphere, and another that gives the distance to the surface of a cube, and you want to AND them, to get a function that gives you the distance to whichever surface is closer. That explanation probably doesn't make any sense, so just check out the page I linked which has some great visualizations.

    Related

    Fabian Giesenfgiesen.wordpress.com200 people

    Why do CPUs have multiple cache levels?

    Fabian Giesen
    Personal · last shared 2026
    Red Blob Gamesredblobgames.com199 people

    Hexagonal grids for games

    Red Blob Games
    Personal · last shared 2026
    Interplay of Lightinterplayoflight.wordpress.com17 people

    How Unreal Renders a Frame

    Interplay of Light
    Personal · last shared 2026
    Henri Sivonenhsivonen.fi47 people

    String Lengths in Unicode

    Henri Sivonen
    Personal · last shared 2025
    Alan Wolfeblog.demofox.org54 people

    Derivatives, Gradients, Jacobians and Hessians

    Alan Wolfe
    Personal · last shared 2026
    Paul Bourkepaulbourke.net79 people

    “Burning Ship” fractal

    Paul Bourke
    Personal · last shared 2026
    Bart Wronskibartwronski.com36 people

    Why are video games graphics challenging? Productionizing rendering algorithms

    Bart Wronski
    Personal · last shared 2025
    Aras Pranckevičiusaras-p.info79 people

    I accidentally Blender VSE

    Aras Pranckevičius
    Personal · last shared 2026