project-render is a real-time rendering engine for high-fidelity Architectural Visualization (ArchViz). It uses DirectX 12, DXR ray tracing, NVIDIA Streamline, and optional final-frame denoisers for physically based lighting and export workflows.
- Unified DXR Path Tracer: Progressive path tracing with high-precision accumulation (
R32G32B32A32_FLOAT). - Wavefront Architecture: Highly optimized phase 1-3 wavefront runtime, improving stability, speeding up glass/UV lookups, and fixing reflections.
- Multiple Importance Sampling (MIS): Power-heuristic MIS combining BRDF and light sampling to reduce fireflies on glossy surfaces.
- ReSTIR DI & GI: Reservoir-based spatio-temporal importance resampling, now fully integrated with the wavefront path.
- Efficiency Optimizations: Russian roulette, compact material data, opaque hardware fast paths, Opacity Micromaps, and secondary GI/shadow thinning.
- NVIDIA DLSS Ray Reconstruction (DLSS-RR) for supported real-time reconstruction through NVIDIA Streamline.
- Intel Open Image Denoise (OIDN) 2.x for final-frame/export denoising workflows.
- NVIDIA OptiX Denoiser 9.x as an optional NVIDIA/CUDA final-frame denoiser.
- Universal Model Import: Robust support for glTF 2.0, FBX, OBJ, STL, and fast drag-and-drop file import.
- OpenPBR-Oriented Material Runtime: Clearcoat, transmission, and tri-planar mapping.
- Foliage & Environment: Grass emitting, foliage performance improvements, and real-time volumetric clouds.
- ArchViz Material Editor: Single scene material editor combining specular/metallic workflows. Massively accelerated UI rendering.
- Physical Camera & Lighting: IES light profiles, Prague Sky Model with new intensity controls, and physical exposure. Also includes a Clay Render mode for rapid lighting tweaks.
- Qt UI Integration: Event-driven, hardware-accelerated Qt6 UI with highly optimized material/environment editing panels.
- Advanced Selection Tools: Fast node locking for easier scene editing, selection bounding box outlines, and Shift-drag quick copy/instancing support.
- Saved Views & Camera Sequencing: Keyframed animation paths with per-segment easing and MP4 export.
- 3ds Max 2024/2025 LiveLink: Named-pipe live sync for nodes,
.prmeshpayloads, shared materials, and geometry streaming. - Archicad 28 LiveLink: Pipe-based scene sync with stable material identity across re-syncs.
- Windows 10/11
- NVIDIA RTX GPU recommended for DXR, DLSS-RR, and OptiX
- Visual Studio 2022
- CMake 3.20+
- Qt 6, optional but recommended for the full editor UI (
Widgetscomponent required) - vcpkg for Assimp, fmt, and other third-party dependencies
Due to licensing agreements, these SDKs are not included in the public repository. Acquire them directly from the vendors and place them under thirdparty/ when needed:
thirdparty/archicad-sdk: Archicad API Development Kit, required for the Archicad 28 LiveLink plugin.thirdparty/sketchup_sdk: SketchUp C API SDK, required for SketchUp import integration.thirdparty/max2024-sdk/thirdparty/max2025-sdk: 3ds Max SDKs, required for 3ds Max plugins.thirdparty/vray-sdk: V-Ray AppSDK or headers, required only for specific V-Ray material conversion paths.
Smaller dependencies such as OIDN and Streamline are included directly in the repo or fetched during build.
Configure with Qt enabled:
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 `
-DCMAKE_TOOLCHAIN_FILE="C:/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake" `
-DUSE_QT_UI=ONBuild the Release target:
cmake --build build --config Release --target project-renderUSE_QT_UI=ON: Enables the Qt editor UI.USE_OPENIMAGEDENOISE=ON: Enables OIDN support usingthirdparty/oidn.USE_OPTIX_DENOISER=ON: Enables NVIDIA OptiX final-frame denoising.OPTIX_ROOT=...: Path to the NVIDIA OptiX SDK root whenUSE_OPTIX_DENOISER=ON.
OptiX is optional and is disabled by default. Use NVIDIA OptiX SDK 9.0 or newer; OptiX SDK 9.1.0 has been tested with CUDA Toolkit 12.2.
Example:
cmake -S . -B build -G "Visual Studio 17 2022" -A x64 `
-DUSE_QT_UI=ON `
-DUSE_OPENIMAGEDENOISE=ON `
-DUSE_OPTIX_DENOISER=ON `
-DOPTIX_ROOT="C:/ProgramData/NVIDIA Corporation/OptiX SDK 9.1.0"
cmake --build build --config Release --target project-renderIf you see this runtime log:
OptixDenoiser: USE_OPTIX_DENOISER is OFF; OptiX denoise skipped.
the executable was built from a CMake cache where USE_OPTIX_DENOISER was disabled. Reconfigure that build directory with -DUSE_OPTIX_DENOISER=ON, then rebuild.
The LiveLink plugins are built from their respective sub-projects in tools/.
Ensure thirdparty/archicad-sdk is present, then build:
cmake -S tools/archicad28 -B build-archicad28-v142 -A x64
cmake --build build-archicad28-v142 --config ReleaseEnsure the matching Max SDKs are available under thirdparty/, then build:
cmake -S tools/3dsmax2024 -B build-max2024 -A x64
cmake --build build-max2024 --config Release
cmake -S tools/3dsmax2025 -B build-max2025 -A x64
cmake --build build-max2025 --config ReleaseCheck tools/3dsmax2025/README.md or tools/archicad28/README.md for plugin installation details.
- Engine startup:
./build/Release/bin/project-render.exe --max-livelink-pipe - Live sync supports incremental updates for nodes, visibility, meshes, materials, and selection.
- DLSS requires an NVIDIA AppID through the
SL_APPLICATION_IDenvironment variable orsl_appid.txtin the repo root. - DLSS-RR is a temporal real-time reconstruction path and is separate from final-frame OIDN/OptiX denoising.
- Off: Presents the converged path-traced accumulation directly.
- OIDN CPU/GPU: Cross-vendor final-frame denoising path, depending on the available OIDN backend.
- OptiX: NVIDIA/CUDA final-frame denoiser. Requires
USE_OPTIX_DENOISER=ON, a CUDA-capable NVIDIA GPU matching the D3D12 adapter, and a compatible OptiX SDK.
- Grey viewport: Ensure a sky model is selected or an HDRI is loaded in the Environment panel.
- OptiX stub log: Reconfigure and rebuild the exact executable you launch with
-DUSE_OPTIX_DENOISER=ON. - OptiX runtime failure: Verify CUDA Toolkit installation, NVIDIA driver support, and that the D3D12 adapter matches the CUDA device.
- Deleting objects with DXR enabled: The renderer forces an acceleration-structure rebuild. If you see crashes, verify build geometry flags.
This project is a high-performance rendering scaffold evolved into a feature-rich ArchViz tool in collaboration with an AI coding assistant.