Skip to:Content
|
Bottom
Cover image for Practical parallel rendering
Title:
Practical parallel rendering
Publication Information:
Natick, MA : AK Peters, 2002.
Physical Description:
xiii, 370 p. : ill. (some col.) ; 24 cm.
ISBN:
9781568811796

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010193567 QA76.58 P72 2002 Open Access Book Book
Searching...

On Order

Summary

Summary

Meeting the growing demands for speed and quality in rendering computer graphics images requires new techniques. Practical parallel rendering provides one of the most practical solutions. This book addresses the basic issues of rendering within a parallel or distributed computing environment, and considers the strengths and weaknesses of multiprocessor machines and networked render farms for graphics rendering. Case studies of working applications demonstrate, in detail, practical ways of dealing with complex issues involved in parallel processing.


Author Notes

Alan Charmers


Table of Contents

Prefacep. xi
I Parallel Renderingp. 1
1 Introduction to Parallel Processingp. 3
1.1 Conceptsp. 4
1.1.1 Dependenciesp. 5
1.1.2 Scalabilityp. 6
1.1.3 Controlp. 7
1.2 Classification of Parallel Systemsp. 7
1.2.1 Parallel versus Distributed Systemsp. 13
1.3 The Relationship of Tasks and Datap. 14
1.3.1 Inherent Difficultiesp. 15
1.3.2 Tasksp. 16
1.3.3 Datap. 16
1.4 Evaluating Parallel Implementationsp. 17
1.4.1 Realization Penaltiesp. 18
1.4.2 Performance Metricsp. 20
1.4.3 Efficiencyp. 25
2 Task Scheduling and Data Managementp. 31
2.1 Problem Decompositionp. 31
2.1.1 Algorithmic Decompositionp. 32
2.1.2 Domain Decompositionp. 32
2.1.3 Abstract Definition of a Taskp. 34
2.1.4 System Architecturep. 34
2.2 Computational Modelsp. 36
2.2.1 Data Driven Modelp. 36
2.2.2 Demand Driven Modelp. 41
2.2.3 Hybrid Computational Modelp. 46
2.3 Task Managementp. 46
2.3.1 Task Definition and Granularityp. 46
2.3.2 Task Distribution and Controlp. 48
2.3.3 Algorithmic Dependenciesp. 49
2.4 Task Scheduling Strategiesp. 53
2.4.1 Data Driven Task Management Strategiesp. 53
2.4.2 Demand Driven Task Management Strategiesp. 54
2.4.3 Task Manager Processp. 59
2.4.4 Distributed Task Managementp. 62
2.4.5 Preferred Bias Task Allocationp. 64
2.5 Data Managementp. 65
2.5.1 World Model of the Data: No Data Management Requiredp. 66
2.5.2 Virtual Shared Memoryp. 67
2.5.3 The Data Managerp. 69
2.5.4 Consistencyp. 76
2.5.5 Minimizing the Impact of Remote Data Requestsp. 80
2.5.6 Data Management for Multistage Problemsp. 85
3 Parallel Global Illumination Algorithmsp. 89
3.1 Renderingp. 90
3.2 Parallel Processingp. 92
3.3 Ray Tracingp. 94
3.4 Spatial Subdivisionsp. 96
3.4.1 Parallel Ray Tracingp. 99
3.4.2 Demand Driven Ray Tracingp. 99
3.4.3 Data Parallel Ray Tracingp. 104
3.4.4 Hybrid Schedulingp. 107
3.5 Radiosityp. 109
3.5.1 Form Factorsp. 110
3.5.2 Parallel Radiosityp. 111
3.6 Full Matrix Radiosityp. 112
3.6.1 Setting Up the Matrix of Form Factorsp. 113
3.6.2 Solving the Matrix of Form Factorsp. 115
3.6.3 Group Iterative Methodsp. 115
3.7 Progressive Refinementp. 116
3.7.1 Parallel Shootingp. 118
3.8 Hierarchical Radiosityp. 120
3.8.1 Parallel Hierarchical Radiosityp. 121
3.9 Particle Tracingp. 122
3.9.1 Parallel Particle Tracingp. 123
3.9.2 Density Estimationp. 124
3.10 Data Distribution and Data Localityp. 125
3.10.1 Data Distributionp. 126
3.10.2 Visibility Preprocessingp. 127
3.10.3 Environment Mappingp. 128
3.10.4 Geometric Simplificationp. 128
3.10.5 Directional Cachingp. 130
3.10.6 Reordering Computationsp. 130
3.11 Discussionp. 131
4 Overview of Parallel Graphics Hardwarep. 133
4.1 Pipeliningp. 133
4.2 Parallelism in Graphics Cardsp. 136
4.2.1 3DLABS Productsp. 136
4.2.2 Hewlett-Packard Productsp. 139
4.2.3 SGI Products (Silicon Graphics, Inc.)p. 142
4.2.4 UNC Productsp. 146
4.2.5 Pomegranate Graphics Chipp. 149
4.3 Conclusionp. 151
5 Coherence in Ray Tracingp. 153
5.1 Scene Analysisp. 154
5.1.1 Distribution of Data Accessesp. 155
5.1.2 Temporal Characteristicsp. 158
5.1.3 Temporal Behaviour per Ray Typep. 162
5.1.4 Conclusionsp. 164
5.2 Animation Analysisp. 165
5.2.1 Backgroundp. 166
5.2.2 Related Workp. 167
5.2.3 Frame Coherence Algorithmp. 169
5.2.4 Parallel Frame Coherence Algorithmp. 174
5.2.5 Resultsp. 176
5.2.6 Summaryp. 184
II Case Studiesp. 185
6 Interactive Ray Tracing on a Supercomputerp. 187
6.1 System Architecturep. 188
6.1.1 Conventional Operationp. 189
6.1.2 Frameless Renderingp. 192
6.1.3 Performancep. 193
6.2 Ray Tracing for Volume Visualizationp. 194
6.2.1 Backgroundp. 195
6.2.2 Traversal Optimizationsp. 197
6.2.3 Algorithmsp. 201
6.2.4 Resultsp. 205
6.2.5 Discussionp. 211
6.3 Ray Tracing for Terrain Visualizationp. 214
6.4 Conclusionsp. 215
7 Interactive Ray Tracing on PCsp. 217
7.1 Introductionp. 217
7.1.1 Previous Workp. 220
7.2 An Optimized Ray Tracing Implementationp. 221
7.2.1 Code Complexityp. 221
7.2.2 Cachingp. 222
7.2.3 Coherence through Packets of Raysp. 223
7.2.4 Parallelism through SIMD Extensionsp. 223
7.3 Ray Triangle Intersection Computationp. 223
7.3.1 Optimized Barycentric Coordinate Testp. 223
7.3.2 Evaluating Instruction Level Parallelismp. 224
7.3.3 SIMD Barycentric Coordinate Testp. 224
7.4 BSP Traversalp. 226
7.4.1 Traversal Algorithmp. 226
7.4.2 Memory Layout for Better Cachingp. 228
7.4.3 Traversal Overheadp. 229
7.5 SIMD Phong Shadingp. 229
7.6 Performance of the Ray Tracing Enginep. 231
7.6.1 Comparison to Other Ray Tracersp. 231
7.6.2 Reflection and Shadow Raysp. 233
7.6.3 Comparison with Rasterization Hardwarep. 234
7.7 Interactive Ray Tracing on PC Clustersp. 236
7.7.1 Overviewp. 238
7.8 Distributed Data Managementp. 239
7.8.1 Explicit Data Managementp. 239
7.8.2 Preprocessingp. 241
7.9 Load Balancingp. 241
7.10 Implementationp. 242
7.11 Resultsp. 243
7.12 Conclusionsp. 246
8 The "Kilauea" Massively Parallel Ray Tracerp. 249
8.1 What Is the Kilauea Project?p. 249
8.2 Basic Ideap. 250
8.3 System Designp. 251
8.3.1 Hardware Environmentp. 251
8.3.2 Pthreadsp. 252
8.3.3 Message Passingp. 252
8.3.4 Front-End Processp. 253
8.3.5 Launching Kilaueap. 253
8.3.6 Single Executable Binaryp. 254
8.3.7 Multiframe Renderingp. 254
8.3.8 Global Illumination Rendererp. 255
8.4 The ShotData File Formatp. 256
8.5 Parallel Ray Tracingp. 261
8.6 Implementationp. 268
8.6.1 Low-Level Data Structurep. 268
8.6.2 MPI (Message Passing Interface) Layerp. 277
8.6.3 Tcl Command Interfacep. 279
8.6.4 Rank and Taskp. 281
8.6.5 Details of Ray Tracingp. 288
8.6.6 Shading Computationp. 291
8.6.7 Photon Map Methodp. 306
8.6.8 Things to Note in Shading Computationp. 310
8.6.9 Development in Generalp. 314
8.7 Rendering Resultsp. 316
8.7.1 Sample 1: Quatrop. 316
8.7.2 Sample 2: Jeepp. 319
8.7.3 Sample 3: Jeep 8p. 321
8.7.4 Consideration of Rendering Resultsp. 322
8.8 Conclusionp. 323
8.9 Future Plans and Tasksp. 325
9 Parallel Ray Tracing on a Chipp. 329
9.1 The Smart Memories Chipp. 329
9.2 The SHARP Ray Tracerp. 331
9.3 Simulation Resultsp. 333
9.3.1 Cachingp. 334
9.3.2 Estimated Performancep. 335
9.4 Conclusionsp. 336
Bibliographyp. 337
Indexp. 363
Author Biographiesp. 369
Go to:Top of Page