Differences in Game Engine engineering in this book
This book aims to explain all the basic components of a game engine when demonstrating how to create an example game engine. You can expand the example game engine to build your game. I use DirectX 9 To render. If you prefer OpenGL I will leave it for you as a coding exercise. OpenGL API Replace Direct3d API . Two Sets API Both support the same rendering capability.
The game engine studied in this book is not used exclusively.VertexAndPixel shaderGreat things that can be done. (As the topic,DirectX 9The new advanced coloring language in can be filled with a whole book .) It does not study how to optimize terrain rendering and role animation.
During the development of the example engine throughout the book, I will focus more on an object-oriented and general method for game engine design. This gaming engine does not mean it can be applied to the next generation of blockbuster games to hit the market. On the contrary, I hope to provide a basic and flexible game engine that you can learn to use to develop your own3DNew knowledge about the game engine. The object-oriented method will produce a modular engine that can be easily modified and expanded when you want to add more advanced game engine components.
Object-oriented Method
To develop a clear and general design, we use object-oriented technology in the design and development of this game engine. Object-oriented design and programming (as at the time) can produce a concise, easy-to-understand and easy-to-maintain final system. I specifiedC #As a development language, the language has all the object-oriented features required by this project.
Why?C #
You may be choosing for me C # The language is confused as the development language. Based on performance considerations, almost all modern Games use C Or C ++ Developed. Microsoft Created C # Language, trying to bring C ++ CommunitySimilar Visual Basic Rapid Development ( Rad ). As . Net Part of the starting lineup, Microsoft Also added Visual Basic Performance and object-oriented features. DirectX 9 The goal is to control the running time in C ++ Within two times. This allows you to select Rad The language has become very attractive. Love C # It has the automatic document function. Developing a game is usually the effort of a team. It is almost impossible for a single player to play the entire game. This makes sharing clearCodeAnd code documentation are very important. C # The clear and object-oriented structure, combined with good comments and document conventions, is the difference between whether you catch up with the time schedule.