I wrote a Raytracer for DOS, 16 VGA colors

preview_player
Показать описание
In this tool-assisted education video I create a raytracer from scratch.
The raytracer renders in 16-color VGA palette at 640x480 resolution.

Source code:

List of programs written by me that made this video possible:
- ADLMIDI (This plays MIDI files through OPL3 emulation)
- JAINPUT (Japanese input editor)
- E.EXE (Full-screen DOS editor)
- SPCPLAY (This plays SPC files, which are SNES music), however see below
- INPUTTER (This tool ensured that the plan is followed perfectly, given the time constraints)
- SPCtoMIDI (This converts log files created by SPCPLAY into MIDI files)
- Hudmaker (This converts raw audio and video streams and overlays graphical items, like subtitles, into it, and sends result to encoder)
- Tile4 (This did the four-video inset at the end of the video. I got the idea from Freddy Wong (user:Freddiew).)

List of significant programs involved that were not written by me (all but BC++ are open-source):
- DOSBox and its associated utilities like "mount"
- FreeDOS command prompt
- Borland C++ compiler, Turbo Assembler, Turbo Link
- SNES9x (I used portions of SNES9x in SPCPLAY)
- MEncoder (Video+Audio Encoder; The video recorded by DOSBox was of varying FPS and of varying resolution, due to all the screenmode changes. With MEncoder I resampled them all into a common format, which was 3200x2400 120-fps RGB16 raw video.)
- Lzop (I compressed raw video streams with this for intermediate storage)
- GCC, GNU assembler, GNU gold (After verifying that the program _works_ on BC++, I compiled the _actual_ raytracer with this and did the actual rendering on a multicore Linux server, because raytracing is, well, quite slow)
- Imagemagick (This converted 16-bit PNGs into 8-bit ones)
- Audacity (I mixed audio tracks together with this tool)
- Sox (I may have used it to convert WAV from/to RAW)
- X264 (Video Encoder, used for the final encoding)
- Oggenc (Audio Encoder, used for the final encoding)
- MKVmerge (Video+Audio Multiplexer, used for the final encoding)
- HDPMI32 also makes an appearance in this video, but it's a decoy, as is ADLMIDI in this video. The audio produced within DOSBox was discarded, because it was choppy. I recorded and mixed the audio separately.

More source code links:
Рекомендации по теме
Комментарии
Автор

You could pause the actual visual at anytime and create a 90's Math book cover out of what ever is on the screen.

beardo
Автор

I think youtube's algorithm is almost fixed as finally they are able to recommend actually good videos they have been postponing it for years.

mefuri_k
Автор

Modern games: you need RTX for raytracing
This guy: hold my IDE

DanBulant
Автор

The only video on YouTube that looks more realistic in 144p than in 4k.

Oblicze
Автор

Lately youtube has been recommending me (at least) weird and interesting videos. And this is one of the best YouTube has ever recommended to me

firdausmohd
Автор

Youtube: Do you want to recommend it?
Bisqwit: Nah just wait 8 years.


Edit: Damn guys thanks for 10k likes! Really appreciate that ten thousand of you appreciated my comment! ^_^

tamuwu
Автор

Woah, someone finally fixed the Youtube algorithm.

Standbackforscience
Автор

thank you for recommending me this youtube

Cyranek
Автор

I thought it was added after the RTX boom, then I checked the upload date

Misiecon
Автор

144p for optimal quality. Prepare to be stunned. Really.

schmutz
Автор

Hebrew in the beginning
Japanese 4 seconds in
English used as primary language throughout the video

jimjamreal
Автор

Raytracer..in dos..in vga...in 4k...Now I seen it all.

Undarial
Автор

Very soothing. A great experience after a long day of work. :) The VGA colors also bring me back. Love it!

TwoMinutePapers
Автор

The Algorithm Gods have blessed you this day

allways
Автор

if(rays)
{
trace;
else:
don't;
}

There, optimised it a bit for you.

pawelkorzeniewski
Автор

Be sure to turn on Closed Captioning for extra info!

DJBillyQ
Автор

NVIDIA 2018 - GROUND BREAKING NEW TECHNOLOGIES!
bisqwit 2011 - IMPRESSIVE NVIDIA, MOST IMPRESSIVE.. HOWEVER

xwb
Автор

Estimated render time: 73451 hours 53 minutes 17 seconds

ryanekapanjisuhartanto
Автор

NVIDIA HATES THIS GUY!! Here's how he made ray-tracing from scratch in 20 minutes.

RMPGRXD
Автор

Dude this is sick. Your coding skills are off the charts

michaelvigato
welcome to shbcf.ru