This repository contains the assignments for COMS30115 "Computer Graphics", a rasteriser and raytracer are implemented.
Both the raytracer and rasteriser render a Cornell Box.
On university computers, simply run ./university-build.sh
and
everything will be compiled in ./build
, you can find the executables
in ./build/bin
$ mkdir build
$ cd build
$ cmake .. -DGLM_INCLUDE_DIR=/path/to/glm \
-DSDL_INCLUDE_DIR=/path/to/include/SDL \
-DSDL_LIBRARY=/path/to/libSDL.so \
-DCMAKE_BUILD_TYPE=Release
$ make
Build targets:
raytracer
: Basic ray tracer without extensions (bin/raytracer
)rasteriser
: Basic rasteriser without extensions (bin/rasteriser
)raytracer-extensions
: Ray tracer with extensions (bin/raytracer-extensions
)rasteriser-extensions
: Rasteriser with extensions (bin/rasteriser-extensions
)
Running ./bin/raytracer
after make
will launch the ray tracer.
Controls:
Ctrl-C
: exit
Running ./bin/rasteriser
after make
will launch the rasteriser.
If you are running the extended rasteriser with texture mapping, make sure the
bitmap space.bmp
exists in your current directory, this is included in the
top level of the repository
Controls:
w
: Camera forwards
: Camera backwarda
: Camera leftd
: Camera righti
: Light move forwardk
: Light move backwardj
: Light move leftl
: Light move rightu
: Light move upo
: Light move downmouse
: CameraCtrl-C
: exit.
The basic ray tracer is built with
- GLM 0.9.8
- SDL 1.X (tested with both 1.2 and 1.3)
- CMake v2.8 or above
-
indicates a completed extension
-
indicates an unattempted extension
-
Anti-aliasing
-
Depth of field
-
Indirect illumination
-
Textures
-
Loading general models
-
Hierarchical spatial structures for geometry storage
-
Specular materials
-
Fractals
-
Optimisations
-
Global illumination
vim: set ft=markdown: