alanjian85 / opticus

An implementation of Ray Tracing in One Weekend in GLSL shaders

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Opticus

Opticus ([ˈɔpt̪ɪkʊs̠], a Latin word meaning "optic") is an implementation of the ray tracer introduced in Peter Shirley's remarkable Ray Tracing in One Weekend series. It incorporates several enhancements and optimizations to render a photorealistic scene featuring two spheres and one cube with exceptional efficiency, generating frames seamlessly in real-time (though some noise may be present, which can be mitigated by staring at a certain position shortly). This performance is made possible through the utilization of OpenGL's highly efficient shader mechanism, enabling the whole rendering process to run on the GPU.

Opticus

Build Instructions

To build Opticus, the following libraries are required (you can install them using the package manager of your operating system):

After the dependencies listed above are all installed, run the following instructions to build Opticus:

git clone https://github.com/alanjian85/opticus.git --recursive && cd opticus
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

The compiled binary can then be found in the directory build. Execute it from the root of Opticus so that it can access the shader source files.

References

About

An implementation of Ray Tracing in One Weekend in GLSL shaders

License:MIT License


Languages

Language:C++ 58.1%Language:GLSL 39.3%Language:CMake 1.4%Language:C 1.2%