Texturing & Modeling: A Procedural Approach, 3/e (Hardcover)

David S. Ebert, F. Kenton Musgrave, Darwyn Peachey, Ken Perlin, Steve Worley

  • 出版商: Morgan Kaufmann
  • 出版日期: 2002-12-16
  • 定價: $2,980
  • 售價: 5.0$1,490 (限時優惠至 2024-04-30)
  • 語言: 英文
  • 頁數: 712
  • 裝訂: Hardcover
  • ISBN: 1558608486
  • ISBN-13: 9781558608481
  • 相關分類: 3D 列印OpenGLComputer Graphics
  • 立即出貨(限量)

買這商品的人也買了...

商品描述

 

Summary

The third edition of this classic tutorial and reference on procedural texturing and modeling is thoroughly updated to meet the needs of today's 3D graphics professionals and students. New for this edition are chapters devoted to real-time issues, cellular texturing, geometric instancing, hardware acceleration, futuristic environments, and virtual universes. In addition, the familiar authoritative chapters on which readers have come to rely contain all-new material covering L-systems, particle systems, scene graphs, spot geometry, bump mapping, cloud modeling, and noise improvements. There are many new spectacular color images to enjoy, especially in this edition's full-color format.

As in the previous editions, the authors, who are the creators of the methods they discuss, provide extensive, practical explanations of widely accepted techniques as well as insights into designing new ones. New to the third edition are chapters by two well-known contributors: Bill Mark of NVIDIA and John Hart of the University of Illinois at Urbana-Champaign on state-of-the-art topics not covered in former editions.

An accompanying Web site (www.texturingandmodeling.com) contains all of the book's sample code in C code segments (all updated to the ANSI C Standard) or in RenderMan shading language, plus files of many magnificent full-color illustrations.

No other book on the market contains the breadth of theoretical and practical information necessary for applying procedural methods. More than ever, Texturing & Modeling remains the chosen resource for professionals and advanced students in computer graphics and animation.

Table of Contents

Foreword

Preface



Introduction

Procedural Techniques and Computer Graphics

What Is a Procedural Technique?

The Power of Procedural Techniques

Procedural Techniques and Advanced Geometric Modeling

Aim of This Book

Organization



Building Procedural

Introduction

Texture

Procedural Texture

Procedural versus Nonprocedural

Implicit and Explicit Procedures

Advantages of Procedural Texture

Disadvantages of Procedural Texture

The RenderMan Shading Language

What If You Don't Use RenderMan?

Procedural Pattern Generation

Shading Models

Pattern Generation

Texture Spaces

Layering and Composition

Steps, Clamps, and Conditionals

Periodic Functions

Splines and Mappings

Example: Brick Texture

Bump-Mapped Brick

Example: Procedural Star Texture

Spectral Synthesis

What Now?

Aliasing and How to Prevent It

Signal Processing

Methods of Antialiasing Procedural Textures

Determining the Sampling Rate

Clamping

Analytic Prefiltering

Better Filters

Integrals and Summed-Area Tables

Example: Antialiased Brick Texture

Alternative Antialiasing Methods

Making Noises

Lattice Noises

Value Noise

Gradient Noise

Value-Gradient Noise

Lattice Convolution Noise

Sparse Convolution Noise

Explicit Noise Algorithms

Fourier Spectral Synthesis

Generating Irregular Patterns

Spectral Synthesis

Perturbed Regular Patterns

Perturbed Image Textures

Random Placement Patterns

Conclusion



Real-Time Programmable Shading

William R. Mark

Introduction

What Makes Real-Time Shading Different?

Why Use a High-Level Programming Language?

What You Need to Learn Elsewhere

Real-Time Graphics Hardware

Object Space Shading versus Screen Space Shading

Parallelism

Hardware Data Types

Resource Limits

Memory Bandwidth and Performance Tuning

Simple Examples

Vertex and Fragment Code in the Stanford Shading System

