For this assignment, I have could only come up with an MSAA routine that uses box filter. Also, at the current scope, the ray tracer is embarrassingly parallel. Therefore, I have used OpenMP to parallelize it. A few caveats came up there such as: #pragma omp parallel for private(k) schedule(dynamic) for (j = 0; j < static_cast<int>(cameras[i].image_resolution.x * samples_sqrt); j++) { for (k = 0; k < static_cast<int>(cameras[i].image_resolution.y * samples_sqrt); k++) { In the code example above, enabling dynamic scheduling had a considerable impact on the performance and CPU utilization. Also, by declaring `private (k)`, I assigned the scanline over the y-axis. The `samples_sqrt` is simply the square root of the samples, that was required by MSAA. Even though standard library of C++ provides uniform random distribution with `uniform_real_distribution` and a `default_random_engine`, it might be interesting to check whether the unifor...