
TEXTURING & MODELING A Procedural Approach third edition Team LRN The Morgan Kaufmann Series in Computer Graphics and Geometric Modeling Series Editor: Brian A. Barsky, University of California, Berkeley Texturing & Modeling: A Procedural Approach, Andrew Glassner’s Notebook: Third Edition Recreational Computer Graphics David S. Ebert, F. Kenton Musgrave, Darwyn Andrew S. Glassner Peachey, Ken Perlin, and Steven Worley Warping and Morphing of Graphical Objects Geometric Tools for Computer Graphics Jonas Gomes, Lucia Darsa, Bruno Costa, and Luiz Philip Schneider and David Eberly Velho Understanding Virtual Reality: Jim Blinn’s Corner: Dirty Pixels Interface, Application, and Design Jim Blinn William Sherman and Alan Craig Rendering with Radiance: Jim Blinn’s Corner: Notation, Notation, Notation The Art and Science of Lighting Visualization Jim Blinn Greg Ward Larson and Rob Shakespeare Level of Detail for 3D Graphics: Introduction to Implicit Surfaces Application and Theory Edited by Jules Bloomenthal David Luebke, Martin Reddy, Jonathan D. Cohen, Amitabh Varshney, Benjamin Watson, and Robert Jim Blinn’s Corner: Huebner A Trip Down the Graphics Pipeline Jim Blinn Digital Video and HDTV Algorithms and Interfaces Interactive Curves and Surfaces: Charles Poynton A Multimedia Tutorial on CAGD Alyn Rockwood and Peter Chambers Pyramid Algorithms: A Dynamic Programming Approach to Curves and Surfaces for Wavelets for Computer Graphics: Geometric Modeling Theory and Applications Ron Goldman Eric J. Stollnitz, Tony D. DeRose, and David H. Salesin Non-Photorealistic Computer Graphics: Modeling, Rendering, and Animation Principles of Digital Image Synthesis Thomas Strothotte and Stefan Schlechtweg Andrew S. Glassner Curves and Surfaces for CAGD: A Practical Guide, Radiosity & Global Illumination Fifth Edition François X. Sillion and Claude Puech Gerald Farin Knotty: A B-Spline Visualization Program Subdivision Methods for Geometric Design: Jonathan Yen A Constructive Approach Joe Warren and Henrik Weimer User Interface Management Systems: Models and Algorithms Computer Animation: Algorithms and Techniques Dan R. Olsen, Jr. Rick Parent Making Them Move: Mechanics, Control, and The Computer Animator’s Technical Handbook Animation of Articulated Figures Lynn Pocock and Judson Rosebush Edited by Norman I. Badler, Brian A. Barsky, and David Zeltzer Advanced RenderMan: Creating CGI for Motion Pictures Geometric and Solid Modeling: An Introduction Anthony A. Apodaca and Larry Gritz Christoph M. Hoffmann Curves and Surfaces in Geometric Modeling: An Introduction to Splines for Use in Computer Theory and Algorithms Graphics and Geometric Modeling Jean Gallier Richard H. Bartels, John C. Beatty, and Brian A. Barsky Team LRN TEXTURING & MODELING A Procedural Approach third edition David S. Ebert Purdue University F. Kenton Musgrave Pandromedia,Inc. Darwyn Peachey Pixar Animation Studios Ken Perlin New York University Steven Worley Worley Laboratories With contributions from William R. Mark University of Texas at Austin John C. Hart University of Illinois at Urbana–Champaign Team LRN Publishing Director Diane D. Cerra Publishing Services Manager Edward Wade Senior Production Editor Cheri Palmer Senior Developmental Editor Marilyn Alan Editorial Coordinator Mona Buehler Cover/Text Design Frances Baca Design Cover Image © 2002 Armands Auseklis. MojoWorld by Robert Buttery Technical Illustration/Composition Technologies ‘n’ Typography Copyeditor Ken DellaPenta Proofreader Jennifer McClain Indexer Ty Koontz Printer The Maple-Vail Book Manufacturing Group Figure credits: Figures 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.10: Copyright © 1996 Association for Computing Machinery, Inc. Used with permission. Figure 8.13: Copyright © 1984 Pixar Animation Studios. Figure 15.1: Copyright © 1985 Association for Computing Machinery, Inc. Used with permission. Designations used by companies to distinguish their products are often claimed as trademarks or regis- tered trademarks. In all instances in which Morgan Kaufmann Publishers is aware of a claim, the prod- uct names appear in initial capital or all capital letters. Readers, however, should contact the appropriate companies for more complete information regarding trademarks and registration. Morgan Kaufmann Publishers An imprint of Elsevier Science 340 Pine Street, Sixth Floor San Francisco, CA 94104–3205 www.mkp.com © 2003 by Elsevier Science (USA) All rights reserved. Printed in the United States of America 0706050403 54321 No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means—electronic, mechanical, photocopying, or otherwise—without the prior written per- mission of the publisher. Library of Congress Control Number: 2002107243 ISBN: 1–55860–848–6 This book is printed on acid-free paper. Team LRN THE UBIQUITY OF PROCEDURAL TECHNIQUES IN COMPUTER GRAPHICS .... xx OUR OBJECTIVE............................................. xxi DEVELOPMENT OF THIS BOOK .................... xxii SOURCE CODE............................................... xxii ACKNOWLEDGMENTS ................................... xxii AUTHOR ADDRESSES ................................... xxiii INTRODUCTION .................................................. 1 PROCEDURAL TECHNIQUES AND COMPUTER GRAPHICS ................................. 1 What Is a Procedural Technique? .......................... 1 The Power of Procedural Techniques .................... 2 PROCEDURAL TECHNIQUES AND ADVANCED GEOMETRIC MODELING........... 2 AIM OF THIS BOOK......................................... 3 ORGANIZATION .............................................. 4 BUILDING PROCEDURAL TEXTURES.............. 7 INTRODUCTION .............................................. 7 Texture ................................................................... 8 Procedural Texture ................................................. 11 Procedural versus Nonprocedural .......................... 12 Implicit and Explicit Procedures.............................. 12 Advantages of Procedural Texture ......................... 14 Disadvantages of Procedural Texture .................... 14 The RenderMan Shading Language ...................... 15 What If You Dont Use RenderMan? ...................... 16 PROCEDURAL PATTERN GENERATION ...... 20 Shading Models...................................................... 20 Pattern Generation ................................................. 22 Texture Spaces ...................................................... 24 Layering and Composition ...................................... 25 Steps, Clamps, and Conditionals ........................... 27 Periodic Functions .................................................. 31 Team LRN Splines and Mappings ............................................ 34 Example: Brick Texture .......................................... 39 Bump- Mapped Brick .............................................. 41 Example: Procedural Star Texture ......................... 46 Spectral Synthesis .................................................. 48 What Now? ............................................................. 51 ALIASING AND HOW TO PREVENT IT........... 52 Signal Processing ................................................... 52 Methods of Antialiasing Procedural Textures ......... 56 Determining the Sampling Rate.............................. 57 Clamping ................................................................ 59 Analytic Prefiltering ................................................. 61 Better Filters ........................................................... 62 Integrals and Summed- Area Tables ...................... 63 Example: Antialiased Brick Texture ........................ 64 Alternative Antialiasing Methods ............................ 66 MAKING NOISES............................................. 67 Lattice Noises ......................................................... 69 Value Noise ............................................................ 70 Gradient Noise........................................................ 72 Value- Gradient Noise ............................................ 77 Lattice Convolution Noise ....................................... 78 Sparse Convolution Noise ...................................... 80 Explicit Noise Algorithms ........................................ 82 Fourier Spectral Synthesis ..................................... 82 GENERATING IRREGULAR PATTERNS........ 83 Spectral Synthesis .................................................. 85 Perturbed Regular Patterns.................................... 89 Perturbed Image Textures ...................................... 90 Random Placement Patterns.................................. 91 CONCLUSION.................................................. 94 REAL-TIME PROGRAMMABLE SHADING ........ 97 INTRODUCTION .............................................. 97 What Makes Real- Time Shading Different? .......... 98 Why Use a High- Level Programming Language?.............................................................. 100 Team LRN What You Need to Learn Elsewhere ...................... 101 Real- Time Graphics Hardware .............................. 102 Object Space Shading versus Screen Space Shading .................................................................. 103 Parallelism .............................................................. 106 Hardware Data Types............................................. 108 Resource Limits...................................................... 109 Memory Bandwidth
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages722 Page
-
File Size-