Shader Adventures

By Victor Gridnevsky
Dec. 16, 2019

This is a series of articles with anything about fragment shaders. If I want to describe these shaders in one sentence, I’ll tell that shaders are programs, allowing us to make 2D and 3D animations and even play music.

I am adding to a pile of existing articles about the shaders because I was asked the questions other people answered publicly before. To improve this situation, I am writing my answers in the order I am being asked. And, to be honest, I am not sure if I am failing so far.

Shader adventures” will be extended each week until I think it describes enough.

I started writing notes while playing with shaders a year ago. Only last month was productive at all, really: I found ways to implement different effects and draw different things. I had fun playing with the shader code, so I told others about the idea. Finally, I decided to improve my notes, fill the gaps and make my notes publicly available.


My current plan is:

  • 3D: raymarching basics (reviewing)
  • 3D: normals
  • 2D distance functions
  • 3D: transparency
  • 3D: reflections and refractions