Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/willprice/computer-graphics-assigments
A ray tracer and rasteriser built using SDL and GLM for Computer Graphics (COMS30115)
https://github.com/willprice/computer-graphics-assigments
computer glm graphics rasteriser ray-tracer raytracer sdl
Last synced: 21 days ago
JSON representation
A ray tracer and rasteriser built using SDL and GLM for Computer Graphics (COMS30115)
- Host: GitHub
- URL: https://github.com/willprice/computer-graphics-assigments
- Owner: willprice
- License: gpl-3.0
- Created: 2017-01-28T15:17:48.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-03T20:21:22.000Z (almost 8 years ago)
- Last Synced: 2025-01-11T21:53:10.605Z (23 days ago)
- Topics: computer, glm, graphics, rasteriser, ray-tracer, raytracer, sdl
- Language: C++
- Homepage:
- Size: 5.92 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Computer Graphic Assignments
This repository contains the assignments for COMS30115
"Computer Graphics", a rasteriser and raytracer are implemented.Both the raytracer and rasteriser render a
[Cornell Box](https://en.wikipedia.org/wiki/Cornell_box).## Build
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
### Ray tracer
Running `./bin/raytracer` after `make` will launch the ray tracer.
Controls:
* `Ctrl-C`: exit### Rasteriser
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 repositoryControls:
* `w`: Camera forward
* `s`: Camera backward
* `a`: Camera left
* `d`: Camera right
* `i`: Light move forward
* `k`: Light move backward
* `j`: Light move left
* `l`: Light move right
* `u`: Light move up
* `o`: Light move down
* `mouse`: Camera
* `Ctrl-C`: exit.## Dependencies
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## Extensions
- [x] 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 illuminationvim: set ft=markdown: