Programming Related Books
This section exists to allow the OGRE Team and Users list their recommended programming-related books. The list was started as a result of Sinbad posting some of his personal picks in the irc://irc.freenode.net/ogre3d #ogre3d IRC channel. Please feel free to add your own section with your favorite picks.
There are two Ogre-related books, which are almost a mandatory read for any Ogre user (and definitely mandatory for any Ogre newcomer)
- Pro OGRE 3D Programming by Gregory Junker (forum name Xavier, Ogre MVP) [ISBN 1-59059-710-9]
- OGRE 3D 1.7 Beginner's Guide by Felix Kerger (forum name mirlix) [ISBN 1849512485]
- 3D Game Programming and Computer Graphics, Second Edition by Eric Lengyel [ISBN 1-58450-277-0]
- Programming Guide: The Official Guide to Learning OpenGL, Version 1.4, Fourth Edition by [OpenGL Architecture Review Board [[ISBN 0-321-17348-1]
- The OpenGL Extensions Guide by Eric Lengyel [ISBN 1-58450-294-0]
- 3D Game Engine Design : A Practical Approach to Real-Time Computer Graphics by David H. Eberly [ISBN 1-55860-593-2]
- Game Programming Gems by Mark DeLoura [ISBN 1-58450-049-2]
- Game Programming Gems 2 by Mark DeLoura [ISBN 1-58450-054-9]
- Game Programming Gems 3 by Mark DeLoura [ISBN 1-58450-233-9]
- Game Programming Gems 4 by Mark DeLoura [ISBN 1-58450-295-9]
- Effective C++: 50 Specific Ways to Improve Your Programs and Design (2nd Edition) by Scott Meyers [ISBN 0-201-92488-9]
- Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library by Scott Meyers [ISBN 0-201-74962-9]
- Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides [ISBN 0-201-63361-2]
- The UML User Guide by Grady Booch, James Rumbaugh, Ivar Jacobson [ISBN 0-201-57168-4]
- UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition by Martin Fowler [ISBN 0-321-19368-7]
- Game Development and Production by Erik Bethke [ISBN 1-55622-951-8]
- Code Complete by Steve McConnell [ISBN 0-7356-1967-0]
- The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt, David Thomas [ISBN 0-201-61622-X]
- Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts [ISBN 0-201-48567-2]
- 3D Math Primer for Graphics and Game Development by Fletcher Dunn, Ian Parberry [ISBN 1-55622-911-9]
A book that only explains the mathematics behind any 3D representation. It doesn't focus itself on any driver (ie: D3D or OpenGL). It just gives the theory and some basic C++ code to implement it so you can understand how 3D engine work. It's quite easy to pick up and has a lot of illustrations that makes the maths really obvious. (A basic knowledge of linear algebra is still required : what is a vector/matrix and the various operations on these.). They do have a website .
- Modern C++ Design by Andrei Alexandrescu [ISBN 9780201704315] — A book on various useful advanced C++ template techniques. A pre if you ever want to even begin understanding how libraries like Boost do their thing.
- Real-Time Rendering by Tomas Akenine-Möller and Eric Haines [ISBN 1-56881-182-9] — Book explaining the various 3D techniques like 3d math, texturing, imposters, collision detection, shaders, BSPs, lightmaps ... It has an overview of everything from basic things to GPU heavy advanced algorithms. They also have a very nice website with links to articles and code.
Tuan Kuranes' picks
- The Art of Computer Programming by Donald E Knuth - Really the best book to read about programming, makes programming more of a science, and programmer more of a scientific. See http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming.
- AI Game Programming Wisdom 2 - 732 page hardback book containing 67 AI articles by 55 authors. Contains large sections on learning, genre specific techniques, planning, movement and pathfinding. Includes CD-ROM. [ISBN 1-58450-289-4] (Here's some Articles summary http://www.aiwisdom.com/bygame.html)
Ulric Boël's picks
Not a book but a complete website...
- Mathworld - A complete mathematical reference created and maintained by Eric Weisstein with contributions from the world mathematics community.
- The Cg Tutorial: The Definitive Guide to Programmable Real-Time Graphics by Randima Fernando and Mark J. Kilgard [ISBN 0-321-19496-9] — This is a highly readable book on Cg, a high-level language used to author vertex and fragment programs. Cg programs can be embedded within Ogre materials. The only (very minor) caveat is that the authors work for Nvidia, so the shiny examples tend to favour their chips. Now available for free (along with the first GPU Gems) here
- 3D Game Engine Programming by Stefan Zerbst [ISBN 1-59200-351-6] — This is the book that made "the lights go on" for me. The book explains all of the parts of a game engine and runs over their implementation issues. While the code in the book isn't particularly relevant to Ogre users, the book helps in putting together all the conceptual pieces of an engine.
- Software Engineering for Game Developers by John P. Flynt, Omar Salem [ISBN 1-59200-155-6] — Unique guide/toolbox for effectively building a computer game using practices that are fostered by software engineering (UML, dev cycles, tools, etc.). This book takes a very interesting (and possibly unique) approach to game developing. It's a detailed discussion on the development of a real game (30,000 lines of code) by a small team of game developers.
- Thinking in C++ by Bruce Eckel, Volume 1 (~878 pages) and Volume 2 (~592 pages). They are freely downloadable on http://mindview.net/Books ! These books are perfect to learn C++ from begginers to experts. If you search really well you can find the Vol 2 - 2004 version (~800 pages) which includes: Concurrency (multi threading) and lots of improvements.
- The Art of Game Design: A Book of Lenses by Jesse Schell [ISBN 0123694965] — fundamentals of good game design
- Das C# 2010 Codebook by Jürgen Bayer [ISBN 3827329035] — many useful code examples for common C# usage (German only, recommend for Mogre users)
- Visual C# 2010: Das umfassende Handbuch by Andreas Kühnel [ISBN 9783836215527] — about C# programming (German only), book content for free as HTML (online) and PDF