Skip to content
/ fxapi Public

Software 3D renderer for my own education/amusement

License

Notifications You must be signed in to change notification settings

wernsey/fxapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FXAPI

A simple software 3D renderer in C.

It uses my bitmap module as a framebuffer and for texture maps.

The renderer uses Barycentric coordinates for texture mapping as in tinyrenderer, which is a bit slow. I was working on a scanline rasterizer at some point, but I had some trouble with the perspective correction, and didn't get around to finishing it.

The demo applications use the fenster cross-platform library by GitHub user zserge.

Links

Other references

  1. https://www.davrous.com/2013/06/13/tutorial-series-learning-how-to-write-a-3d-soft-engine-from-scratch-in-c-typescript-or-javascript/
  2. http://www.3dcpptutorials.sk/index.php?id=60
  3. https://www.opengl.org/discussion_boards/showthread.php/156767-Clipping-triangles-in-clip-space
  4. https://github.com/bulletphysics/bullet3/blob/master/examples/TinyRenderer/TinyRenderer.cpp
  5. http://www.gamasutra.com/view/news/168577/Indepth_Software_rasterizer_and_triangle_clipping.php
  6. http://myweb.lmu.edu/dondi/share/cg/hsr.pdf
  7. Object files
  8. MD2 files
  9. MD5 files

In the future I might consider adding support for these file formats: