Chapters are grouped into sections that are more or less self contained. These are:
Modelling and Foundation Maths
This section deals with the basic mathematics required to handle objects in three-dimensional space and the theory of object representation.
Classical 3D Graphics
Although much of the material in this chapter has migrated onto hardware, it is still necessary to have an appreciation of what the hardware does to be able to use it effectively.
Real-time rendering
This section deals with the technology developed by the games industry and the virtual reality industry which enable complex scenes to be rendered, to a reasonably high quality, in real time on a low cost graphics processor
Control of Objects
Mainstream techniques used to control the movement of objects are descried in this section. This ranges from simple low level control through to behavioural animation using AI technology. The material on AI is in the form of a debate concerning the potential use of the technology in the future.
2D Technology
A potentially important solution to the complexity problem in 3D graphics, both in terms of the creation cost and the rendering cost is the use of image based rendering techniques.
Software technology
This section deals with the techniques needed to write a multiplayer game using the currently popular 1st person shooter genre as an example. We examine the software architecture of a games engine and look at the design of the engine. Finally a comprehensive reference manual for the engine is given.
The book is not intended to be a 'how to program' in C++ and OpenGL text and we assume a reasonable knowledge of C or C++. Detailed examples of various algorithms implemented in C++ are sprinkled throughout the text. These are extracted from the engine and are reproduced in the text for convenience. A quick read will give some feel for the structure of the algorithm. In most cases to fully comprehend the code requires them to be studied in conjunction with Chapter 21 and the Reference Manual.
The graphics API/library used is OpenGL. Pentium 3 code is given alongside the C++ equivalent for efficient matrix operation in Chapter 1 and DirectyPlay utilities are used in Chapter 20. Clearly these facilities need separate study and the purpose of the examples is to give a 'flavour' of their use in the applications.
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 technology
CD 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 images
Go 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.
Product Details
Would you like to update product info or give feedback on images?
|
|
Share your thoughts with other customers:
|
||||||||||||||||||||||
|
Most Helpful Customer Reviews
38 of 38 people found the following review helpful:
4.0 out of 5 stars
A good 3d book so far, but not perfect,
By Matt Johnson (Clearwater, FL) - See all my reviews
This review is from: 3D Games: Real-Time Rendering and Software Technology, Volume 1 (With CD-ROM) (Hardcover)
Some of the criticisms are valid, but lets get it straight right here. This is simply the best 3D book out there from all I've seen. In fact, from what I've seen, its the only 3D book worth buying right now for the intermediate<->advanced programmer. You'll have to do a lot of reading with the source code though--but all good info.The good 1.) No API's are covered. Anyone can learn OpenGL/DirectX, and many tutorials cover those topics quite well. However, this covers the math, algorithms, and 3D side of things (for most part). Some code snippets are included, though--but its not a teach yourself OpenGL in 21 days book (thank god). It also has the best coverage of BSP tree's I've seen aside from dedicated algorithm books. And the coverage on PVS seems a tad brief, but the SDK src code makes up for it. 2.) The src code on the CD is great-- its a load of code to sift through-- not the best code, not the most bug-free--indeed, but good code to learn from. OpenGL stuff is in there, stuff that uses STL and modern C++ techniques, and BSP and PVS code. What more can you ask for in a book? This book comes with a working 3d engine and its source code. I can't think of any book that covers the topics well because the guy implemented what he was writing about. Thats why the book is above average, you get the juicy details along with theory. 3.) Has some cool pictures and visuals of varying effects. Not exactly needed for the professional 3d coder, but sometimes a little eyecandy and visuals doesnt hurt in an otherwise intense book. The ugly 1.) The last 190 pages cover the SDK he wrote. This could have been better left offline, I think - on a CD-ROM. It gives you some insight on how a 3d API *might* look, or how file formats might look, but who cares. I want more 3d stuff in there, next time fool. 2.) The PVS section could have had a tad more detail. I want the most detail on the hardest topics, and the most briviety on the eastest topics. 3.) The collision detection could have had a more detail. I think the coverage was average, and by finding a few references in the back that should complete it. But, I'm willing to bet if you can implement BSP trees, then collision detection should be easy, I mean as far as math goes. Therefore, the higher level overview is sufficient probably for the coder to get the rest working on his own. But still Watts, its important and you should know it gets neglated way too much. Stop negletating the essentials people! 4.) What the heck is that image analysis, DCT and FFT thing about? Seems like a waste of space, doesnt cover it in enough detail dude. Come on, FFT's are discussed in a digital signal processing book. You cant do it justice there, I dont think. 5.) Networking code, umm, waste of space. People can buy a seperate book for that, or leave articles on CD-ROM. Summary 1.) More coverage on PVS and collision detection 2.) More coverage on modern games and the techniques they use 3.) No references or crap on FlySDK, who cares? Leave it on CD-ROM 4.) More math, use extra space to discuss the various 3d topics in detail, and how about some stuff that 3d level editors need? More coverage on CSG, for example. And polygon tesselation, and maybe algorithms necessary to convert models to various formats.
29 of 31 people found the following review helpful:
2.0 out of 5 stars
A Disappointing Purchase,
By fff (USA) - See all my reviews
This review is from: 3D Games: Real-Time Rendering and Software Technology, Volume 1 (With CD-ROM) (Hardcover)
I had eagerly awaited this book for months. Watts previous '3D Computer Graphics' was one of the best ever written on the subject and I had high expectations. I have several problems with the book :-(a) The books text is made up of (to a major extent) text and diagrams from Watts other books. As I mentioned, I like one of Watts other books but I don't appreciate paying for old information. I can appreciate that there are those that do not have the old texts and it would be necessary to some extent to have it included in this book...but how about some new color plates at some point? Some of these plates and text have now been used in three books! (b) The additional information in the book that isn't based on the older books isn't anything particularly ground breaking. There is very little treatment of new games technologies, even in the field of graphics/rendering. (c) After reading the texts about graphics programming that I mentioned in (a) we get to the game programming side of the book which unfortunately is the worst part of it. The collision detection part of the book is appalling and no where near the size or detail it should have been given the authors backgrounds. The same could be said of the Behavior and AI chapter at around 30 pages. This sort of overview hardly makes the book a bible on software technology. (d) How did chapters 18 and 19 get into this book? This whole section covers '2D technology' but nothing presented here is anything that anyone has ever used in a game. It's possible someone might find something useful here, but also quite a rare chance and such chapters catering for the minority or non games programming reader are taking up pages that might have been better used for something else. (e) The final section of the book is three chapters on 'software technology'. There are an interesting few pages at the start of this on multiplayer technology but it soon changes to a reference about the fly3D sdk. (f) The layout/typesetting of the book is awful. This all started with Watts ghastly 'The Computer Image' and unfortunately was used in the last revision of '3D Computer Graphics' as well as this book. The early 90's versions of '3D Computer Graphics' had a perfect setting - why change? (g) The flySDK is reasonable...but its not wholly up to date in terms of games graphics technology. With Watts knowledge I would expect it to be pushing the envelope and offering a guiding light for games programmers but sadly this is not the case. The cover mentions this as 'volume 1' so I hope the next volume is much more along the lines of what this should be. I have mentioned about my high hopes for this book and hinted on the true genuis of the authors, but if anything this book has proved to me that non games programmers shouldn't attempt to write games programming books. I am sorry to have to say that but I honestly feel that the authors might wish to leave out the unnecessary and undetailed chapters and concentrate on updating their earlier books. I can see a potentially hot title '3D Computer Graphics for Games' based on an update of the earlier book, making considerations to non opengl based rendering systems and console graphics...as well as the definitive text on collision detection covering intersections and collision resolution.
15 of 16 people found the following review helpful:
5.0 out of 5 stars
A great book. now ...a reference book in the future,
By A Customer
This review is from: 3D Games: Real-Time Rendering and Software Technology, Volume 1 (With CD-ROM) (Hardcover)
This book is , in my opinion, the best choice for a serious amateur or a shareware games developer. Most of the games programming books now available on the market, explain, step by step, how to design a 2D or a 3D graphic engine. As a matter of fact a graphic engine is just a tool for a game developer. It is not needed to go through in detail a so complicated and boring code, to develop a game. Even some professional software houses purchase the graphic engine. My ideal game programming book should focus on graphic techniques and game logic, instead. This is what Mr Watt and Mr Policarpo do.(1) They provide a detailed explanation of computer graphic, even exceeding the needs of a game developer (2) a powerful graphic engine. Look at the demos,they are impressive (3) 12 tutorials to get familiar with it. (4) All the needed facilities. Some other books do not even supply a utility to load a .3ds file format (5) The foundations of A.I. ,collision detection etc (6) They use OpenGL instead of Direct X The MS library seems to become a standard for professional games developers but,in my opinion ,they are a nightmare for an amateur (7) Last , Vol 2 has been announced by July 2001. If Mr Watt and Mr Policarpo take note of the critics of the readers who rated this book , 1 or 2 stars, a reference book for our wonderful hobby will be, at last, available
Share your thoughts with other customers: Create your own review
|
|
Suggested Tags from Similar Products(What's this?)Be the first one to add a relevant tag (keyword that's strongly related to this product).
|
|
This product's forum
Active discussions in related forums
Search Customer Discussions
|
Related forums
|