aboutsummaryrefslogtreecommitdiff
path: root/raytracing/README.md
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-03-09 21:49:43 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-03-09 21:49:43 +0800
commit99ac5b94e40b1b95be6ebc061f6dcee4d4dcfed5 (patch)
treea5752bac23c6c1cbfb23130e2e51c1e1155723ec /raytracing/README.md
parent82be1151b5c9e49ccba238ec6e4b18a2cb8fb23d (diff)
downloadrcc-project-99ac5b94e40b1b95be6ebc061f6dcee4d4dcfed5.tar.gz
rcc-project-99ac5b94e40b1b95be6ebc061f6dcee4d4dcfed5.tar.xz
Establish a well-structured modern C++ project architecture
Focus on code quality: Treat strict warnings as errors, memory checks with Sanitizers, Clang formatting and static analysis Performance optimization: LTO, ccache
Diffstat (limited to 'raytracing/README.md')
-rw-r--r--raytracing/README.md45
1 files changed, 44 insertions, 1 deletions
diff --git a/raytracing/README.md b/raytracing/README.md
index 4e768b5..71f3ff5 100644
--- a/raytracing/README.md
+++ b/raytracing/README.md
@@ -1 +1,44 @@
-# \ No newline at end of file
+# Ray Tracer
+
+Inspired by the book _Ray Tracing in One Weekend_, I'd like to write this project using modern C++ (C++ 23) and attempt to use high-performance approaches.
+
+## Build & Run
+
+Make Sure your build system is properly set up:
+```bash
+cmake -S . -B build
+```
+
+Configure for Release:
+```bash
+# Release mode
+cmake -B build -DCMAKE_BUILD_TYPE=Release
+#Debug mode
+cmake -B build -DCMAKE_BUILD_TYPE=Debug
+```
+
+Compile the source code:
+```bash
+cmake --build build
+```
+
+To normalize the coding style
+```bash
+cmake --build build --target format
+```
+
+Suggests improvements to follow good C++ programming practices:
+```bash
+cmake --build build --target tidy
+cmake --build build --target tidy-all
+```
+
+Run the program
+```bash
+./build/apps/RayTracer > images/image.ppm
+display images/image.ppm
+```
+
+## License
+This project is licensed under the **GNU General Public License v3.0**.
+See the [LICENSE](LICENSE) file for the full text. \ No newline at end of file