Skip to content

A software renderer I made using C++ and SDL to learn CG from scratch.

Notifications You must be signed in to change notification settings

aWilson41/Software-Renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Software-Renderer

This is a software renderer I made using C++ and SDL for 2D display of rendered results. Essentially this does the job of OpenGL and D3D on the processor without the use of them. Everything is written from scratch except my use of SDL to display and manage a window, LodePNG to load textures, and Assimp to load models. I wrote this code to get an in depth understanding of how rasterization and ray casting works.

Can currently rasterize point graphs, wireframes, flat shaded objects, smooth shaded objects, it can sample textures, and can do flat shaded ray casting.

To switch between results you can use the keys 0-9.

To rotate the object viewed you can use wasd.

To move the camera you can use ijkl.

To switch between scanline and barycentric triangle filling press U/Y.

To export a png image of the current results press m.

The program will read every 3d file it finds in the Content folder. Textures should be placed in Content/Textures.

alt text

alt text

alt text

alt text

About

A software renderer I made using C++ and SDL to learn CG from scratch.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published