|Table of Contents|
|Focus on Curves and Surfaces|
|Part One - Focus on Basics|
|Chapter 1||-||Polynomial Curves|
|Chapter 2||-||Trigonometric Functions|
|Part Two - Focus on Curves|
|Chapter 3||-||Parametric Equations and Bezier Curves|
|Chapter 6||-||Subdivision of Curves|
|Part Three - Focus on Surfaces|
|Chapter 7||-||Basic Surface Concepts and Bezier Surfaces|
|Chapter 8||-||B-Spline Surfaces|
|Chapter 9||-||NURBS Surfaces|
|Chapter 10||-||More NURBS Surfaces|
|Chapter 11||-||Higher-Order Surfaces in DirectX|
|Part Four - Appendixes|
|Appendix A||-||Derivative Calculus|
|Appendix B||-||A Quick Look at Vectors|
|Appendix D||-||What's on the CD|
|List of Figures|
|List of Tables|
|List of Definitions|
Focus on Curves and Surfaces
Copyright 2003 by Premier Press, a division of Course Technology.
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.
The Premier Press logo and related trade dress are trademarks of Premier Press and may not be used without written permission.
Publisher: Stacy L. Hiquet
Marketing Manager: Heather Hurley
Acquisitions Editor: Mitzi Foster Koontz
Series Editor: Andr LaMothe
Project Editor/Copy Editor: Jenny Davidson
Technical Reviewer: Wolfgang Engel/Andr LaMothe
Interior Layout: Danielle Foster
Cover Designer: Mike Tanamachi
Indexer: Katherine Stimson
Proofreader: Sandi Wilson
Xfrog is a registered trademark of greenworks organic-software.
Rhino is a registered trademark of Robert McNeel & Associates.
DirectX is a registered trademark of Microsoft Corporation in the United States and/ or other countries .
Adobe, the Adobe logo, Acrobat, the Acrobat logo, and Acrobat Reader are registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.
All other trademarks are the property of their respective owners .
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 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.
Library of Congress Catalog Card Number: 2002111225
Printed in the United States of America
03 04 05 06 07 BH 10 9 8 7 6 5 4 3 2 1
Premier Press, a division of Course Technology
2645 Erie Avenue, Suite 41
Cincinnati, Ohio 45208
To my Mother and Father
Thanks to my wife, Rachel. She has endured months of incredibly stimulating conversation about knot vectors and basis functions. I have a great appreciation for her patience, and this book would not have been possible without her support.
Thanks to my family for reasons too numerous to mention.
As always, many thanks again to my friends and colleagues Scott Kurth and Mitu Singh for their time spent proofreading, offering suggestions, and providing general moral support. For that, I consider myself extremely fortunate.
Thanks to everyone at Accenture Technology Labs for their support and encouragement. I have the pleasure to work with a group of extremely intelligent and thoughtful people.
Also, I'd like to thank all of the other people who worked on this book. I really appreciate the help of Mitzi Foster, Jenny Davidson, and many others. They are extremely supportive and tolerant of strange , longwinded e- mails . Many thanks go to Wolfgang Engel for his thoughtful and thorough technical editing.
I'd also like to thank the numerous people who have contributed to this field. Without their inventions , contributions, and insight, this book would quite literally have not been possible. It would be impossible to list all of the people who have explicitly or implicitly contributed to this field, but I have included a short bibliography in Appendix C that should serve to introduce you to their work.
Finally, I'd like to thank Ben, Tom, and Will at Bagel Art (highly recommended if you are ever in Evanston, IL), and Shaun, Mire, Ian, and all the people at Starbucks (highly recommended if you are ever on Earth).
All of 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 Technology Labs for the past eight years . His research work has been in the areas of multimedia, Virtual Reality, Augmented Reality, and Interactive TV. He has authored several papers in these areas and is also the author of Real-Time Rendering Tricks and Techniques in DirectX by Premier Press.
LETTER FROM THE SERIES EDITOR
Ever since the world saw the undulating organic geometry in id Software's Quake III , everyone has been trying to add this powerful technique to their games . Both OpenGL and DirectX support higher-order surfaces, but it can be difficult to use them effectively. The real root of the problem is that this technology is mathematical in nature. It's not rocket science, but it's hard to use a "rational basis spline" when you don't know what those words mean.
With that in mind, my vision for this book was something that you can pick up and walk away with knowing exactly how to create 2D/3D curves and surfaces. The problem with this book is that you need someone who is a Jedi to write it; this material is complex, and only someone with years of experience in game programming, and years of experience in this area could pull it off-luckily for us, Kelly Dempski showed up with a proposal for this book that was exactly what I was looking for.
I am constantly saying how good all these Premier Game Development books are, and I am going to once again. This is the world's best book on the subject, hands down. There is simply nothing that is going to give you the information in an informal, but strict, fun, but serious way that balances what you need to know with the constraints of needing to know it within your lifetime <BG>.
I just finished reviewing the final text and demo of the book, and I have to say I am amazed The book starts off with an introduction about curves and surfaces, so you know what to expect, then Kelly (very wisely) creates a simple application framework to render curves and surfaces in a uniform manner (believe me when you start writing 50-100 demos for something, you want to be able to do it quickly). Once you have the tools to get started, then "it's on". Bezier curves are first up (being that I am French, I appreciate this of course), then B-splines (their close neighbors), and on to NURBS and subdivision curves. After all these topics have been covered, then it's round two with the 3D version of everything, and surfaces are also covered. So the transition is smooth and consistent with just enough math to get the job done, and there's a really nice calculus and vector review in the appendixes if you're a little rusty.
Finally, the book ends with some more advanced topics and delves into using DirectX 8.1+ to do all the math for us (for the most part), but like Kelly, I believe that you should know how to do this stuff-one day you might have to derive it all yourself!
In conclusion, this book rocks, and you have to have it. All the Internet articles in the world aren't going to give you what you will read in this book and immediately be able to leverage in your own work.
Premier Game Development Series Editor