I wrote a Raytracer for DOS, 16 VGA colors
Bisqwit2 HN recommenders · recommended in 2 months, 2019-2021
905K views · 15 years ago · tutorial · evergreen
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.
18:50Creating a Doom-style 3D engine in C
Bisqwit
991K views • 11 years ago
0:43puls (256 bytes)
JanRrrolaKadlec
36K views • 17 years ago
22:13what did you do
Noodle
1.5M views • 11 months ago
11:27CGA Graphics - Not as bad as you thought!
The 8-Bit Guy
2.4M views • 10 years ago
51:06NVScene 2015 Session: How to Create Content with Signed Distance Functions (Johann Korndörfer)
NVScene
35K views • 11 years ago
21:46Surface-Stable Fractal Dithering Explained
runevision
646K views • 1 year ago
42:00I painted a Landscape with Mathematics
Inigo Quilez
812K views • 4 years ago
4:45Sparse Voxel Octree (SVO) Demo by Jon Olick
Zelexi
191K views • 17 years ago
29:51Refterm v2 - Resource usage, binary splat, glyph sizing, and more
Molly Rocket
68K views • 5 years ago
3:36elevated by Rgba & TBC | 4k intro (FullHD 1080p demoscene demo)
Demoscene High-Quality Videos (Annikras)
317K views • 15 years ago
13:09Raycasting engine in Factorio (vanilla 0.17) - Facto-RayO v1.0
arrow in my gluteus maximus
1M views • 7 years ago
20:57Atari's Quadrascan Explained
Retro Game Mechanics Explained
239K views • 5 years ago
1:25:348 Bit & '8 Bitish' Graphics-Outside the Box
GDC Festival of Gaming
568K views • 9 years ago
1:15Sonic behind waterfall - RetroArch shader comparison
PenguinWeirdness
30K views • 9 years ago
3:53:11Shader Basics, Blending & Textures • Shaders for Game Devs [Part 1]
Freya Holmér
1.9M views • 5 years ago
15:04I made a NES emulator in 15 minutes
Bisqwit
389K views • 14 years ago
1:46NVIDIA RTX Real-Time Ray Tracing Tech Demo From Remedy Entertainment
NVIDIA GeForce
497K views • 8 years ago
59:20Rendering Tiny Glades With Entirely Too Much Ray Marching
Graphics Programming Conference
108K views • 1 year ago
18:18I Tried Turning Games Into Text
Acerola
571K views • 2 years ago
8:51How I implemented MegaTextures on real Nintendo 64 hardware
James Lambert
398K views • 3 years ago
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
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
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