Skip to content

Releases: Enigmatisms/cuda-pt

v1.3.3

03 Nov 14:57
Compare
Choose a tag to compare
  • Vertex reordering is implemented. Vertices will be reordered according to the BVH leaf nodes, therefore now, BVH leaf nodes do not need an extra index to look up for the primitive. This leads to minor runtime improvements (3-4% on average).
  • Minor bugs related to shading normal and UV coords are fixed.
  • The non-symmetric scattering for refraction is considered.

v1.3.2

12 Oct 16:57
Compare
Choose a tag to compare

Damn it. There were so much things written, but when publishing v1.3.3 I accidentally overwrote them. So... see #6

v1.3.1

10 Oct 13:21
6377c27
Compare
Choose a tag to compare

What's Changed

  • Major code structure changes and profiled optimization. by @Enigmatisms in #6

Full Changelog: v1.3...v1.3.1

Naive caustics rendering via light tracing

28 Sep 16:53
Compare
Choose a tag to compare

Light tracing is implemented, where photons (infinitesimal) are traced and splat onto the canvas for better caustics rendering in scenes with multi-layer specular materials. This can be further improved, by splatting the anisotropic photons (like, Gaussians). The implementation is not profiled, and it is a naive algorithm currently.

No caustics Blend light tracing with path tracing Caustics
whiskey-no-caustics render-2024-09-29-00-22-45 render-2024-09-28-20-57-31

ImGui based online Rendering Visualization

18 Sep 15:23
7e601ab
Compare
Choose a tag to compare

Well, simple stuff: create pixel buffer object in OpenGL and map cuda buffer to it, so that the GPGPU path tracing code can directly write to the image buffer without having to transport it back to CPU end, simple enough. The following UI is currently supported:

  • Orthogonal camera
  • Camera rotation (mouse, roll-locked) and position (keyboard)
  • Screen frame capture
  • FoV

Software BVH and Wavefront Path Tracing

10 Sep 14:54
Compare
Choose a tag to compare
  • Device-side software surface-area heuristic BVH (stackless)
  • Wavefront path tracing: SoA path payload for less lg-throttle.

Up coming: imgui related updates. Several blog posts are to be written, to summarize some good practices & interesting profiling results & benchmarking for CUDA software path tracing. See the README.md for more info.

CUDA path tracer base release

27 May 14:00
Compare
Choose a tag to compare

Unidirectional path tracer implemented in templated CUDA C++. Currently, this repo supports:

  • Scene parsing from xml file (similar to my AdaPT renderer).
  • Shared mem accelerated ray-scene intersection.
  • CUDA virtual function based BSDF (Lambertian, Specular and Translucent)
  • variant based primitive types
  • Simple next event estimation for point emitters and area emitters.

Next step: Incorporate Nvidia OptiX for further accelerated ray tracing.