Skip to content
This repository was archived by the owner on Mar 14, 2025. It is now read-only.

Releases: joaovbs96/OptiX-Path-Tracer

Ray Tracing "The Rest of Your Life" - Final Chapter

17 Jan 00:13

Choose a tag to compare

alt text

  • 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.cu shader.
  • Code cleanup.
  • Release image, with a 1080x1080 resolution and 10kspp, took 55mins to render.

Ray Tracing "The Rest of Your Life" - Chapter 8

05 Jan 17:43

Choose a tag to compare

alt text

  • 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.cu Color function accordingly to reflect the new PDF callable programs.
  • Added the de_nan function(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

25 Dec 21:58

Choose a tag to compare

alt text

  • The raygen.cu Color 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

25 Dec 15:15

Choose a tag to compare

alt text

  • implemented the function random_cosine_direction in programs/sampling.h
  • implemented ortho-normal bases(ONBs) in programs/onb.h
  • changed Lambertian material scatter function to make use of ONBs

Ray Tracing "The Rest of Your Life" - Chapter 4

25 Dec 13:30

Choose a tag to compare

First release of "The Rest of Your Life".

release

  • PDF support & functions have been added to materials;
  • PDF variables have been added to the prd.out struct;
  • raygen.cu has been updated to support use of PDF;
  • general code cleanup;

Ray Tracing "The Next Week" - Chapters 8 & 9

22 Dec 02:00

Choose a tag to compare

alt text

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

12 Dec 22:38

Choose a tag to compare

alt text
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.

Ray Tracing "The Next Week" - Chapter 6

09 Dec 18:54

Choose a tag to compare

alt text
Added support to lights and axis aligned rectangles, as per the Chapter 6 of Peter Shirley's "Ray Tracing: The Next Week". Here, normals are flipped by passing a 'flip' boolean parameter to the aarect OptiX program. If 'flip' is true, the normal of the rectangle is flipped.

Ray Tracing "The Next Week" - Chapter 5

08 Dec 14:03

Choose a tag to compare

alt text
Added support to image textures, as per the Chapter 5 of Peter Shirley's "Ray Tracing: The Next Week", through the use of OptiX texture samplers and buffers.

Ray Tracing "The Next Week" - Chapter 4

08 Dec 02:27

Choose a tag to compare

alt text
Added support to Perlin noise textures, as per the Chapter 4 of Peter Shirley's "Ray Tracing: The Next Week", through the use of OptiX callable programs.