Astral Raytracer is a C++ ray tracing renderer that provides a simple implementation for understanding basic ray tracing principles.
AstralRaytracer.Main.mp4
The project is organized into the following directories:
- AstralRaytracerLib: Contains the core ray tracing library.
- AstralRaytracerApp: Houses the main application that utilizes the ray tracing library.
- AstralRaytracerTests: Includes tests for ensuring the correctness of the ray tracing implementation.
- external: Holds third-party dependencies used in the project.
The project utilizes the following third-party libraries:
- glm: A mathematics library for graphics programming, providing vector and matrix operations.
- mimalloc: A memory allocator designed for performance and memory isolation.
- efsw: A cross-platform file system monitoring library used for monitoring changes in the project.
- tinygltf: A header-only C++11 glTF 2.0 loader.
- glfw: A multi-platform library for creating windows with OpenGL contexts and managing input.
- spdlog: A fast C++ logging library.
- glBinding: A library for accessing OpenGL bindings in a type-safe manner.
- yamlcpp: A YAML parser and emitter in C++.
- stduuid: A library for creating, parsing, and manipulating UUIDs.
- nativefiledialog-extended: A small C library with that portably invokes native file dialogs.
- esfw: A C++ cross-platform file system watcher and notifier.
- CLI11: A command line parser for C++11 and beyond.
To build the Astral Raytracer project, follow these steps:
- C++ compiler (e.g., g++)
- CMake
-
Clone the repository:
git clone https://github.com/josephbk117/AstralRaytracer.git cd AstralRaytracer -
Build the project using CMake:
mkdir build cd build cmake .. make -
Run the executable:
./AstralRaytracer
Astral Raytracer is designed to be easily opened as a CMake project in Visual Studio, providing a seamless development experience. Follow these steps:
- Open Visual Studio.
- Select "Open a local folder" and navigate to the cloned Astral Raytracer repository.
- Visual Studio will detect the CMakeLists.txt and configure the project.
Now you can build and run the project directly from Visual Studio. It also easily allows WSL2 integration and can run the application on an installed distro of Linux.
Contributions are welcome! If you encounter any issues or have improvements, please open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