Two Versions of the Heidrich/Banks Anisotropic Shader

Surface and Light Shaders

The Interface between Shaders and Applications

More Examples

Volume-Rendering Shader

Noise-Based Procedural Flame

Strategies for Developing Shaders

Future GPU Hardware and Programmable Languages

Literature Review

Acknowledgments



Cellular Texturing

The New Bases

Implementation Strategy

Dicing Space

Neighbor Testing

The Subtle Population Table

Extensions and Alternatives

Sample Code



Advanced Antialiasing

Index Aliasing

An Example: Antialiasing Planetary Rings

Spot Geometry

Sampling and Bumping

Optimization and Verification

Emergency Alternatives



Practical Methods For Texture Design

Introduction

Toolbox Functions

The Art of Noise

Color Mappings

Bump-Mapping Methods

The User Interface

Parameter Ranges

Color Table Equalization

Exploring the Parameter Domain

Previews

Efficiency

Tricks, Perversions, and Other Fun Texture Abuses

Volume Rendering with Surface Textures

Odd Texture Ideas

2D Mapping Methods

Where We're Going



Procedural Modeling Of Gases

Introduction

Previous Approaches to Modeling Gases

The Rendering System

Volume-Rendering Algorithm

Illumination of Gaseous Phenomena

Volumetric Shadowing

Alternative Rendering and Modeling Approaches for Gases

A Procedural Framework: Solid Spaces

Development of Solid Spaces

Description of Solid Spaces

Mathematical Description of Solid Spaces

Geometry of the Gases

My Noise and Turbulence Functions

Basic Gas Shaping

Conclusion



Animating Solid Spaces

Animation Paths

Animating Solid Textures

Marble Forming

Marble Moving

Animating Solid Textured Transparency

Animation of Gaseous Volumes

Helical Path Effects

Three-Dimensional Tables

Accessing the Table Entries

Functional Flow Field Tables

Functional Flow Field Functions

Combinations of Functions

Animating Hypertextures

Volumetric Marble Formation
Particle Systems: Another Procedural Animation Technique

Conclusion



Volumetric Cloud Modeling With Implicit Functions

Cloud Basics

Surface-Based Cloud Modeling Approaches

Volumetric Cloud Models

A Volumetric Cloud Modeling System

Volumetric Cloud Rendering

Cumulus Cloud Models

Cirrus and Stratus Clouds

Cloud Creatures

User Specification and Control

Animating Volumetric Procedural Clouds

Procedural Animation

Implicit Primitive Animation

Interactivity and Clouds

Simple Interactive Cloud Models

Rendering Clouds in Commercial Packages

Conclusion



Issues And Strategies For Hardware Acceleration of Procedural Techniques

Introduction

General Issues

Common Acceleration Techniques

Example Accelerated/Real-Time Procedural Textures and Models

Noise and Turbulence

Marble

Smoke and Fog

Real-Time Clouds and Procedural Detail

Conclusion



Procedural Synthesis Of Geometry

John C. Hart

The L-System

Paradigms of Governing the Synthesis of Procedural Geometry

Data Amplification

Lazy Evaluation

The Scene Graph

Procedural Geometric Instancing

Parameter Passing

Accessing World Coordinates

Other Functions

Comparison with L-Systems

Ordering

Bounding Volumes

Conclusion

Procedural Geometric Modeling and the Web

Future Work

Acknowledgments



Noise,Hypertexture,Antialiasing,And Gesture

Introduction

Shape, Solid Texture, and Hypertexture

Two Basic Paradigms

Bias, Gain, and So Forth

Constructing the noise Function

Computing Which Cubical "Cel" We're In

Finding the Pseudorandom Wavelet at Each Vertex of the Cel

Wavelet Coefficients

To Quickly Index into G in a Nonbiased Way

Evaluating the Wavelet Centered at [i, j, k]

Recent Improvements to the noise Function

Raymarching

