Conversation
New renderer (mode 4) using NVIDIA OptiX SDK for hardware-accelerated ray intersection. Includes custom intersection programs for spheres and rectangles, optimized device programs (direct RNG, rsqrtf normalize, manual Schlick), persistent GPU buffers, and SDF geometry filtering. Benchmarks: ~2.76s vs CUDA ~2.50s at 1024spp/1080p. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
There was a problem hiding this comment.
Pull request overview
Adds an optional NVIDIA OptiX rendering backend (offline + SDL progressive) to RayON, integrating it into the CLI/menu and build system alongside existing CPU/CUDA renderers.
Changes:
- Introduces OptiX offline renderer (
RendererOptiX) and OptiX+SDL progressive renderer (RendererOptiXProgressive). - Adds OptiX host/device implementation and PTX build step (custom NVCC PTX compilation + SDK detection).
- Updates ancillary docs/scripts/config (README known-issues text, benchmark script,
.clangd, newCLAUDE.md, new performance note doc).
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
src/rayon/main.cc |
Adds OptiX modes (4/5) to CLI validation, menu, and renderer switch. |
src/rayon/gpu_renderers/renderer_optix_host.hpp |
New offline OptiX IRenderer implementation calling OptiX host API. |
src/rayon/gpu_renderers/renderer_optix_progressive_host.hpp |
New SDL progressive OptiX renderer mirroring CUDA progressive flow. |
src/rayon/gpu_renderers/optix/optix_renderer.cu |
Host-side OptiX state/pipeline/GAS/SBT setup, launches, downloads, cleanup. |
src/rayon/gpu_renderers/optix/optix_programs.cu |
OptiX device programs (raygen/miss/closesthit/intersection) compiled to PTX. |
src/rayon/gpu_renderers/optix/optix_params.h |
Shared OptiX host/device structs/enums (launch params, SBT records, PRD). |
CMakeLists.txt |
Adds OptiX source + optional SDK discovery and PTX build target. |
README.md |
Edits “Known issues” text. |
explanations/VULKAN_VS_CUDA_PERFORMANCE.md |
Adds a new explanation note comparing HW RT vs CUDA path tracing. |
CLAUDE.md |
Adds repository guidance (build commands, layout, conventions). |
bench.sh |
Adds optional mode parameter to benchmark different backends. |
.clangd |
Adds OptiX include path. |
You can also share your feedback on Copilot code review. Take the survey.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
1 similar comment
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
1 similar comment
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
1 similar comment
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
1 similar comment
Docs out of sync?This PR changes 7 source file(s) but no pages under If this is a significant change (new feature, new CLI flag, new material/geometry type, performance improvement), please update the relevant documentation page. See the mapping in If this change genuinely doesn't affect the docs, you can ignore this message. |
|
Merging... |
No description provided.