$ account NVIDIA-RTX
NVRHI is a C++ hardware abstraction layer for real-time GPU programming. It exposes a single vendor-neutral RHI API (defined in include/nvrhi/nvrhi.h) and implements it through D3D11, D3D12, and Vulkan backends. Applications interact with interfaces such as IDevice, ICommandList, IBuffer, ITexture, and pipeline objects, while each backend translates those calls into native graphics API operations. The library is not an application or service; its primary entry points are device factory functions like nvrhi::d3d12::createDevice, nvrhi::d3d11::createDevice, and nvrhi::vulkan::createDevice, plus an optional validation layer created through nvrhi::validation::createValidationLayer.
NVIDIA Streamline is a middleware SDK that simplifies integrating NVIDIA graphics technologies—including DLSS (super resolution, frame generation, ray reconstruction), Reflex (low latency), NIS (image scaling), DeepDVC (dynamic contrast), and DirectSR—into DirectX 12, 11, and Vulkan games on Windows. It provides a unified API, a plugin-based architecture where each feature is a separate loaded module, and an interposer (hooking) layer that intercepts graphics API calls (DXGI, D3D12, Vulkan) to automatically inject features without requiring game engine modifications. The SDK includes a core infrastructure with parameter sharing, logging, thread management, OTA updates, security verification, and a compute abstraction layer. While primarily an application integration SDK, it is not a research project; all code is production-oriented middleware. The repository is well-structured with clear separation of concerns, but heavily depends on NVIDIA-specific SDKs (NGX, NVAPI, Reflex) and is Windows-only, limiting portability. Build system uses premake5 with a custom packman package manager.
RTXPT is a high-fidelity real-time path tracing reference implementation developed by NVIDIA. It serves as both a standalone demo application and a reference for integrating advanced rendering techniques into production engines. The codebase implements state-of-the-art path tracing with ReSTIR (Reservoir Spatiotemporal Importance Resampling) for direct and global illumination, NEE-AT (Next Event Estimation - Adaptive Temporal) for lighting feedback, and Stable Planes for denoising. It integrates heavily with NVIDIA RTX SDKs including RTXDI, NRD (Denoiser), OMM (Opacity Micromaps), and DLSS (Streamline). The application supports both DirectX 12 and Vulkan backends via the nvrhi abstraction layer, though Vulkan support is noted as work-in-progress. The architecture follows a modular design with separate components for lighting bakers, material systems, shader compilation, and rendering passes. It uses the Donut engine framework for scene management and shader compilation infrastructure.