← Back to context

Comment by V1ndaar

1 year ago

Pretty sure the 3rd edition already contained that, no? At that time (not sure if that's still the case now) the choice was a compile time option, iirc.

2nd edition did as well...

  • In the 4th edition, there's no support for RGB rendering--it's always and only spectral.

    And admittedly the spectral rendering option in earlier editions wasn't great. We didn't always correctly distinguish between illuminants and reflectances, used a fixed binning of wavelength ranges (vs stochastically sampling wavelengths), and had a fine-but-not-state-of-the-art RGB -> Spectrum conversion algorithm. All of that is much better / state of the art in the 4th edition.

    • Nice work! This was a (small) wart in previous.

      It's a great text, and remains one of my go-to examples when someone asks for examples of well executed technical book.

      I was only ever peripherally involved in this area as a but found myself revisiting the origin just because it was put together so cleanly.

    • Oh, thanks a lot for the clarification! And thanks for the work on the book in general. :)

      I need to look into the changes then. The spectrum implementation of the 3rd version served as inspiration for an X-ray raytracer I've been working on.

    • I've had a quick look in spectrum.cpp, but can't obviously find it: what uplifting method are you using now?

      Is it something similar to Wenzel and Jo's one, or Alex Wilkie's Sigmoid variation?

      Edit: ah: RGBSigmoidPolynomial...