Commit Graph
10 Commits
Author SHA1 Message Date
milner 5f81ab227d feat(run): run blocks for commands the build does not produce 2022-07-21 16:25:46 +00:00
milner 9678f30767 feat(examples): add the C++ benchmark and three test targets
A C++ consumer of the C archives, plus maths, scene and image tests driven by
meowc test.
2022-07-10 04:57:31 +00:00
milner 61836941e7 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
milner 6b6a16be04 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
milner 9a29cc7b93 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
milner a1173c73b6 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
milner 13409a1e8b 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
milner 09d072a658 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
milner f313b97363 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
milner 816b1ee594 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