This month Charles will present!
Raytracing, which powers modern special effects and animation, is a very computationally intensive algorithm. This is due to the need to simulate millions of individual light rays to create a believable image. If it was possible to do all of the calculation ahead of time and cache the result, execution would be as fast as outputting the final image. Through the power of constexpr, we can achieve just that!
This talk will be a case study of CERT, the "ConstExpr RayTracer". We will be examining its implementation to explore the limitations, algorithms, performance, memory footprint, and optimizations required in non-trivial constexpr computation. Also discussed are many C++20 additions, how these changes greatly improve constexpr, what can still be improved, and the possibility of parallelizing constexpr calculations.
While running a constexpr raytracer isn't very fast, it highlights the kind of computation can in fact be done, and for some problems it may be the right choice. Join me as we trace light rays where they were never intended, inside the compiler, thereby lighting up the darkness that is constexpr calculation.
As always, we will have food (gluten free options) and drinks available thanks to our Sponsors.
After the meetup, plan to grab a drink with us at the Burns Pub.
See you there!