Releases: joaovbs96/OptiX-Path-Tracer
Ray Tracing "The Rest of Your Life" - Final Chapter
- Added scattering_pdf Callable Programs to non-specular materials, fixing an issue from the previous release.
- Added Sphere_PDF and Buffer_PDF(similar to the hitable_list_pdf from the book. It's basically two buffers of different hitable PDFs(like rectangles)).
- Added a Hit_Record struct to the hitables and materials.
- Fixed scene functions.
- Added clamp to
raygen.cushader. - Code cleanup.
- Release image, with a 1080x1080 resolution and 10kspp, took 55mins to render.
Ray Tracing "The Rest of Your Life" - Chapter 8
- Added PDF callable programs(and their respective host code) for the Cosine PDF, Mixture PDF and Rectangle PDFs.
- Added new PDF structs to the device side of the program.
- Changed the
raygen.cuColor function accordingly to reflect the new PDF callable programs. - Added the
de_nanfunction(this originally happens in the Chapter 10 of the book). - Moved Ray Generation, Mix and Exception programs setup to the scene functions, as we want to configure them differently on a scene by scene basis.
- FIXME: You may notice the scene is slightly different when compared to the book. That's because there's an issue with the materials scattered_pdf functions I didn't realize until after this release was published - they should take the directions generated by the PDF programs from raygen. The easiest way to do this is to make them callable programs and set them on a buffer of callable programs from the host, which will be done in the next release.
Ray Tracing "The Rest of Your Life" - Chapter 7
- The
raygen.cuColor function has been changed to sample light sources directly. - FIXME: There's a bug that became more evident during this chapter(see pic above). It was most likely introduced on Chapter 6 and is probably related to the color function or the random cosine direction. I can't seem to find the source of the issue for, so I'm moving on for the time being, hoping to find it as I make further progress.
Ray Tracing "The Rest of Your Life" - Chapter 6
Ray Tracing "The Rest of Your Life" - Chapter 4
Ray Tracing "The Next Week" - Chapters 8 & 9
Added support to volumes/participating media, as per the Chapter 8 of Peter Shirley's "Ray Tracing: The Next Week". As suggested at a thread in the NVidia Developer Forums, we put the probabilistic volume hit and the boundary hit functions in the same intersection program. Major changes were also made to the random number generator to allow the renderer to escale to several thousand samples. Now we render one sample per OptiX launch, keeping the RNG state in a buffer, and averaging the results after all the progress is completed.
Ray Tracing "The Next Week" - Chapter 7

Added support to rotations and translations, as per the Chapter 7 of Peter Shirley's "Ray Tracing: The Next Week". Here, we use OptiX Transforms. Note that, by using transforms, we need to convert the hit points and normals from the intersected object's space to the world's, by using the functions rtTransformPoint & rtTransformNormal respectively.








