prisma
prisma copied to clipboard
A powerful color representation, manipulation and conversion library that aims to be easy to use.
Palette has [a bunch](https://docs.rs/palette/0.5.0/palette/blend/trait.Blend.html) of them, and Prisma should have them too.
Angular-units is a dependency of the crate, but since prisma doesn't re-export it, users need to add angular-units to their own dependencies in order to use things like prisma::Hsv. I...
HDR
Right now, the documentation says that RGB components can only be in the 0..1 range. I'm currently doing "Ray Tracing In One Weekend" and I wanted to do HDR with...
Running with Rust 1.77.2 on Windows 10, I ran this code : let color = [r, g, b]; let color = prisma::Rgb::new(color[0], color[1], color[2]); let mut color = prisma::Hsv::::from_color(&color); color.set_hue(...
From can even be used to do conversion chains, but not for things tthat require models or other additional information.
Prisma contains many traits. Usability may be improved by re-exporting the most commonly used into a `preamble` module that can then be glob imported.
Half-precision floating point has 11 bits of precision, which is more than enough for most display-oriented colors. Implementing an optional feature supporting them in prisma could be beneficial to some...
Lu'v' or UCS is an analog to the xyY space for XYZ. It is useful in many places Luv is used.
While UVW is technically an obsolete color space, it is still used in the computation of correlated color temperature.
Chromatic adaptation allows changing white points and color spaces, which is useful in photography and many other fields