Real-Time Rendering Tricks and Techniques in DirectX by Kelly Dempski ISBN:1931841276 Premier Press © 2002 (821 pages) Provides a clear path to detailing frequently requested DirectX features. CD Content Table of Contents Back Cover Comments Table of Contents Real-Time Rendering Tricks and Techniques in DirectX Foreword Introduction Part I - First Things First Chapter 1 - 3D Graphics: A Historical Perspective Chapter 2 - A Refresher Course in Vectors Chapter 3 - A Refresher Course in Matrices Chapter 4 - A Look at Colors and Lighting Chapter 5 - A Look at the Graphics Pipeline Part II - Building the Sandbox Chapter 6 - Setting Up the Environment and Simple Win32 App Chapter 7 - Creating and Managing the Direct3D Device Part III - Let the Rendering Begin Chapter 8 - Everything Starts with the Vertex Chapter 9 - Using Transformations Chapter 10 - From Vertices to Geometry Chapter 11 - Fixed Function Lighting Chapter 12 - Introduction to Textures Chapter 13 - Texture Stage States Chapter 14 - Depth Testing and Alpha Blending Part IV - Shaders Chapter 15 - Vertex Shaders Chapter 16 - Pixel Shaders Part V - Vertex Shader Techniques 1 Chapter 17 - Using Shaders with Meshes Simple and Complex Geometric Manipulation with Vertex Chapter 18 - Shaders Chapter 19 - Billboards and Vertex Shaders Chapter 20 - Working Outside of Cartesian Coordinates Chapter 21 - Bezier Patches Chapter 22 - Character Animation—Matrix Palette Skinning Chapter 23 - Simple Color Manipulation Chapter 24 - Do-It-Yourself Lighting in a Vertex Shader Chapter 25 - Cartoon Shading Chapter 26 - Reflection and Refraction Chapter 27 - Shadows Part 1—Planar Shadows Chapter 28 - Shadows Part 2—Shadow Volumes Chapter 29 - Shadows Part 3—Shadow Maps Part VI - Pixel Shader Techniques Chapter 30 - Per-Pixel Lighting Chapter 31 - Per-Pixel Lighting—Bump Mapping Chapter 32 - Per-Vertex Techniques Done per Pixel Part VII - Other Useful Techniques Chapter 33 - Rendering to a Texture—Full-Screen Motion Blur Chapter 34 - 2D Rendering—Just Drop a “D” Chapter 35 - DirectShow: Using Video as a Texture Chapter 36 - Image Processing with Pixel Shaders Chapter 37 - A Much Better Way to Draw Text Chapter 38 - Perfect Timing Chapter 39 - The Stencil Buffer Chapter 40 - Picking: A Plethora of Practical Picking Procedures In Conclusion… Index List of Figures List of Tables List of Sidebars 2 CD Content Real-Time Rendering Tricks and Techniques in DirectX Kelly Dempski © 2002 by Premier Press. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system without written permission from Premier Press, except for the inclusion of brief quotations in a review. Premier Press, Inc. is a registered trademark of Premier Press, Inc. Publisher: Stacy L. Hiquet Marketing Manager: Heather Buzzingham Managing Editor: Sandy Doell Acquisitions Editor: Mitzi Foster Series Editor: André LaMothe Senior Project Editor: Heather Talbot Technical Reviewer: André LaMothe Microsoft and DirectX are registered trademarks of Microsoft Corporation in the United States and/or other countries. NVIDIA, the NVIDIA logo, nForce, GeForce, GeForce2, and GeForce3 are registered trademarks or trademarks of NVIDIA Corporation in the United States and/or other countries. All other trademarks are the property of their respective owners. Important: Premier Press cannot provide software support. Please contact the appropriate software manufacturer’s technical support line or Web site for assistance. Premier Press and the author have attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer. Information contained in this book has been obtained by Premier Press from sources believed to be reliable. However, because of the possibility of human or mechanical error by our sources, Premier 3 Press, or others, the Publisher does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of such information. Readers should be particularly aware of the fact that the Internet is an ever-changing entity. Some facts may have changed since this book went to press. ISBN: 1-931841-27-6 Library of Congress Catalog Card Number: 2001097326 Printed in the United States of America 02 03 04 05 06 RI 10 9 8 7 6 5 4 3 2 1 Technical Reviewer: Andre LaMothe Copy Editor: Laura R. Gabler Interior Layout: Scribe Tribe Cover Design: Mike Tanamachi CD-ROM Producer: Arlie Hartman Indexer: Sharon Shock For Rachel Acknowledgments I can’t thank my wife Rachel enough. She has graciously put up with six frantic months of writing. Her contributions ranged anywhere from simple emotional support to helping me debug pixel shaders in the early hours of the morning. This book would not have been possible without her patience and support. I’d like to thank all my friends and family for their support. I’ve had less time to spend with the people who are important to me. Thank you for your patience these past months. Thanks to Stan Taylor, Anatole Gershman, Edy Liongosari, and everyone at Accenture Technology Labs for their support. Many thanks to Scott Kurth for proofreading, suggestions, and the occasional reality check. Also, many thanks to Mitu Singh for taking the time to help me with many of the images and equations. I have the privilege of working with a fantastic group of people. Also, I’d like to thank all the other people who worked on this book. I really appreciate the help of Emi Smith, Mitzi Foster, Heather Talbot, Kris Simmons, and André LaMothe. Thanks to all of you for walking me through my first book. Finally, I need to thank Philip Taylor (Microsoft), Jason Mitchell (ATI), Sim Dietrich (nVidia), and many other presenters from each of these three companies. Much of what I have learned comes from their 4 excellent presentations and online materials. Their direct and indirect help is greatly appreciated. Also, I’d like to thank Sim Dietrich for taking the time and effort to write the foreword. All the people mentioned above contributed in some way to the better aspects of this book. I deeply appreciate their contributions. About the Author Kelly Dempski has been a researcher at Accenture’s Technology Labs for seven years. His research work has been in the areas of multimedia, Virtual Reality, Augmented Reality, and Interactive TV, with a strong focus on photo-realistic rendering and interactive techniques. He has authored several papers and one of his projects is part of the Smithsonian Institution’s permanent collection on Information Technology. Letter from the Series Editor Let me start by saying, buy this book! Real-Time Rendering Tricks and Techniques in DirectX is simply the most advanced DirectX book on the market—period! The material in this book will be found in no other book, and that’s all there is to it. I am certain that the author Kelly Dempski is an alien from another world since there’s no way a human could know this much about advanced DirectX. I know since I am from another planet <SMILE>. This book covers all the topics you have always heard about, but never knew exactly how to implement in real time. In recent times, Direct3D has become a very complex and powerful API that leverages hardware to the max. The programmers at Microsoft are not playing games with it and Direct3D is in sync with the hardware that it supports, meaning if there is hardware out there that does something, you can be sure that Direct3D can take advantage of it. In fact, Direct3D has support for operations that don’t exist. Makes me wonder if Bill has a time machine. The only downfall to all this technology and functionality is that the learning curve is many months to years—and that’s no joke. Try learning Direct3D on your own, and it will take you 1–2 years to master it. The days of just figuring things out are over, you need a master to teach you, and then you can advance from there. Real-Time Rendering Tricks and Techniques in DirectX starts off making no assumptions about what you know. The first part of the book covers mathematics, matrices, and more. After that groundwork is laid, general Direct3D is covered in l, so we are all on the same page. The coverage of Direct3D alone is worth the price of the book. However, after the basic Direct3D coverage, the book starts into special effects programming using various advanced techniques like vertex shaders and pixel shaders. This stuff is completely voodoo. It’s not like it’s hard, but you simply would have no idea where to start if you were to read the DirectX SDK. Kelly knows where to start, where to end, and what goes in the middle. Now, I don’t want to get you too excited, but if you read this book you WILL know how to perform such operations as advanced texture blending, lighting, shadow mapping, refraction, reflection, fog, and a bazillion other cool effects such as “cartoon” shading. What I like about this book is that it really does 5 live up to its title, and the material is extremely advanced, but at the same time very easy to understand. The author makes things like refraction seem so easy. He’s like, “a dot product here, change the angle there, texture index, and output it, and whammo done!”—and you’re like sitting there going “wow, it works!”. The point is that something like refraction or reflection seems easy theoretically, but when you try to do it, knowing where to begin is the problem. With Real-Time Rendering Tricks and Techniques in DirectX, you don’t have to worry about that; you will learn the best approaches to every advanced rendering technique known to humanity and be able to skip the learning and experimentation that comes with trial and error.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages764 Page
-
File Size-