description
A collection of quite reusable graphics-oriented C++ code. Fairly refined as individual parts, but the package as a whole is a bit casual.
Comprising 29 modules, and about 8500 lines. Mostly classes, but several functions too. Not all tests are included.
module list
general
standalone:
| FpToInt | Int-float conversion functions |
| Clamps | Functions to clamp numerics between bounds |
| Bounded | Scalar value within a restricted range |
| Float01 | Float value between 0 and 1, open or closed interval |
| hxa7241vector | std::vector storage manipulation functions |
| Array | Simpler, compacter alternative to std::vector |
| RandomMwc1 | Simple, fast, good random number generator, v1 |
| RandomMwc2 | Simple, fast, good random number generator, v2 |
| LogFast | Fast approximation to log |
| PowFast | Fast approximation to pow |
dependent on above:
| Sheet | A simple 2D dynamic array, suitable for images |
graphics
standalone:
| ColorConstants | Standard and common color constants |
| Filters | Some 2D radial filter functions |
| Polar | Disk-square mapping, and coordinate conversion functions |
| HaltonSequence | Halton sequence, with optional jittering |
| SobolSequence | One dimension of a sobol sequence (choice of 40) |
| Coord2 | 2D coordinate class template |
| Vector3f | Yes, its the 3D vector class! |
| XyzE | Greg Ward-Larson realpixel, for any float triplet |
dependent on above:
| ColorSpace | Trichromatic color space, with conversions to/from XYZ |
| UnitVector3f | Unitized 3D vector |
| Vector4f | 4D vector of floats |
| Matrix3f | 3D matrix of floats, with extra translation capability |
| Matrix4f | 4D matrix of floats |
| Quaternion | Unit quaternion |
| Spherahedron | Make a sphere of triangles, in shared-vertex form |
image
standalone:
| ppm | IO for the nice-and-simple PPM file format |
| rgbe | IO for the Radiance RGBE file format |
| quantizing | Conversions between integer and float [0,1] triplet images |
download
|
|
7-zipped C++ source code (66k) |
