This book is a comprehensive treatment of current 3D games technology. It concentrates on:? real-time rendering, or the necessary enhancements of 3D graphics to enable rendering at interactive rates;? topics from other areas such as AI, physics and collision detection, that are used in games;? the software technology of games - engine architecture and multi-player technology.The text is written around the engine Fly3D (included with a full SDK on the CD) that implements most of the described techniques. Readers can try out their own ideas by writing source code and experiment with existing demonstrations by writing plug-ins and altering existing ones. You can even develop your own game.Features of the game engine include:? BSP/PVS render management? Light Maps for static geometry (pre-computed lighting with soft shadows)? Normal maps (dot product texture blending) for dynamic objects? Diffuse and specular vertex lighting for dynamic objects? Volumetric fog with fog maps? Detail Textures? Multi-texture support ? Collision detection? Dynamic coloured lights with distance attenuation? Dynamic shadows - lightmap or stencil shadow volumes? Physically based simulations?
Animated meshes (vertex morph)? Tri-strips and fans? Subdivision Surfaces? Dynamic LODs using bi-quadric Bezier meshes? Cartoon like rendering with dynamic cartoon lighting? Multiplayer support (TCP/IP) with client/server architecture (using DirectPlay)? 3D sound support (using DirectSound)? Mouse and Keyboard input (using DirectInput)? Intel ? Pentium III vector and matrix maths optimisation? Complete plug-in directed? 3D Max plug-ins for export/import fly bsp levels and creating landscapes and animated meshes? Editor with real-time preview of game (set up game and object parameters while playing)Sections of the book have been designed to be self-contained. The areas covered are:? Modelling and Foundation Maths? Classical 3D Graphics? Real-time rendering? Control of Objects - dynamics - AI? 2D Technology? Software technologyCD includes:? Full Fly3D SDK including source code for Fly3D.dll, front-ends, plug-ins and utilities? 5 demo levels: car, walk (2 levels), ship (2 levels)? Engine Reference Manual and tutorials in HTML? Book imagesGo to www.fly3D.com.br for Fly3D SDK updates, new demos, FAQs and message board.Alan Watt, based at the University of Sheffield, is the author of many successful books including 3D Computer Graphics, Advanced Animation and Rendering Techniques and the Computer Image.
Fabio Policarpo is a software developer and founder of the company Paralelo Computacao based in Rio de Janeiro. He coauthored The Computer Image and is currently working on independent 3D action multiplayer games.
Table of Contents
Foundations 1. Mathematical fundamentals of 3D computer graphics 2. Modelling and representation 1 - comparative and polygon mesh models 3. Modelling and representation 2 - the economics of polygon meshes 4. Representation and modelling 3 - landscape specialisations 5. Modelling and representation 4 - Breezier, B-spline and subdivision surfaces Classical 3D graphics 6. Classic polygon mesh rendering technology 7. Classic mapping techniques 8. Anti-aliasing theory and practice Real-time rendering 9. Visibility processing of complex scenes 10. Lighting in games 11. Shadows in games 12. Multi-pass rendering Control of objects 13. Motion control - kinematic 14. Control by dynamic simulation 15. Collision detection 16. Interactive control 17. Behaviour and AI 2D Technology 18. Two-dimensional techniques 19. Image-based rendering Software technology 20. Multi-player game technology 21. Engine architecture 22. Fly3D SDK reference Appendix A Fly3D SDK reference References Index