Skip to content

A small, SDL2 based software renderer for 3D models

License

Notifications You must be signed in to change notification settings

nicole-alassandro/QuickRender

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickRender

A small, SDL2 based software renderer for 3D models

cow teapot

Running

Currently this application is only tested on macOS (10.14+)

$ ./compile.sh
$ ./Build/QuickRender <obj-file>

Dependencies

This program relies on SDL2.Framework to be installed on the system

Keyboard Controls

Key Action
W Rotate -roll
S Rotate roll
A Rotate -pitch
D Rotate pitch
Q Rotate -yaw
E Rotate yaw
1 Wireframe Mode
2 Flat Shading Mode
3 Gouraud Shading Mode
4 Phong Shading Mode
5 Toon Shading Mode

Shading Modes

Wireframe

wireframe

Flat Shading

flat

Gouraud Shading

gouraud

Phong Shading

phong

Toon Shading

phong

Examples

sphere.mov
teddy_light.mov
teapot_light.mov

Caveats

  • Quaternion rotation flip issue
  • No zooming in/out when viewing models
  • Shading is interpolation only, does not include any illumination model
    • Illumination models would only be added in conjunction with .mtl file parsing
  • No texture support

Resources

About

A small, SDL2 based software renderer for 3D models

Topics

Resources

License

Stars

Watchers

Forks