Rasterizer in c++ using SDL and GLM .
C++ Python C Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Rasterizer

Rasterizer for the University of Bristol Computer Graphics course (course work 2), links with the Ray Tracer.

See the report for a full overview.

How to Build

  • Download a copy of GLM and place it inside of the root directory.
  • Then use Makefile to build the program by running the following command in the directory.
make

Latest Rendered Image

Screenshot

Features

Basic components of a rasteriser were implemented along with the following extensions:

  • Optimisations
  • Shadows
  • Soft Shadows
  • Interpolation Changes & Basic Clipping
  • Anti-Aliasing - FXAA
  • Parallelisation - GPU
  • Frame buffer and Deferred Rendering
  • Directional Lights - Light as a Camera

YouTube Videos

Four clips show the rasteriser in action:

Setup project with Visual Studio 201X for Windows

  • Get a GLM folder and the correct version of SDL, we are using SDL 1.2.5.
  • Place glm folder inside of Source, for ease
  • Extract SDL contents and place include and lib folders inside of a directory you can remember, e.g. I have mine at c:\vs_lib.
  • Take SDL.dll and place it into your project Source folder also (we are gonna move it in a sec)
  • Okay now we are ready to open VS (File -> New -> Create new project from Source -> Console app -> Select directory where you have cloned this repo)
  • When its loaded, rightclick project name (not solution) and select properties

In Properties change these 3 sections (I have chosen for DEBUG: x64)

  1. VC++ Directories
    • Include Directories, add c:\vs_lib\include
    • Library Directories, add c:\vs_lib\lib
  2. C/C++
    • Additional Include Directories, add the location of your GLM folder, e.g. C:\Users\harrymt\Documents\GitHub\ray_tracer\Source\glm
  3. Linked
    • Input, SDL.lib;SDLmain.lib;

Technologies

Uses the following technologies: