Commit Graph
8 Commits
Author SHA1 Message Date
sneeker f6876c33fc feat(examples): add the render binary and its argument handling
Scene, dimensions, sample count and thread count from the command line, with
defaults read out of the generated config header.
2022-07-07 21:07:20 +00:00
sneeker d397f61046 feat(examples): generate scene translation units from .scene files
scenegen.py compiles each scene into a C source and header, driven by a rule
block with per-input stem expansion.
2022-07-07 12:27:02 +00:00
sneeker c9946dd8db feat(examples): add a zlib backed PNG encoder
Real PNG output through deflate, which is what makes the pkg-config
dependency load bearing rather than merely declared.
2022-07-06 16:04:09 +00:00
sneeker 4847e73434 feat(examples): add the image buffer and a PPM writer
RGB framebuffer with tone mapping, and PPM output for the path where zlib is
unavailable.
2022-07-04 09:14:34 +00:00
sneeker 23f8288a52 feat(examples): add shading, the threaded render loop and two scenes
Lambertian and metal shading with recursive bounces, a row-claiming loop
across worker threads, and the studio and rings scene files.
2022-07-02 12:49:50 +00:00
sneeker 3da0447ea6 feat(examples): add the scene representation, camera and intersection
Sphere and plane records, camera ray generation from field of view and aspect
ratio, and the nearest-hit search across the scene.
2022-07-02 02:41:00 +00:00
sneeker d1c5055303 feat(examples): add vector maths and an xorshift RNG
vec3 operations and a per-thread random stream, the leaf library everything
else in the example depends on.
2022-06-30 11:37:33 +00:00
sneeker 7c7557fed1 feat(examples): add the raytracer build file and core header
Nine targets: two translation units generated from scene files, a C++
consumer, a shared object built from the same sources as the archives, and an
optional zlib dependency.
2022-06-30 00:29:57 +00:00