Software Renderer Studying repo.
Target support is gcc
first then later will add support for MSVC
.
For now, the former support is there.
Various testbeds are inside apps
.
In each directory, it's self-contained applications using Makefile to build.
Just go there, and hit make
.
Inside common/
directory, it's common code consisting of the following systems
Platform
- platform related utility and macrosFrameBuffer
- act as holder for pixels before writing into image fileGraphics
- main graphics functionsGraphicsUtil
- utility graphics functionsLogger
- logging utlity to standard output, or standard error outputMathUtil
- math related utility functions i.e. random integer or floating-point numberObjLoader
-.obj
file loaderProfile
- profiler measuring executable time of function or code convenientlyTGAImage
-.tga
image writterTypes
- supports essential math structure i.e.Vec2i
for integer,Vec2f
for floating-point type, etc
Each program in its separate directory inside apps/
i.e. apps/wireframe_renderer/
represents validation and testbed
for one or more of software renderer's technique. Whenever it matures, it will be added into the common
code inside common/
gradually.
See TODO for roadmap and TODO.
MIT, Wasin Thonkaew It will be awesome if you benefit from using any part of this project. Please let me know, it will make me happy.