System Code: The Raymarcher

Application Code: User-Defined Functions

Interaction

Levels of Editing: Changing Algorithms to Tweaking Knobs

z-Slicing

Some Simple Shapes to Play With

Sphere

Egg

Examples of Hypertexture

Explosions

Life-Forms

Space-Filling Fractals

Woven Cloth

Architexture

The NYU Torch

Smoke

Time Dependency

Smoke Rings

Optimization

Turbulence

Antialiased Rendering of Procedural Textures

Background

The Basic Idea

More Detailed Description

The High-Contrast Filter

Examples

To Sum Up

Surflets

Introduction to Surflets

Surflets as Wavelets

Finding Visible Surfaces

Selective Surface Refinement

A Surflet Generator

Constructing a Surflet Hierarchy

Self-Shadowing with Penumbra

Discussion

Conclusion

Flow Noise

Rotating Gradients

Pseudoadvection

Results

Procedural Shape Synthesis

Textural Limb Animation

Introduction to Textural Limb Motion

Road Map

Related Work

Basic Notions

Stochastic Control of Gesture

The System

Examples

Texture for Facial Movement

Background

Related Work

The Movement Model

Movement Layering

The Bottom-Level Movement Vocabulary

Painting with Actions

Using noise in Movement

Same Action in Different Abstractions

What Next?

Conclusion



Real-Time Procedural Solid Texturing

John C. Hart

A Real-Time Procedural Solid Texturing Algorithm

Creating an Atlas for Procedural Solid Texturing

Avoiding Seam Artifacts

Implementing Real-Time Texturing Procedures

Applications

Acknowledgments



A Brief Introduction To Fractals

What Is a Fractal?

What Are Fractals Good For?

Fractals and Proceduralism

Procedural fBm

Multifractal Functions

Fractals and Ontogenetic Modeling

Conclusion



Fractal Solid Textures: Some Examples

Clouds

Puffy Clouds

A Variety of fBm

Distortion for Cirrus Clouds and Global Circulation

The Coriolis Effect

Fire

Water

Noise Ripples

Wind-Blown Waters

Earth

Sedimentary Rock Strata

Gaea: Building an Entire Planet

Selene

Random Coloring Methods

Random fBm Coloring

The GIT Texturing System

An Impressionistic Image Processing Filter

The "multicolor" Texture

Planetary Rings



Procedural Fractal Terrains

Advantages of Point Evaluation

The Height Field

Homogeneous fBm Terrain Models

Fractal Dimension

Visual Effects of the Basis Function

Heterogeneous Terrain Models

Statistics by Altitude

A Hybrid Multifractal

Multiplicative Multifractal Terrains

Conclusion



QAEB Rendering For Procedural Models

Introduction

QAEB Tracing

Problem Statement

Prior Art

The QAEB Algorithm

Error in the Algorithm

Near and Far Clipping Planes

Calculating the Intersection Point and Surface Normal

Antialiasing

A Speedup Scheme for Height Fields

Shadows, Reflection, and Refraction

Performance

QAEB-Traced Hypertextures

Clouds

Billowing Clouds, Pyroclastic Flows, and Fireballs

Fireballs

Psychedelic Clouds

Conclusion



Atmospheric Models

Introduction

Beer's Law and Homogeneous Fog

Exponential Mist

A Radially Symmetric Planetary Atmosphere

A Minimal Rayleigh Scattering Approximation

Trapezoidal Quadrature of ó = e-r GADD and RenderMan Implementation

Numerical Quadrature with Bounded Error for General Radial GADDs

Conclusion



Genetic Textures

Introduction: The Problem of Parameter Proliferation

A Useful Model: Aesthetic n-Spaces

Control versus Automaticity

A Model from Biology: Genetics and Evolution

The Analogy: Genetic Programming

Implementation

Interpretation of the Root Node

The Library of Genetic Bases

Other Examples of Genetic Programming and Genetic Art

