   Beginning 3D Graphics
  I am aware of how annoying these "beginner" threads can get, but I really need the help of people who have already been through what I am about to embark. I have yet to do any 3D graphics stuff and I have yet to really try OGL or DX. And basically I need a little direction. What I really want is a book on 3D math. Would it be such a bad idea to get a book before familiarizing myself with a 3D API? Is it OK to just learn a 3D API as I learn 3D math from a book? I''m a college student and I am familiar with math up to a multivariable calculus math level, however I probably still need to brush up on some stuff like matrix algebra(actually it''s been a while and I need a lot of brushing up on matrix algebra =P). The two books I''m looking into are "3D Math Primer for Graphics and Game Development" and "Mathematics for 3D Game Programming & Computer Graphics". For the people who are familiar with these books or any other 3D Math books, which of these or other books should I be purchasing for the level that I am at? I know nothing of quarternions and stuff like that, but like I said I''ve completed two courses in Calc and I''m now taking Multivariable Calc, I''ve also completed a course in Discrete Math. So what''s your advice?-Mak 
  I have heard good things about "3D Math Primer for Graphics and Game Development", but I do think that all of this information will be useless if there''s no way to implement it (An API). If you later decide to get a book on a specific API, it will probably provide an overview on 3D Math Basics (Vectors/Vector Math, Normals, Scalars, Matrices, Using Quaternions for camera rotation). So, if you want an in-depth view of 3D Math, and possibly more than you need at a beginner level, you can get a book specifically about it. Since you''re up to multivariable calculus, I doubt that you will need much more than an overview normally supplied in books about specific APIs. I hope this information helps.    ----------------------------------"War does not determine who is right, only who is left." -Bertrand Russell ;  I definitely understand what you''re saying. Thanks a lot for the response. My question then would be what API book should I consider? I guess I''m leaning towards LaMothe''s 3D book(Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization), but I don''t know if that''s too advanced for me since I haven''t read his first one. I guess I wanted to skip the first one however, because I heard it focuses a lot on 2D, and I''m really interested in learning some 3D math. Once again, thanks for your help =).-Mak ;  If you want... http://www.gamedev.net/columns/books/bookdetails.asp?productid=226;quote:Original post by MakavelianKode  I definitely understand what you''re saying. Thanks a lot for the response. My question then would be what API book should I consider? I guess I''m leaning towards LaMothe''s 3D book(Tricks of the 3D Game Programming Gurus-Advanced 3D Graphics and Rasterization)This book is good, but just remember that it implements a software renderer.  That means that you won''t be using a particluar graphics API like OpenGL or DirectX.  You''ll basically implement your own graphics pipline in software.  This will teach you a great deal about how 3D algorithms and how graphics cards work.On the other hand, if you want to learn 3D using a particular API, then you''ll have to decide on which API you want to learn.  Before the flames start, just know that both OpenGL and Direct3D are equally good, and equally fast.  When you''re first learning, which one you use is a matter of taste.  Try out a few tutorials on beginning OpenGL and beginning D3D and see which one fits your coding style better.A good OpenGL book is OpenGL Game Programming.  A good D3D book is Special Effects Game Programming with DirectX.  Both can be read by someone with no 3D graphics experience.  Both also contain explanations and reviews of all the mathematics you''ll need to understand what they''re talking about.  There are other good books out there as well.  Check out the book reviews here on GameDev and at Amazon.neneboricua ;  I highly recommend the previously mentioned Lamothe ''Tricks .. 3D ..'' book.  I have it, and reading it really made the basic graphics stuff (transforms, lighting, texturing, projection, etc.) click for me.  One important point (I think he mentions it in the book) is that, if you know how a complete software renderer works, you will easily be able to understand DirectX or OpenGL.  Since you''re concerned about the linear algebra (matrix stuff), you should know that it is the major major majority (yes, redundant) of math that graphics use.  Lamothe covers it pretty quickly, but with your level of math maturity and the knowledge sitting there somewhere deep in the back of your head, you''ll be up to speed in no time.  That was pretty much my situation when I read it, and I got through it fine. ;  Thanks to everyone for their responses! I think I''m gonna have to go with LaMothe... I know how everyone loves him and it really does seem to be something I''m very interested in.thanks again-Mak ;  WOW! I just read some more reviews on LaMothe''s book and I don''t think my last post was excited enough. This book is exactly what I''m looking for! I really want to understand a lot of what goes on with 3D graphics and stuff, but unfortunately I''m not too excited about any API''s just because everytime I look at the code it looks kind of abstract to me. This book seems to kill the two birds with one stone! - Not only will it explain stuff w/o me having to learn an API before hand but it will make it easier for me to learn one afterwards. Special Thanks to Adam Parcher! =) -Mak ;quote:Original post by 4TheKing  I have heard good things about "3D Math Primer for Graphics and Game Development"My professor at UNT wrote that book, along with a local game programmer, and it IS rather good, in that it attempts to make all the math make sense geometrically.  His older books on 2D I don''t care for, but this one is quite good.  LaMothe''s 3D book is more hardcore than most, so it depends on what you want to do.  Do you want to do 3D programming or do you want to program 3D?  Either way, the fundamentals in the math book can not hurt, and are never useless.