jproj3cts / DONUT-A-CPU-based-rendering-engine

A simple program that renders vector objects and supports various transformations upon them - such as rotations and translations.

Home Page:https://github.com/jproj3cts/DONUT-A-CPU-based-rendering-engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DONUT-A-CPU-based-rendering-engine

D.O.N.U.T. (Diligently Optimised reNdering Useful Techniques), or - more gramatically - UDONT, is an engine is capable of rendering any 3D shape you can parameterize from any distance or viewing angle. The video below demos this for a klein bottle.

klein.mp4

I adapted this from the code written by Andy Sloane, the original can be found here: https://www.a1k0n.net/2011/07/20/donut-math.html.

To compile for yourself, simply run:

gcc donut.c -o donut -lgdi32 

after cd-ing into the same directory as the donut.c file.

Note: this application currently only works on windows.

Planned Improvements

  1. Add support for changing camera angle.

About

A simple program that renders vector objects and supports various transformations upon them - such as rotations and translations.

https://github.com/jproj3cts/DONUT-A-CPU-based-rendering-engine

License:GNU General Public License v3.0


Languages

Language:C 100.0%