A Final Distinction: Genetic Programming versus Genetic Algorithms

Conclusion



Mojoworld: Building Procedural Planets

Introduction

Fractals and Visual Complexity

Building Mountains

Building Planets

Building a Virtual Universe

What Is a Fractal?

Self-Similarity

Dilation Symmetry

Random Fractals

A Bit of History of Fractal Terrains

The Mathematics

Mathematical Imaging of Fractal Terrains

The Computer Graphics Research Community

The Literature

The Software

Disclaimers and Apologies

The Present and Future

Building Random Fractals

The Basis Function

Fractal Dimension: "Roughness"

Octaves: Limits to Detail

Lacunarity: The Gap between Successive Frequencies

Advanced Topics

Dimensions: Domain and Range

Hyperspace

The Basis Functions

The Seed Tables

Monofractals

Multifractals

Function Fractals

Domain Distortion

Distortion Fractal Functions

Crossover Scales

Driving Function Parameters with Functions

Using Fractals

Textures

Terrains

Displacement Maps

Clouds

Planets

Nebulae

The Expressive Vocabulary of Random Fractals

Experiment!

The Future



On The Future: Engineering The Appearance Of Cyberspace

Introduction

Claims

The Fractal Geometry of Cyberspace

Conclusion



Appendix A C Code Implementing QAEB Tracing

Appendix B C Code for Intersection and Surface Normal

Bibliography

Index

About the Authors and Contributors

商品描述(中文翻譯)

 


摘要



這本關於程序紋理和建模的經典教程和參考資料的第三版已經全面更新,以滿足當今3D圖形專業人士和學生的需求。本版新增了專門討論實時問題、細胞紋理、幾何實例、硬件加速、未來環境和虛擬宇宙的章節。此外,讀者所依賴的權威章節也包含了關於L系統、粒子系統、場景圖、斑點幾何、凹凸映射、雲模型和噪聲改進的全新內容。本版特別以全彩色格式呈現了許多新的壯觀彩色圖像。

與前幾版一樣,本書的作者是他們所討論方法的創造者,他們提供了廣泛而實用的解釋,涵蓋了廣泛接受的技術以及設計新技術的見解。第三版新增了兩位著名作者的章節:NVIDIA的Bill Mark和伊利諾伊大學香檳分校的John Hart,介紹了前幾版未涉及的最新主題。

附帶的網站(www.texturingandmodeling.com)包含了本書所有的示例代碼,以C代碼段(全部更新為ANSI C標準)或RenderMan着色語言的形式呈現,還有許多精美的全彩色插圖文件。

市場上沒有其他一本書包含了應用程序方法所需的廣泛的理論和實用信息。《紋理和建模》仍然是計算機圖形和動畫領域的專業人士和高級學生的首選資源。


目錄



前言


前言



引言

程序技術和計算機圖形

什麼是程序技術?


程序技術的威力

程序技術和高級幾何建模

本書的目標

組織




構建程序

引言


紋理

程序紋理

程序與非程序

隱式和顯式程序

程序紋理的優勢

程序紋理的缺點

RenderMan着色語言

如果不使用RenderMan怎麼辦?


程序模式生成

着色模型

模式生成

紋理空間

分層和組合


步驟、夾鉗和條件語句

周期函數


樣條和映射

示例:磚紋理


凹凸映射的磚紋理

示例:程序星紋理


光譜合成

現在怎麼辦?

混疊和如何防止鋸齒狀


信號處理

抗鋸齒程序紋理的方法

確定取樣率

夾鉗


解析預過濾

更好的濾波器

積分和總面積表

示例:抗鋸齒磚紋理


替代抗鋸齒方法

生成噪聲

格點噪聲


值噪聲

梯度噪聲

值-梯度噪聲


格點卷積噪聲

稀疏卷積噪聲


顯式噪聲算法

傅立葉光譜合成


生成不規則模式

光譜合成


Perturb