/rasterizer

Rasterizer in c++ using SDL and GLM .

Primary LanguageC++MIT LicenseMIT

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: