A collection of programs I wrote to familiarize myself with computer graphics in Rust.
A collection of programs using the pixels
2D frame buffer.
Modules cgfs_raytracing
, cgfs_rasterization
and cgfs_scene
contain code described in the book Computer Graphics from Scratch.
The code follows the examples in book mostly faithfully, although there are some tweaks here and there, either due to programming language differences or simply as performance improvements.
Module cgfs_raytracing
corresponds to chapters 2 through 4, cgfs_rasterization
to chapters 6 through 9, and finally cgfs_scene
to chapters 10 through 12.
Due to the complexity of the final rasterizer I've decided not to implement shading and textures.
Module mandel
contains code used to generate and display the Mandelbrot set.
A simple example using the glfw
library.
A work in progress with no real goal.
An implementation of the rainbow smoke algorithm, as presented in the accepted answer of the question Images with all colors.
Uses pixels
library as a base, iteratively updates the canvas.