Codync
免费开源的 1:1 Grok Bot 与 Muse 替代方案。可在 iPhone、Mac 或 Linux 桌面上将 Claude 代码、Codex、Cursor 以及 40 多个编码代理作为持久机器人使用。支持群组聊天、线程、应用。
AI 翻译
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗Based on the Ray-tracing In One Weekend series, an amazing resource for discovering ray-tracing magic!
This project started as a hand-made reimplementation of the InOneWeekend ray tracer to better understand how it works. It evolved into an interactive, real-time path tracer with progressive sample accumulation. The available rendering backends are:
Note: The original CPU rendering backends (sequential and multi-threaded) have been moved to the
legacy/cpu-rendererbranch.
mkdir -p build
cd build
cmake .. --fresh
make -j
./rayon --help
In interactive mode, the renderer is real-time on the development machine (DGX Spark) with a 100 Hz monitor. Frame rate varies with scene complexity and sample settings, while progressive accumulation keeps the display responsive as samples converge.
It uses stb single-file public domain (or MIT-licensed) C/C++ libraries for loading and saving images, SDL2 for windowing, and immediate-mode GUI controls via Dear ImGui.
Representative renders from different scenes and material setups.
You can load additional examples from resources/scenes/.
cmake to generate compilation files and build using makeCreate manually via
mkdir build
cd build
cmake .. --fresh
make -j
This will generate the appropriate compile_commands.json for clangd so that you get syntax highlighting, code completion etc. in VS Code. Additionally, CMake automatically updates the .clangd file with include paths for all subdirectories under src/, ensuring clangd has the correct -I flags without manual maintenance. You can then run from the build directory
./rayon --help
Or all at once:
make -j && ./rayon -m 2
Rendered frames are written to rendered_images/ with timestamped filenames such as output_2025-11-15_14-22-09.png. Each run produces a new PNG (timestamp uses local time, second precision), so you can sort files chronologically without overwriting previous renders.
The interactive window does not work through ssh -X (SDL needs a local OpenGL context, and its software fallback trips on MIT-SHM over the network). Use a VNC session on the server instead:
sudo apt install tigervnc-standalone-server openbox # once, on the server
scripts/rayon_vnc.sh # 1080p by default, extra args go to rayon
The script starts a headless VNC server sized to the render resolution, runs rayon inside it and prints the vncviewer -via user@host localhost:N command to connect from your machine (TigerVNC viewer tunnels through SSH itself). Ctrl-C stops rayon and the VNC server together.
Install extension clangd from LLVM. To make clangd work, ensure compile_commands.json is present (generated automatically from CMakeLists.txt during the cmake phase above). This project uses .hpp for C++ headers as a convention; keeping that convention helps tooling and includes stay consistent.
The project also integrates clang-tidy for static analysis. If clang-tidy is installed, CMake will enable it automatically during builds to check for code issues, style violations, and potential bugs. A .clang-tidy configuration file is provided to customize the checks.
This is all you need. There are tasks created in the .vscode folder that can be launched with CTRL+Shift+P -> Tasks and then you can build, and run. You can even setup key bindings for that.
If required, the documentation can be built with doxygen, which should be run in the main directory. The results are not saved in the git repository to save space.
PRs are welcome, please feel free to contribute.
libsdl for creating the real-time rendering context. It might work without it in non-interactive mode but this has not been tested. Use at your own risk (or create a PR).