   Are you just a blind monkey?
  I''ve been reading Andre LaMothe''s "Tricks of the Windows Game Programming Gurus". I''m also interested in bying the sequel, "Tricks of the 3D Game Programming Gurus".Unlike the original "Tricks", the sequel doesn''t use DirectX.To me this came as a surprise, but I got interested anyway.Reviewers at Amazon.com seem to disagree on the usefulness of this book, though. While some people feel disappointed for it''s lack of DirectX material, some people regard the whole DirectX as full of s***. For these guys this is a long awaited path to the real programming. Someone even said that he had lost his interest to his great love, game programming, until this book.Is there really such a gap between DirectX programmers and the so called "true programmers" who actually understand how things are done underneath the surface?And how to make the decision of whether to buy this book? I''m interested in DirectX, but would also like to know the details of how things work. If I bought this book would it ultimately make me a more knowledgeable DirectX programmer? Or would I also be transformed into this grazy game programming hacker- wannabe and refuse to even spell the name of the evil?Or should I just bypass this book and join the endless legions of the blind slave monkeys pulling the API strings?(yes, I''m deliberately trying to funny here. The whole subject seems a bit foolish anyway). 
  As far as im concerned there is no reason to buy Lamothes books at all.  His books are at best a rewrite or the Directx SDK, the Windows API documentation and the game programming gem series.Lamothe''s C programming style is also a big turnoff for me.  The directx sdk goes into details about how the process works(with a few gaps here and there), but Lamothes book doesnt really cover these gaps IHMO. ;quote:Original post by Anonymous Poster  As far as im concerned there is no reason to buy Lamothes books at all.  His books are at best a rewrite or the Directx SDK, the Windows API documentation and the game programming gem series.I disagree, LaMothe''s books are not rewrites, and they are very useful to any game programmer.OP: Well, it''s a good idea to know what happens behind the scenes of an API such as Direct3D, so writing a software engine would be an invaluable learning experience. I''ve not actually written one myself (might do soon though), but I''ve heard it will take a lot of hard work to just get a simple software engine up and running. If you have the motivation (and the math skills ) then pick up Andre''s new book and start coding! ;  "Are you just a blind monkey?" How did you know? ;  I started out using DirectX and OpenGL - always assuming I "knew" the basics of what went on behind the scenes.  Then I decided to write my own Software Engine with small effects like Specular Lighting, etc.  Man do I realize how little I knew before.  Not only has writing a software engine taught me a ton, but it also allows me to program DirectX much more effeciently.I would highly recommend writing a software renderer or engine first.  It''s worth the few months that it takes to learn / write and optimize. ;  That was a problem with many of the game programming books I purchased when I was starting out. Fully half the book was a tutorial on using DirectX (OpenGL, etc...). Now, the first one purchased was useful, but after I learned the basics of the APIs, it became irritating to buy yet another tutorial the next time I picked up a book.I haven''t looked at "Tricks of the 3D Game Programming Gurus", but if LaMothe abandons the "traditional" DirectX tutorial at the beginning, I have a hard time seeing this as a bad thing. Last time I purchased a game programming book (it''s been awhile) there were plenty of glorified DirectX tutes, but a definite lack of "Intermediate" to "Advanced" books with real meat and substance to them.If you want to be a knowledgeable 3D programmer, master the basics using OpenGL or DirectX, then toss them out and write an engine in software, including renderer. For that, I recommend "3D Game Engine Design" by David H. Eberly. An eminently useful book, chock full of mathematical goodness.Once you understand what 3D is all about, neither DirectX nor OpenGL will be a mystery to you. At that point, I recommend you shelf the software renderer and resume using the API of your choice for the hardware acceleration, armed with the knowledge to make fullest use of the API.   Joshvertexnormal AT linuxmail DOT orgCheck out Golem: Lands of Shadow, an isometrically rendered hack-and-slash inspired equally by Nethack and Diablo. ;quote:Original post by VertexNormal  That was a problem with many   of the game programming books I purchased when I was starting out. Fully half the book was a tutorial on using DirectX (OpenGL, etc...). Now, the first one purchased was useful, but after I learned the basics of the APIs, it became irritating to buy yet another tutorial the next time I picked up a book.I haven''t looked at "Tricks of the 3D Game Programming Gurus", but if LaMothe abandons the "traditional" DirectX tutorial at the beginning, I have a hard time seeing this as a bad thing. Last time I purchased a game programming book (it''s been awhile) there were plenty of glorified DirectX tutes, but a definite lack of "Intermediate" to "Advanced" books with real meat and substance to them.If you want to be a knowledgeable 3D programmer, master the basics using OpenGL or DirectX, then toss them out and write an engine in software, including renderer. For that, I recommend "3D Game Engine Design" by David H. Eberly. An eminently useful book, chock full of mathematical goodness.Once you understand what 3D is all about, neither DirectX nor OpenGL will be a mystery to you. At that point, I recommend you shelf the software renderer and resume using the API of your choice for the hardware acceleration, armed with the knowledge to make fullest use of the API.Wow, that is one of the most informative posts I have read in a long time. I am in the same situation as the original poster (deciding on whether to write a software renderer), and you have really set me back on course, thankyou Josh. ;  Josh - I''ve also heard good things about "Real-time Rendering", by Moller and Haines.  Do you also recommend this book for such an endeavor?   --Dave Mikesell Software & Consulting;quote:Original post by dmikesell  Josh - I''ve also heard good things about "Real-time Rendering", by Moller and Haines.  Do you also recommend this book for such an endeavor?Its a very good book - it assumes you know the basics and goes straight for the more advanced stuff which is either being used in high end games now or being worked on to bring them into the realtime range. Most stuff described is intentionally hardware friendly and game friendly as well.Don''t expect lots of code or implementation details, its mainly covers theory (but manages to do it comprehensivly, so it covers all the practical limitations and problems as well).IMHO the best graphics book for cutting edge stuff and covers practically *everything*. ;  I''m reading real time rendering at the moment.  It is a good book but make sure your math is up to scratch when you read it.  It does have a couple of appedicies going over things like vector and matrix math but really I''d say you need to know and understand those things before hand.Oh and to the OP:  Any decent graphics programmer should know how an API works internally, if you don''t you just can''t get the best out of it.  You don''t have to write a fully featured extremely fast software renderer, just understand the theory and write a basic one, it will increase your understanding of 3d Graphics greatly. 