I wrote a Raytracer for DOS, 16 VGA colors
Bisqwit2 HN recommenders · recommended in 2 months, 2019–2021
tutorial · intermediate · evergreen · 2019–2021 on HN
Bisqwit writes a raytracer from scratch in C++ for DOS, rendering in the 16-color VGA palette at 640x480. The video also covers color quantization and ordered dithering.
HN fans praise Bisqwit as a favorite programming YouTuber and this video as an excellent look at dithering.
Up next
5 mo on HNGET LAMP: The Text Adventure Documentary
Google TechTalks
5 HN recommender · 2014–2026
5 mo on HNI made a NES emulator in 15 minutes
Bisqwit
3 HN recommender · 2013–2022
2 mo on HNKylie Minogue - Come Into My World (Official Video) [Full HD Remastered]
Kylie Minogue
2 HN recommender · 2018–2025
2 mo on HNJacob Collier Explains Music in 5 Levels of Difficulty ft. Herbie Hancock | WIRED
WIRED
2 HN recommender · 2018–2023
5 mo on HNCreating a Doom-style 3D engine in C
Bisqwit
3 HN recommender · 2015–2019
3 mo on HNShakespeare: Original pronunciation (The Open University)
OpenLearn from The Open University
4 HN recommender · 2013–2025
3 mo on HNGender Neutral Pronouns: They're Here, Get Used To Them
Tom Scott
3 HN recommender · 2013–2015
6 mo on HNBlueHat IL 2019 - Andrew "bunnie" Huang - Supply Chain Security: "If I were a Nation State...”
Microsoft Israel R&D Center
6 HN recommender · 2019–2024
13 mo on HNThe Beauty of Bézier Curves
Freya Holmér
16 HN recommender · 2021–2026
11 mo on HNThe Continuity of Splines
Freya Holmér
10 HN recommender · 2022–2026
10 mo on HNelevated by Rgba & TBC | 4k intro (FullHD 1080p demoscene demo)
Demoscene High-Quality Videos (Annikras)
7 HN recommender · 2013–2025
10 mo on HNPainting a Character with Maths
Inigo Quilez
13 HN recommender · 2021–2025
3 comments from Hacker News
Bisqwit's discussion of dithering is outstanding . He presents a very impressive algorithm for arbitrary-palette dithering that is animation safe . > This paper introduces a patent-free positional (ordered) dithering algorithm that is applicable for arbitrary palettes. Such dithering algorithm can be used to change truecolor animations into paletted ones, while maximally avoiding unintended jitter arising from dithering. He demonstrates it "live coding" style in this[1] video where he writes a demo in 256 colors of a "starfield" animation with color blending and Gaussian blur style bloom. The first animation at 6:33 using traditional ordered dithering has the usual annoying artifacts. The animation at 13:00 using an optimal palette and his "gamma-aware Knoll-Yliluom positional dithering" changed my understanding of what was possible with a 256 color palette. The animation even looks decent[2] dithered all the way down to a 16 color palette! If that wasn't crazy enough, he also "live codes" a raytracer[3] in DOS that "renders in 16-color VGA palette at 640x480 resolution." [1] link [2] link [3] ▶ this video
Agreed. My favourite programming YouTuber by a long stretch. If anyone is unfamiliar with him and wants to watch some of the "classics" I'd recommend these: His "cracking videogame passwords" series: link Creating a Doom-style 3D engine in C: link Creating a Rogue-like game in C++11: link Creating a PIC16 emulator and NES music player: link Creating a NES emulator: link Creating a DOS VGA raytracer: ▶ this video
Wow that's really cool. I liked the structure you added to the Martian landscape. It was funny to wake up and see this on HN, as I was watching something DOS and 3D-related on Bisqwit's channel last night. ▶ this video