2D/3D graphics software rasterizer toy project for funsies.
This repository has been archived on 2023-07-11. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Gered 648832d939 bit of src tree shuffling. main.cpp to be replaced with test programs
full disclosure: i'm a bit unsure of what is the best way to do this
at this point in time. the end goal with this project is that it
becomes a library to be used by other apps (of course), but need tests
to test various library functionality. unsure how best to organize this
with cmake (and since i'm using clion, i kind of would prefer it works
nicely and integrated with the ide...).

i figure this is going to be a trial and error approach that will
evolve over the next while
2015-01-11 22:52:55 -05:00
cmake initial commit (just stuffing all my test project files into a git repo) 2015-01-04 18:43:57 -05:00
include bit of src tree shuffling. main.cpp to be replaced with test programs 2015-01-11 22:52:55 -05:00
src bit of src tree shuffling. main.cpp to be replaced with test programs 2015-01-11 22:52:55 -05:00
test bit of src tree shuffling. main.cpp to be replaced with test programs 2015-01-11 22:52:55 -05:00
.gitignore initial commit (just stuffing all my test project files into a git repo) 2015-01-04 18:43:57 -05:00
CMakeLists.txt bit of src tree shuffling. main.cpp to be replaced with test programs 2015-01-11 22:52:55 -05:00
README.md initial commit (just stuffing all my test project files into a git repo) 2015-01-04 18:43:57 -05:00

Software Rasterizer

A 2D and 3D graphics software rasterizer implemented in C. Includes SDL backend to abstract OS-specifics (window management, input, etc).

This is basically a "for fun" toy project of mine. Probably not too noteworthy and definitely has been done better before by people far smarter then me!

In early development! Pre-alpha quality code!

2D features:

  • 24 bit (RGB) and 32 bit (RGBA) surface support
  • drawing primitives: pixel, line, rectangle (outline and filled)
  • sprite drawing: solid, transparent, blending, color tinting
  • clipping support on all drawing operations as well as "fast" variants which skip clipping
  • image -> surface loading via stb_image
  • TTF -> sprite font texture atlas via stb_truetype (TODO)

3D features:

  • TODO