Texturing & Modeling: A Procedural Approach, 3/e (Hardcover)
暫譯: 紋理與建模:程序化方法,第3版 (精裝本)

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

  • 出版商: Morgan Kaufmann
  • 出版日期: 2002-12-16
  • 定價: $2,980
  • 售價: 5.0$1,490
  • 語言: 英文
  • 頁數: 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著色語言,以及許多壯觀的全彩插圖文件。

市場上沒有其他書籍能夠提供應用程序方法所需的理論和實踐信息的廣度。Texturing & Modeling比以往任何時候都更成為計算機圖形和動畫專業人士及高級學生的首選資源。

**目錄**

前言

序言

**介紹**

程序技術與計算機圖形

什麼是程序技術?

程序技術的力量

程序技術與高級幾何建模

本書的目的

組織

**構建程序**

介紹

紋理

程序紋理

程序與非程序

隱式與顯式程序

程序紋理的優勢

程序紋理的劣勢

RenderMan著色語言

如果不使用RenderMan怎麼辦?

程序圖案生成

著色模型

圖案生成

紋理空間

分層與合成

步驟、夾緊與條件

週期函數

樣條與映射

範例:磚紋理

凹凸映射磚

範例:程序星星紋理

光譜合成

現在該怎麼辦?

鋸齒與如何防止它

信號處理

程序紋理的抗鋸齒方法

確定取樣率

夾緊

解析預過濾

更好的濾波器

積分與累積區域表

範例:抗鋸齒磚紋理

替代抗鋸齒方法

製造噪聲

格子噪聲

值噪聲

梯度噪聲

值-梯度噪聲

格子卷積噪聲

稀疏卷積噪聲

顯式噪聲算法

傅立葉光譜合成

生成不規則圖案

光譜合成

擾動的規則圖案

擾動的圖像紋理

隨機放置圖案

結論

**即時可編程著色**

William R. Mark

介紹

即時著色的不同之處?

為什麼使用高級編程語言?

你需要在其他地方學習的內容

即時圖形硬體

物件空間著色與螢幕空間著色

平行性

硬體數據類型

資源限制

記憶體帶寬與性能調整

簡單範例

斯坦福著色系統中的頂點和片段代碼

Heidrich/Banks各向異性著色器的兩個版本

表面和光源著色器

著色器與應用程序之間的介面

更多範例

體積渲染著色器

基於噪聲的程序火焰

開發著色器的策略

未來的GPU硬體與可編程語言

文獻回顧

致謝

**細胞紋理**

新基礎

實施策略

切割空間

鄰居測試

微妙的族群表

擴展與替代

範例代碼

**高級抗鋸齒**

索引鋸齒

範例:抗鋸齒行星環

聚光幾何

取樣與凹凸

優化與驗證

緊急替代方案

**紋理設計的實用方法**

介紹

工具箱函數

噪聲的藝術

顏色映射

凹凸映射方法

用戶介面

參數範圍

顏色表均衡

探索參數域

預覽

效率

技巧、變形與其他有趣的紋理濫用

使用表面紋理的體積渲染

奇特的紋理想法

2D映射方法

我們的未來

**氣體的程序建模**

介紹

氣體建模的先前方法

渲染系統

體積渲染算法

氣體現象的照明

體積陰影

氣體的替代渲染與建模方法

程序框架:固體空間

固體空間的發展

固體空間的描述

固體空間的數學描述

氣體的幾何

我的噪聲與湍流函數

基本氣體塑形

結論

**動畫固體空間**

動畫路徑

動畫固體紋理

大理石形成

大理石移動

動畫固體紋理透明度

氣體體積的動畫

螺旋路徑效果

三維表格

訪問表格條目

功能流場表

功能流場函數

函數的組合

動畫超紋理

體積大理石形成

粒子系統:另一種程序動畫技術

結論

**使用隱式函數的體積雲模型**

雲的基本知識

基於表面的雲建模方法

體積雲模型

體積雲建模系統

體積雲渲染

積雲模型

卷雲與層雲

雲生物

用戶規範與控制

動畫體積程序雲

程序動畫

隱式原始動畫

互動與雲

簡單的互動雲模型

在商業包中渲染雲

結論

**程序技術的硬體加速問題與策略**

介紹

一般問題

常見加速技術

範例加速/即時程序紋理與模型

噪聲與湍流

大理石

煙霧與霧

即時雲與程序細節

結論

**幾何的程序合成**

John C. Hart

L系統

控制程序幾何合成的範式

數據放大

懶惰評估

場景圖

程序幾何實例化

參數傳遞

訪問世界坐標

其他函數

與L系統的比較

排序

邊界體積

結論

程序幾何建模與網路

未來的工作

致謝

**噪聲、超紋理、抗鋸齒與手勢**

介紹

形狀、固體紋理與超紋理

兩個基本範式

偏差、增益等等

構建噪聲函數

計算我們所在的立方“單元”

在每個單元的頂點找到偽隨機小波

小波係數

以非偏差的方式快速索引G

評估以[i, j, k]為中心的小波

對噪聲函數的最近改進

光線行進

系統代碼:光線行進器

應用代碼:用戶定義函數

互動

編輯層級:從改變算法到調整旋鈕

z切片

一些簡單的形狀可供玩耍

球體

蛋形

超紋理的範例

爆炸

生命形式

填充空間的分形

編織布料

建築紋理

NYU火炬

煙霧

時間依賴性

煙圈

優化

湍流

程序紋理的抗鋸齒渲染

背景

基本概念

更詳細的描述

高對比度濾波器

範例

總結

Surflets

Surflets的介紹

Surflets作為小波

尋找可見表面

選擇性表面細化

Surflet生成器

構建Surflet層級

自我-