adriengivry / Software-Rasterizer

CPU Software Rasterizer project made with SDL

Home Page:https://adriengivry.github.io/SDL-Rasterizer/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Software Rasterizer

Here is our CPU Software Rasterizer project made during our first Game Programming year. We had 6 weeks to make it in a group of 2.

Content

The project is divided into 7 main features :

  • Z-Buffer
  • Phong (Per-Vertex)
  • Blinn-Phong (Per-Pixel)
  • Wireframe with Backface Culling
  • Bilinear filtering
  • Alpha-Blending
  • Anti-aliasing

There is an hidden "konami code" in the documentation which start a secret animation.

Code Architecture

Here is a class diagram of our project alt text

How to build it

If you plan to build our project in optimal conditions, you should have :

  • Windows
  • Visual Studio 2017
  • C++ 17

Libraries are included to the project, you don't need to setup anything, just press play. 64-bits and 32-bits systems are both supported (Debug and Release mode)

External dependencies

For this project we used some external libraries :

  • SDL2 to draw pixels on screen
  • SDL2_ttf to draw UI
  • SDL2_Image to import PNG files
  • IrrKlang for audio (Yes, somewhere in the project there are some musics)

Screenshots

Z-Buffer

alt text

Phong

alt text

Blinn-Phong

alt text

Wireframe with Backface Culling

alt text

Bilinear filtering

alt text

Alpha-Blending

alt text

Anti-aliasing

alt text

Secret animation (Find the konami code in the doc to see it)

alt text

Download

About

CPU Software Rasterizer project made with SDL

https://adriengivry.github.io/SDL-Rasterizer/


Languages

Language:C++ 100.0%