about summary refs log tree commit diff stats
path: root/apps/raytracing/3.mu
Commit message (Collapse)AuthorAgeFilesLines
* 6960Kartik Agaram2020-10-051-16/+16
|
* 6957Kartik Agaram2020-10-051-8/+11
| | | | | | | | The final fix to the raytracing program involves rounding modes. It turns out x86 processors round floats by default, unlike C which has trained me to expect truncation. Rather than mess with the MXCSR register, I added another instruction for truncation. Now milestone 3 emits perfectly correct results.
* 6952 - raytracing: much betterKartik Agaram2020-10-041-2/+84
| | | | | | | | | | | | | | | The image is now visually indistinguishable from the baseline, though the file isn't quite bit-for-bit correct. I found 3 bugs: a) I forgot to normalize the ray. After creating a helper to "automatically" do it for me, it turns out said helper requires manually using. b) I forgot to multiply by t at one place. c) vec3-length was half-written. For the umpteenth time, the bugs were all in the last place I looked. I was worried about spending a lot of time transcribing `main` without any feedback, but that turned out to be perfect.
* 6949 - snapshot of next raytracing milestoneKartik Agaram2020-10-041-56/+326
| | | | | | | | | | | | | Not yet right, but worth a snapshot just because it gives a cool result. Here, try it out: $ ./translate_mu_debug apps/raytracing/3.mu $ ./a.elf > x.ppm Now view x.ppm as an image. In general, this was quite tedious to write. And a still-open question is how to emit the progress bar to stderr. My options are to either duplicate all my print-* functions (already proliferating) or add global variables to Mu.
* 6948 - stress-testing prints of floatsKartik Agaram2020-10-041-0/+127
Looks good.