Sign in to follow this  
peter_b

Need a book for a software 3d renderer

Recommended Posts

Hello. Im planning to develop a 3d software renderer that will support texturing, lights, invisible face culling, z-sorting and enviroment maps. I am looking for a reference book for this project, the book that was recomended to me is Lamothes book: Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization. But iv read his previus book on 2d programming and i didn't like his style at all i must say. :/ So i was wondering if anyone know a better book that deals with implementing a software renderer from the ground up. And preferebly deals with some of the above mentioned features aswell. Thanks in advance!

Share this post


Link to post
Share on other sites
If you take a look on this page there's a thing called the 3dgpl2 which is basically a free e-book on writing a software engine. I don't think it actually gives you complete source for one, it does have lots of code fragments showing you how to implement stuff, you've just got the stich them together yourself [smile]

Share this post


Link to post
Share on other sites
I can see why people wouldn't like LaMothe's style with his sometimes out of place humor, but the content is what matters, and he delivers. His Tricks Vol. II covers everything you mentioned. I read about 3/4 of the book before stopping to implement everything with my own code rather than just study his (which is pretty much in all C by the way) and have such a great understanding of all the basics (and more advanced stuff he presents) that it was a snap to add shadow volumes to my software 3d engine. Learning Direct3D and OpenGL is no problem after reading this book - all there is to learn is the API and not how the API works. If you can't tell, I highly recommend this book. Be warned that there are several mistakes in LaMothe's book, but nothing that you wouldn't be able to catch if you work things through. And I haven't been able to find an addendum for the book either.

Another book you might want to consider is Linux 3D Graphics Progamming by Norman Lin volumes I and II. Good books but messy object oriented C++ code.

(editing : spelling)

Share this post


Link to post
Share on other sites
If you're starting from scratch, with little or no in-depth knowledge of 3D graphics theory, then I think Lamothe's book is a really good buy. Software rendering is a dying art, and his book is the latest which tries to explain things in good detail.

Unfortunately, I don't like his style of writing either, nor his coding. And although he explains everything you need to know to build a real software renderer, he stops where the actual 'tricks' and 'advanced rendering' would have started. It's a big book but that's only because he lists the whole source code, and repeats it in every chapter. So, I got some mixed feelings about it...

Anyway, there are alternatives. Real-Time Rendering is great as a reference. It talks a lot about hardware rendering, but also explains the algorithms behind it that are useful for software rendering as well. There are other great books as well, but this is the only one I own that was useful for my software rendering project.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this