Software rendering tutorials/examples

Started by
19 comments, last by ZachBethel 9 years, 7 months ago

I've been looking around for a few software rendering projects: simple engines, tutorials or even some examples. I managed to found this highly portable, but outdated, engine called Yeti3D: http://sourceforge.net/projects/yeti3dpro/

I'm looking for modern approaches or alternatives, or even tutorials on this topic. Any tips? :)

Advertisement

Not even a book? :(

Not even a book? sad.png

Your best bet is sifting through the source of some old school demo. Might not be the best structured code but gives ideas about clipping etc. The best of class parallel rendering systems that rival or give hardware renderers a good fight is the half-space, grid or tile-based (threaded), a la Nick Capens pixel drawers (don't know what to call them really as they don't do scan line rasterisation, really a bastard version of ray casting). I think his system was bought up by some VCs and later commercialised?

PS - (speculative) His web history has been wiped clean not to give too many hints about the tech behind. I guess due to the patenting or other issues.

PS2 - I might be right after all :-) http://transgaming.com/swiftshader

The cheap version - http://www.scratchapixel.com/

This website has lots of information about writing your own software renderer. Not all the lessons are available, but the ones that are can really help.

The expensive version - http://www.pbrt.org/

http://www.amazon.com/Physically-Based-Rendering-Second-Edition/dp/0123750792

The book walks you through the source code for the rendering engine explaining how everything works. By downloading the code and working through it with the book you should be able to write your own rendering engine (provided you understand all the math).

I think, therefore I am. I think? - "George Carlin"
My Website: Indie Game Programming

My Twitter: https://twitter.com/indieprogram

My Book: http://amzn.com/1305076532

I've been looking around for a few software rendering projects:

Why? Do you think it'll render faster?

I've been looking around for a few software rendering projects:

Why? Do you think it'll render faster?

Obviously, no. It's a curiosity thing. I'm a big fan of Quake 1's software renderer and wanted to implement something of my own.

then your first source of information should be the Quake1 source code.

beside the assembler version, there is also a c version that you could experiment with.might be the best way to learn it :)

this is a great article that explains triangle rasterization and interpolation over its surface . It also explains texture filtering that got us free from blocky textures.

http://fgiesen.wordpress.com/2013/02/08/triangle-rasterization-in-practice/

Amazing link, thanks @JohnnyCode

ok. you can make your whole game greyscale, then have a material id, and then its just colour operations on r g and b, and i bet you all the latest crazo games do it.

This topic is closed to new replies.

Advertisement