- Update Donut framework.
- Introduce DLSS-RR.
- Addition of shader reloading capability for a selection of shaders.
- Refactor of Samples/Pathtracer files to accommodate new UI settings.
- Update to v1.6.5.0.
- Added optional SHARC_ENABLE_FADE_ACCELERATION (default: off). When enabled, each resolve entry tracks whether the current frame's luminance is below the previous frame's. If fading is detected for all 32 tracked frames, the history is reset to match the current frame's sample count, accelerating convergence. Requires
SharcResolveParameters::frameIndexto be set. - SHARC_LINEAR_PROBE_WINDOW_SIZE default increased from 4 to 8.
- Introduced auxiliary function
SharcLuma(), shared by the anti-firefly filter and fade acceleration features. - Refactor:
- Replaced
SharcResolveParameters::enableAntiFireflyFilterwithframeIndex(required for SHARC_ENABLE_FADE_ACCELERATION). - Renamed
SharcPackedData::luminanceM2tosampleDataExtin SharcTypes.h. Carried out the counterpart changes forSharcVoxelData::luminanceM2accordingly.
- Replaced
- Updated to v1.6.0.0.
- Radiance data is now clearly separated between 'Update' and 'Resolve' passes.
SharcParameters::accumulationBuffer(formervoxelDataBuffer) is written in the 'Update' pass, whileSharcParameters::resolvedBuffer(formervoxelDataBufferPrev) is persistent storage populated in the 'Resolve' pass. Both buffers continue to use a 16-byte struct stride. SharcParameters::accumulationBufferno longer needs explicit clearing every frame, clear it once before first use.SharcParameters::resolvedBuffernow stores radiance at full 32-bit precision. Data is still interpreted as uint3 during buffer reads/writes.SHARC_RADIANCE_SCALEis replaced bySharcParameters::radianceScale. For compatibility, the effective scale is the max of the two.SharcParameters::radianceScaleimproves utilization of the 32-bit per-frame accumulation range, does not affect the persistent data produced by the 'Resolve' pass, and can be adjusted per frame (e.g., with exposure).- Updated documentation.
- Update the Donut framework.
- Addition of a VSync option to the pathtracer sample to simulate a ubiquituous 60Hz scenario (on a typical monitor).
- Addition of cache visualization with material demodulation toggle.
- Removal of the compaction option.
- Introduction of optional material demodulation, improving detail retention when required, particularly for reflective/refractive paths.
- Addition of a debug pass to visualize hash collisions.
- Documentation updates.
- Update framework dependencies.
- Minor refactor of the pathtracing sample.
- Update to v0.14.1.0.
- Bugfix related to the internal hashgrid.
- Minor change in API to allow optional custom CUDA dll path loading.
- Update to v1.4.4.0.
- Bugfix related to updating the
hashEntriesBuffer.
- Refactor directory and source file names for consistency.
- Update to v0.13.4.0.
- Changes encompass minor refactoring.
NRC
- Update to version 0.13.3.0.
- Internal CUDA SDK fix.
- Minor documentation additions for NRC settings.
- Project structure change: the Donut framework is now located inside
/externaland no longer resides directly in the repo root. - Update NRD and Donut dependencies.
- Removal of obsolete function definitions from
/samples/pathtracer/pathtracer.hlsl. - Minor refactor to improve consistency and readability.
- Minor documentation updates for
/docs/QuickStart.mdto reflect recent UI changes. - UI restructure for the path tracer sample project to intuitively group settings.
- Update to version 1.4.3.0.
- Split SHaRC parameters to SharcParameters and SharcState which is used only during the update stage.
- API naming changes to account for
SharcandHashGridprefixes to avoid collisions. Most of tweakable#definescan now be overridden outside of the main source files. - Added extra dynamic parameters to give move control with multiple SHaRC instances.
- Moved GLSL code snippets to a separate file.
- Addition of an optional anti-firefly filter.
- Minor bug fixes with maximum number of accumulated frames.
- Update to version 0.13.2.0.
- API modification to support loading of custom paths for dependent DLLs.
- API modification to enable network config file hot-reloading.
- Bugfix for Vulkan memory type checking.
- Bugfix type definition for
NrcPackableFloatwhen using 16-bit packing. - Bugfix for stub functions in
Nrc.hlsli. - Expose the ability to configure the number of training iterations.
- Refactor and removal of deprecated or obsolete options.
- Update documentation to reflect recent changes.
- Bug fix for the
brdf.hPDF calculation and epsilon size. - Addition of global surface properties override for roughness and metalness values.
- DLL signing verification implementation for the NRC integration.
- Auto-enablement of detected raytracing-capable hardware when using the pathtracer sample.
- Documentation update.
- Update to version 1.3.1.0.
- The radiance cache now relies on frame-based accumulation. The user should provide the amount of frames for accumulation to the
SharcResolveEntry()invocation as well as the amount of frames to keep the records which do not receive any updates in the cache before they get evicted. Frame limits can be tied to FPS. This change also improves responsiveness of the cache to the lighting changes. - Robust accumulation which works better with high sample count
- Documentation updates, including debugging tips and parameters tweaking
- Misc bug fixes
- Update to v0.12.1
- Update dependencies including CUDA Toolkit to v12.5.1.
- Modifications to
Nrc.hlslito comply with Slang requirements for global variables and macro defines. - Addition of debug visualization of the cache as part of the
ResolveModes. - Removal of
queryVertexIndexdebug mechanism in favour of the Resolve pass approach. - Addition of DLL signing verification capabilities.
- Bug fix for allowing the context to be recreated internally on scene bounds change.
- Documentation update.
- Internal fix for NRC to allow it to run on NVIDIA 20xx series GPUs
- Window resizing for the pathtracer sample
- NRC's
CountersDatabuffer is now of typeStructuredBuffer - SHARC's
VoxelDatabuffers are now of typeStructuredBuffer - SHARC modifications to improve GLSL compatibility
- Readability improvements for the code sample and documentation
- Update to dependencies:
Initial release.