For people like learning the fundamentals of game engines, they need to set their own clear long-term goals:
1 First, there may be no concept of the game engine in the beginning, it is recommended to use one or two game engines first (I recommend C + + programmers to learn Unreal 4 game engine, now free open source, very worth learning.) Those not open source game engine as far as possible not to study, because it does not have much contribution to the study principle.
2 because game development is a real-time rendering of the art, so inseparable from the graphics library learning. Now the mainstream graphics library is the Windows platform dedicated to DirectX 11 and the common platform for OpenGL. At least one of these two graphics libraries needs to get started.
3 Then, you can start to see the computer graphics books. If you find that your theory is inadequate, this time you need to make up for linear algebra, basic calculus, and mathematical knowledge.
4 The game engine contains various parts, the above rendering is only part of the game engine. There are other things like shader writing, terrain writing, physics engine writing, model and animation, artificial intelligence body design, network programming, etc., after completing the basic study of the rendering part, you can choose the part of your interest to specialize, after all, we actually work in the team development, not alone, Everyone should be proficient in the part that they are good at.
For the sake of the compactness of the article, I put the basic theoretical knowledge of the game engine and the recommended books for each engine component into the appendix of the article.
The following table is the basic theory and the game Engine component book recommendation (do not look at all, please read selectively): 1 mathematical basis
These basic math books are tailored for game development and are more efficient than looking at a specific mathematical direction: 3D math Primer for Graphics and Game Development, Chinese version Mathematics for 3D Game Pro Gramming and Computer Graphics "essential Mathematics Guide" "Geometric Tools for Computer Graphics" 2) graphics library
Books for DirectX: "Introduction to 3d game programming with directx 11", The famous Dragon book, the entry Must see "practical rendering and computation with direct3d 11", Advanced "Real-Time  3D RENDERING WITH DIRECTX AND HLSL "
for OPENGGL books: "Opengl superbible", the famous sapphire book, mainly in the case of the Chinese version. But do not suggest to read Chinese version, translation is not good. "Opengl programming guide", the famous Little Red Book, has the Chinese version. Little Red Book is more like a handbook, API encyclopedia, fewer examples, suitable for skilled query use. "Opengl 4.0 shading language cookbook", advanced, basically is the API manual, with Chinese version. But do not suggest to read Chinese version, translation is not good. 3 Computer Graphics "The nature of code", there is a Chinese version, relatively simple "fundamentals of computer graphics", By a number of foreign universities used by the introduction of textbooks, introduced a wide range, from basic related mathematics to modeling, rendering, animation, applications have mentioned "Physically based rendering", mainly offline rendering " Real-time-rendering ", must read Classics." Must read. "Computer Graphics", the author of the relic "Computer graphics", to see the latest third edition of "Computer Graphics principle and Practice: C language description" 4 shader shader "Cg_tutorial", the introduction of the the Complete effect and hlsl guide ", the introduction of the Shaders for game programmers and artists ", contains a number of introductory examples of" advanced lighting and materials with shaders ", introducing the lighting model and technology" GPU gems "Advanced must read." "Shader x" series, published annually, contains the latest real-time rendering technology. The paper sex is more, difficult. "Programming vertex, geometry, and pixel shaders" to directx 10 mainly, very detailed. 5) Terrain
The
Real time 3d terrain engines using c++ and dx9 is a very comprehensive discussion of various techniques for terrain rendering. 6 Model Import and animation "Character animation with direct3d" contains the latest game animation technology, "Computer animation" Real-time cameras "Computer facial animation" "realtime 3d character animation with visual c++ "Advanced animation and rendering techniques" "Cloth Modeling and animation 7) Network "tcp/ip detailed Volume 2" "Network programming for microsoft windows "Advanced programming in the unix environment" "Windows Core Programming" Multithreading applications in win32, "core technology and actual combat of network game" 8 Physics "Game physics" "Game physics engine development "Real-time collision detection", the best book on Collision detection, "3d game engine The 8th and 9 chapters of design, 2nd are worth a look at 9 detail level
Level of Detail for 3D Graphics 10) ray tracing "physical-based Rendering-from theory to implementation" Another Introductio N to Ray tracing "11" AI "programming Game AI by Example" has Chinese version "Artificial Intelligence for Games" "AI programming Wisdom "AI Game Engine Programming" 12) comprehensive "Game programming Gems", the scope of the article is relatively wide, selective reading "Color and Light in Nature" "Digital design O F Nature "Form+code in design, ART, and architecture" This picture is not original, from: The author of the star-Ling Dan, authorized release, reproduced please indicate the source. Write the very detailed, take out and share with you.
Reference: Http://gad.qq.com/article/detail/7193648?sessionUserType=BFT. Params.214566.taskid&aduin=1318446093&adsession=1490248132&adtag=client. qq.5497_.0&adpubno=26661