Hacker News Comments on
Tricks of the 3d Game Programming Gurus: Advanced 3d Graphics and Rasterization (Other Sams)
·
6
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this book.If you dig software rendering:https://github.com/ssloy/tinyrenderer
https://www.youtube.com/watch?v=HQYsFshbkYw
https://www.youtube.com/watch?v=Y_vvC2G7vRo&list=PLEETnX-uPt...
https://www.amazon.com/Tricks-Programming-Gurus-Advanced-Gra...
⬐ jdmoreiraThank you, that list is awesome!⬐ mhdMandatory reading: Michael Abrash’s Black Book, available freely and legally online at https://github.com/jagregory/abrash-black-book
It depends on your motivation but if you really want to learn about graphics programming (as opposed to learning an API) then I think the best way to do so is to remove any API from the picture. There is an absolutely phenomenal book that does just this: Andre LaMothe's 'Tricks of the 3D Game Programming Gurus'. It was published in 2003 but when you remove APIs from the picture it's just as relevant today and will remain so for the foreseeable future.The book starts with little more than plotting a pixel on the screen. By the end you'll have a complete lit, shaded, 3D game engine that you've written entirely from scratch. And in the process you will learn absolutely everything that goes into it.
And one thing I'd add is that this might sound somewhat overwhelming but it's really not. The book is extremely well written and clearly was a labor of love. If you get some pleasure out of math and code, you'll have no technical troubles working your way through the book and in the end will be rewarded with an intimate, flexible understanding of graphics development that won't be hamstrung by dependence on a specific API.
[1] - https://www.amazon.com/Tricks-Programming-Gurus-Advanced-Gra...
An absolutely phenomenal book I'd recommend on writing your own computer graphics from scratch is 'Tricks of the 3D Game Programming Gurus' [1] by Andre LaMothe. It was published in 2003, but as it's about how technology works and not using whatever the latest graphics API is - it's timeless. It goes through everything in immense, yet still very accessible, detail. You start from nothing and at the end have a fully lit, shadowed, spatially partitioned, animated, textured, 3D game - using a software renderer that you write from scratch.[1] - https://www.amazon.com/Tricks-Programming-Gurus-Advanced-Gra...
⬐ artofcodeI'd go with these two instead:Michael Abrash’s Graphics Programming Black Book http://www.jagregory.com/abrash-black-book/
Computer Graphics: Principles and Practice: Principles and Practices https://www.amazon.co.uk/Computer-Graphics-Principles-Practi...
I bought this a year or two ago: https://www.amazon.com/Tricks-Programming-Gurus-Advanced-Gra...It's basically a set of tutorials that lead you through the steps of building a software 3D graphics rasterizer. It covers rasterizing, lighting, shading, shadows, textures, etc, and the math behind each set of concepts. It's built on late-90s C and DirectX, but the capabilities used are covered by just about any game programming library. The author builds kind of an abstraction library on top of the DirectX code, and that's pretty easy to rewrite in whichever language and toolset you're comfortable with.
If you want to know all of the math and functions involved in pushing individual pixels to the screen and building something along the lines of a Quake 2-level engine in software, this book is a pretty good introduction to it all:http://www.amazon.com/Tricks-Programming-Gurus-Advanced-Grap...
Note that this is the type of programming now implemented in hardware GPUs, and in libraries such as DirectX and OpenGL. If you were to write a modern game, you would do it on top of one of these hardware-accelerated libraries, and you wouldn't be writing this type of code in software anymore. But if you really want to learn how to do these things from the "ground up", this book can help you build that foundation
> C+One of my coworkers used the term for a program consisting of a core that was a C library and a GUI that was in C++/MFC.
The author of a book I started reading (http://www.amazon.com/Tricks-Programming-Gurus-Advanced-Grap... ) used it to describe his style of writing mostly C but using a C++ compiler and taking advantage of some of things like stricter type checking, new/delete syntactic sugar, etc.
But I'm guessing it was a typo.