July 2020
Personal
Got into Shadertoy, and through this back into graphics programming as a whole. Completed a bunch of resources on shaders and ray marching, and made a few shaders of my own.
Remade Intrinsic Gravity after discovering the Demoscene, a subculture that builds demos (self-contained computer programs that produce audio-visuals).
Completed Vulkan-Tutorial and (after ~40 hours) I can render a triangle!
Wrote Fundamentals of the Vulkan Graphics API to get a better understanding of how all the pieces explained in Vulkan-Tutorial fit together. My post somehow made it to #1 on r/Programming, and was retweeted by the official Vulkan Twitter account :)
Links
Computer Graphics
Teach Yourself Demoscene in 14 Days
Overview of what making a project in the demoscene is like
Shaders: A Primer
Overview of what vertex and fragment shaders do
Shader School
Interactive course explaining the theory and practice of vertex and fragment shaders, and other graphics programming techniques
Fragment Foundry
Intro to fragment shaders and Signed Distance Functions, Shadertoy style
The Book of Shaders
An interactive book that teaches different techniques for 2D fragment shaders
Ray Marching and Signed Distance Functions
An intro to Ray Marching and Signed Distance Functions, which allow you to create 3D graphics with only a fragment shader
The Wave Function Collapse Algorithm Explained Very Clearly
Simple explanation of the WFC algo for procedural generation
How to Learn Vulkan
Resources and tips for learning the Vulkan graphics API
Vulkan in 30 Minutes
Brief overview of the Vulkan graphics API
Using Vulkan Hpp, The C++ Header for Vulkan
Overview of the C++ bindings for Vulkan, and why they’re useful
Writing
Nonfiction Writing Advice
Writing advice from the author of SSC on how to maintain clarity and reader engagement
Gwern on Writing
Gwern’s reflections on why he writes, and who he writes for
Research Debt
What research debt is and why writing that explains research simply is important
Misc
On Progress and Historical Change
Essay on the history of progress and whether individuals can have any meaningful impact on the world.
How to Get Worse At StarCraft II
To improve, focus on improving, not on winning
Ideas for Programmers Looking Beyond Web Development
List of intellectually interesting CS areas and resources
Your Startup is Uninteresting
Argues that most startups aren’t solving problems that are all of: challenging, interesting, and have a market demand
What Makes the Lobster Forum Different
I like lobste.rs more than Hacker News. This post explains why