Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.71 KB

README.md

File metadata and controls

42 lines (33 loc) · 1.71 KB

Project Description

Stemming from a Computer Graphics class assignment using Peter Shirley's Ray Tracing in One Weekend (Version 1.54 of the book specifically), this repo aims to expand the functionality and optimization of the original by rewriting my original class submission from the ground up. In addition to rewriting the project in its original language of choice, C++, the repo also intends to host several different implementations written in other languages as a grounds for learning or improving knowledge on a given language in addition to performance and syntax comparisons.

The project operates under the GNU Affero General Public License. Full details within LICENSE.

Usage

The C++ portion of the project uses CMake (Version 3.22 >= required), so its Makefile can be generated normally. After doing so, it can be compiled with make.

The program can be used to render a PPM file when provided the desired width, height, and file name:

raytrace [width] [height] [desired filename...]

Note that make clean-img exists to clear all PPM files from the img folder generated post-build.

The Java portion of the project uses Gradle (Version 8.7 >= required) under the application plugin. As such, all application commands can be used, such as gradle run and gradle build.

Current Goal(s)

  • Finish C++ rewrite with new features, improved syntax, and writing conventions
    • Add multithreading
    • Continue with the book series after "One Weekend" (OPTIONAL)
  • Write Rust implementation with parity to the finished C++ implementation

Credit