Texturing & Modeling: a Procedural Approach

Total Page:16

File Type:pdf, Size:1020Kb

Texturing & Modeling: a Procedural Approach 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
Recommended publications
  • Modeling, Evaluation, Editing, and Illumination of Three Dimensional Mazes and Caves for Computer Games DISSERTATION Presented I
    Modeling, Evaluation, Editing, and Illumination of Three Dimensional Mazes and Caves for Computer Games DISSERTATION Presented in Partial Fulfillment of the Requirements for the Degree Doctor of Philosophy in the Graduate School of The Ohio State University By Matthew J. Boggus Graduate Program in Computer Science and Engineering The Ohio State University 2012 Dissertation Committee: Roger Crawfis, Advisor Han-Wei Shen Richard Parent Copyright by Matthew J. Boggus 2012 Abstract Caves are commonly used as environments in computer games. As the popularity of open world games rises, so does the demand for expansive virtual environments. To ease this cost, many tools have been developed to create and edit content for games including terrain, plants, roads, buildings, and cities. The same is not true for caves. We present data structures and algorithms to create, evaluate, edit, and illuminate three dimensional models of caves for use in computer games. Game levels can be classified according to their spatial configuration: linear, maze, or open. Caves formed by the same geological process have similar features. These define parameters that can be used to partially or fully automate the creation of cave models of different spatial configurations. Additional information about the model such as its volume, number of branching paths, and number of connected components can be used by the designer in evaluating and editing the model to meet gameplay requirements. To assist in editing of cave models we propose a new data structure and framework and compare its use to existing modeling approaches. Physically based illumination of a cave typically results in low level lighting which is not suitable for games.
    [Show full text]
  • Realtime Library for Procedural Generation and Rendering of Terrains
    Charles University in Prague Faculty of Mathematics and Physics MASTER THESIS Martin Kahoun Realtime library for procedural generation and rendering of terrains Department of Software and Computer Science Education Supervisor of the master thesis: Mgr. Jan Hor´aˇcek Study programme: Computer science Specialization: Software systems Prague 2013 I would like to express my gratitude to my supervisor, Mgr. Jan Hor´aˇcek, for his support, availability, help and guidance. Many thanks to my family and friends for their support and never ending patience. Very special thanks to my girlfriend who has had the patience with me and supported me to get this work done. I declare that I carried out this master thesis independently, and only with the cited sources, literature and other professional sources. I understand that my work relates to the rights and obligations under the Act No. 121/2000 Coll., the Copyright Act, as amended, in particular the fact that the Charles University in Prague has the right to conclude a license agreement on the use of this work as a school work pursuant to Section 60 paragraph 1 of the Copyright Act. In Prague, August 2, 2013 Martin Kahoun N´azev pr´ace: Realtime library for procedural generation and rendering of terrains Autor: Bc. Martin Kahoun Katedra: Kabinet software a v´yuky informatiky Vedouc´ıdiplomov´epr´ace: Mgr. Jan Hor´aˇcek, KSVI Abstrakt: Techniky procedur´aln´ıho generov´an´ıgrafick´eho obsahu zaˇzily za po- sledn´ıch tˇricet let ˇsirok´eho uˇzit´ı. Jedn´ase o st´ale aktivn´ı oblast v´yzkumu s ap- likacemi v 3D modelovac´ımsoftware, videohr´ach a filmech.
    [Show full text]
  • Fluid Flow Modelling in Houdini
    Fluid Flow Modelling in Houdini Oleksandr Holub, Mykhailo Moiseienko[0000-0002-4945-202X] and Natalia Moiseienko[0000-0002-3559-6081] Kryvyi Rih State Pedagogical University, 54 Gagarin Ave., Kryvyi Rih, 50086, Ukraine [email protected] Abstract. The modern educational environment in the field of physics and information technology ensures the widespread use of visualization software for successful and deep memorization of material. There are many software for creating graphic objects for presentations and demonstrations, the most popular of which were analyzed. The work is devoted to the visualization of liquids with different viscosity parameters. The article describes the development of a fluid model in the form of a particle stream. The proposed methodology involves using the Houdini application to create interactive models. The developed model can be used in the educational process in the field of information technology. Keywords: Fluid Flow, Modelling, Houdini. 1 Introduction Computer graphics today is one of the main directions of information technologies, that develops most stormily. By means of computer graphics it is possible to do visible or visualize such phenomena and processes that cannot be seen in reality, it is possible to create evident character of that in actual fact has (for example, effects of theory of relativity, conformity to law of numerical rows and others like that) unobvious [1; 9]. Scientific visualization that sometimes is briefly named by SciVis is graphic representation of data as to the means for a study and understanding of data. Sometimes such method is named the visual analysis of data. It allows to the researcher to get an idea about the system that is studied, before by impossible methods.
    [Show full text]