Raytracer a boot szektorban

Fény útjának modellezése 3D-s kép rendereléséhez, mindez kevesebb, mint 512 bájtban. Ugyanaz az Oscar Toledo követte el, akinek a világ legkissebb sakkprogramját is köszönhetjük (ami természetesen C-ben íródott és IOCCC nyertes ;-) ).

A raytracker forrása és qemu-ban indítható binárisa elérhető itt:
https://github.com/nanochess/RayTracer

Mint bármelyik boot szektor, Assembly-ben íródott és csak valós módú utasításokat használ, ezért MS-DOS .com programnak is lefordítható. A fordításhoz a Netwide Assembler szükséges.
A megjelenítés érdekessége, hogy palettás módot használ, mindössze 256 színnel (azaz fix színekkel dolgozik, nincs true color mixing).

Korábban csinált már raycasting-ot is boot szektorban (az, amire a Doom is épül, nem azonos a raytracinggel).
https://en.wikipedia.org/wiki/Ray_casting
https://en.wikipedia.org/wiki/Ray_tracing_(graphics)

Bár sok értelme nincs, mégis hatalmas pacsi Oscar-nak! Na, ő az igazi szent őrült, nem én :-)

Hozzászólások