Skip to content

zzxzzk115/VRaytracer

Repository files navigation

VRaytracer

VRaytracer is a raytracer written in C++

VRaytracer is still under development.

Screenshots

Example 001

Features

  • GUI with ImGui
  • Multi-threaded rendering
  • Configurable scenes
  • PBR Shading & Materials (TODO)
  • Wavefont OBJ support (TODO)

Prerequisites

To build VRaytracer, you must first install the following tools.

Windows 10/11

  • Visual Studio 2019 (or more recent) with C++ Desktop Development Environment
  • CMake 3.20 (or more recent)
  • Git 2.1 (or more recent)

Ubuntu 22.04 (Linux or WSL2)

Install prerequisite packages:

sudo apt-get update
sudo apt-get install build-essential cmake git libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev libomp-dev

MacOS

  • XCode 13 (or more recent)
  • CMake 3.20 (or more recent)
  • Git 2.1 (or more recent)

Build VRaytracer

Clone this repository:

git clone --recursive https://github.com/zzxzzk115/VRaytracer.git

Build on Windows

Build it automatically:

Just double-click BuildWindows.bat or you can simply use Jetbrains CLion to debug or release.

Build it manually:

cmake -S . -B build

Then open the generated solution file with Visual Studio.

Build on Linux / WSL2

Build it automatically:

./BuildLinux.sh

Build on MacOS

Build it automatically:

./BuildMacOS.sh

Build it manually:

cmake -S . -B build -G "Xcode"

Then open the generated project file with XCode.

If you didn't find OpenMP, you may need to install libomp with Homebrew:

brew install libomp

Acknowledgements

We would like to thank the following projects for their invaluable contribution to our work:

  • spdlog (Logger)
  • imgui (GUI)
  • glad (OpenGL Loader & Extension)
  • glfw (Window Abstraction)
  • stb (Image Loader)
  • args (CLI Arguments Handler)

License

This project is licensed under the MIT license.

About

VRaytracer is a raytracer written in C++.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published