Concordia University, COMP 371
Find a file
2024-03-03 22:43:27 -05:00
.github/workflows Update cmake-single-platform.yml 2024-01-28 20:26:45 -05:00
assets init 2024-01-28 20:14:37 -05:00
external init 2024-01-28 20:14:37 -05:00
src make area light 2024-03-03 21:52:38 -05:00
.clangd add clangd for nvim lsp 2024-02-01 16:54:17 -05:00
.gitignore update gitignore 2024-03-03 22:43:27 -05:00
CMakeLists.txt make area light 2024-03-03 21:52:38 -05:00
main.cpp init 2024-01-28 20:14:37 -05:00
README.txt init 2024-01-28 20:14:37 -05:00


This code is used for three purposes:

1) Build the official course solution
2) Build the student solution 
3) Build a dummy application that showcases some of the codebase.

Each build is controlled by two defines:
COURSE_SOLUTION and STUDENT_SOLUTION.

If none of these variables are defined the dummy code is built. This is the default behaviour.
If COURSE_SOLUTION is defined, the code expects the course solution (this should never be defined)
IF STUDENT_SOLUTION is defined the code expects a student solution is implemented in the src folder. Have a look at the main.cpp file for the expected interface.

You can switch on and off these defines in the CMakeLists.txt file. 


Building the dummy test

1) Create build folder: mkdir build
2) cd build
3) cmake ../
4) make
5) ./raytracer

Building the solution:
1) Uncomment the #add_compile_options(-DSTUDENT_SOLUTION) line in the CMakeLists.txt 
2) Create build folder: mkdir build
3) Create the src folder: mkdir src
3) cd build
3) cmake ../
4) make
5) ./raytracer <filename.json>


Note that some test scenes are provided in the assets folder. You can do a soft link to the assets folder in the build folder for your convenience.