Atnaujinkite slapukų nuostatas

El. knyga: GPU Pro 360 Guide to 3D Engine Design [Taylor & Francis e-book]

  • Formatas: 370 pages
  • Išleidimo metai: 19-Nov-2018
  • Leidėjas: A K Peters
  • ISBN-13: 9781351172486
Kitos knygos pagal šią temą:
  • Taylor & Francis e-book
  • Kaina: 258,50 €*
  • * this price gives unlimited concurrent access for unlimited time
  • Standartinė kaina: 369,29 €
  • Sutaupote 30%
  • Formatas: 370 pages
  • Išleidimo metai: 19-Nov-2018
  • Leidėjas: A K Peters
  • ISBN-13: 9781351172486
Kitos knygos pagal šią temą:
Wolfgang Engels GPU Pro 360 Guide to 3D Engine Design gathers all the cutting-edge information from his previous seven GPU Pro volumes into a convenient single source anthology that covers the design of a 3D engine. This volume is complete with articles by leading programmers that focus on various aspects of 3D engine design such as quality and optimization as well as high-level architecture. GPU Pro 360 Guide to 3D Engine Design is comprised of ready-to-use ideas and efficient procedures that can help solve many computer graphics programming challenges that may arise.

Key Features:











Presents tips & tricks on real-time rendering of special effects and visualization data on common consumer software platforms such as PCs, video consoles, mobile devices





Covers specific challenges involved in creating games on various platforms





Explores the latest developments in rapidly evolving field of real-time rendering





Takes practical approach that helps graphics programmers solve their daily challenges
Introduction xiii
Web Materials xvii
1 Multi-Fragment Effects on the GPU Using Bucket Sort
1(14)
Meng-Cheng Huang
Fang Liu
Xue-Hui Liu
En-Hua Wu
1.1 Introduction
1(1)
1.2 Design of Bucket Array
2(1)
1.3 The Algorithm
3(1)
1.4 Multi-Pass Approach
4(1)
1.5 The Adaptive Scheme
4(5)
1.6 Applications
9(4)
1.7 Conclusions
13(1)
Bibliography
13(2)
2 Parallelized Light Pre-Pass Rendering with the Cell Broadband Engine
Steven Tovey
Stephen McAuley
2.1 Introduction
15(1)
2.2 Light Pre-Pass Rendering
16(2)
2.3 The PLAYSTATION3 and the CBE
18(1)
2.4 GPU/SPE Synchronization
19(2)
2.5 The Pre-Pass
21(1)
2.6 The Lighting SPE Program
22(7)
2.7 The Main Pass
29(1)
2.8 Conclusion
30(1)
2.9 Further Work
30(2)
2.10 Acknowledgments
32(1)
Bibliography
32(3)
3 Practical, Dynamic Visibility for Games
35(20)
Stephen Hill
Daniel Collin
3.1 Introduction
35(1)
3.2 Surveying the Field
35(1)
3.3 Query Quandaries
36(3)
3.4 Wish List
39(1)
3.5 Conviction Solution
39(7)
3.6 Battlefield Solution
46(2)
3.7 Future Development
48(3)
3.8 Conclusion
51(1)
3.9 Acknowledgments
52(1)
Bibliography
52(3)
4 Shader Amortization Using Pixel Quad Message Passing
55(20)
Eric Penner
4.1 Introduction
55(1)
4.2 Background and Related Work
55(1)
4.3 Pixel Derivatives and Pixel Quads
56(2)
4.4 Pixel Quad Message Passing
58(1)
4.5 PQA Initialization
59(1)
4.6 Limitations of PQA
60(2)
4.7 Cross Bilateral Sampling
62(1)
4.8 Convolution and Blurring
63(2)
4.9 Percentage Closer Filtering
65(6)
4.10 Discussion
71(1)
4.11 Appendix A: Hardware Support
72(1)
Bibliography
72(3)
5 A Rendering Pipeline for Real-Time Crowds
75(16)
Benjamin Hernandez
Isaac Rudomin
5.1 System Overview
75(2)
5.2 Populating the Virtual Environment and Behavior
77(1)
5.3 View-Frustum Culling
77(6)
5.4 Level of Detail Sorting
83(2)
5.5 Animation and Draw Instanced
85(1)
5.6 Results
85(3)
5.7 Conclusions and Future Work
88(1)
5.8 Acknowledgments
89(1)
Bibliography
89(2)
6 Z3 Culling
91(14)
Pascal Gautron
Jean-Eudes Marvie
Gael Sourimant
6.1 Introduction
91(2)
6.2 Principle
93(1)
6.3 Algorithm
93(1)
6.4 Implementation
94(7)
6.5 Performance Analysis
101(2)
6.6 Conclusion
103(1)
Bibliography
103(2)
7 A Quaternion-Based Rendering Pipeline
105(10)
Dzmitry Malyshau
7.1 Introduction
105(1)
7.2 Spatial Data
105(1)
7.3 Handedness Bit
106(1)
7.4 Facts about Quaternions
107(1)
7.5 Tangent Space
108(2)
7.6 Interpolation Problem with Quaternions
110(2)
7.7 KRI Engine: An Example Application Ill
7.8 Conclusion
112(1)
Bibliography
113(2)
8 Implementing a Directionally Adaptive Edge AA Filter Using DirectX 11
115(16)
Matthew Johnson
8.1 Introduction
115(10)
8.2 Implementation
125(3)
8.3 Conclusion
128(1)
8.4 Appendix
129(1)
Bibliography
130(1)
9 Designing a Data-Driven Renderer
131(30)
Donald Revie
9.1 Introduction
131(1)
9.2 Problem Analysis
132(12)
9.3 Solution Development
144(3)
9.4 Representational Objects
147(3)
9.5 Pipeline Objects
150(3)
9.6 Frame Graph
153(1)
9.7 Case Study: Praetorian Tech
154(3)
9.8 Further Work and Considerations
157(1)
9.9 Conclusion
158(1)
9.10 Acknowledgments
158(1)
Bibliography
158(3)
10 An Aspect-Based Engine Architecture
161(18)
Donald Revie
10.1 Introduction
161(1)
10.2 Rationale
161(1)
10.3 Engine Core
162(4)
10.4 Aspects
166(3)
10.5 Common Aspects
169(2)
10.6 Implementation
171(1)
10.7 Aspect Interactions
172(3)
10.8 Praetorian: The Brief History of Aspects
175(1)
10.9 Analysis
176(1)
10.10 Conclusion
177(1)
10.11 Acknowledgments
177(1)
Bibliography
178(1)
11 Kinect Programming with Direct3D 11
179(32)
Jason Zink
11.1 Introduction
179(1)
11.2 Meet the Kinect
179(4)
11.3 Mathematics of the Kinect
183(3)
11.4 Programming with the Kinect SDK
186(8)
11.5 Applications of the Kinect
194(2)
11.6 Conclusion
196(1)
Bibliography
196(1)
12 A Pipeline for Authored Structural Damage
197(1)
Homam Bahnassi
Wessam Bahnassi
12.1 Introduction
197(1)
12.2 The Addressed Problem
197(1)
12.3 Challenges and Previous Work
198(1)
12.4 Implementation Description and Details
199(8)
12.5 Level of Detail
207(1)
12.6 Discussion
208(1)
12.7 Conclusion
208(1)
12.8 Acknowledgments
208(1)
Bibliography
209(2)
13 Quaternions Revisited
211(14)
Peter Sikachev
Vladimir Egorov
Sergey Makeev
13.1 Introduction
211(1)
13.2 Quaternion Properties Overview
211(1)
13.3 Quaternion Use Cases
212(1)
13.4 Normal Mapping
212(4)
13.5 Generic Transforms and Instancing
216(2)
13.6 Skinning
218(3)
13.7 Morph Targets
221(1)
13.8 Quaternion Format
221(2)
13.9 Comparison
223(1)
13.10 Conclusion
224(1)
13.11 Acknowledgments
224(1)
Bibliography
224(1)
14 gITF: Designing an Open-Standard Runtime Asset Format
225(18)
Fabrice Robinet
Remi Arnaud
Tony Parisi
Patrick Cozzi
14.1 Introduction
225(1)
14.2 Motivation
225(1)
14.3 Goals
226(3)
14.4 Birds-Eye View
229(1)
14.5 Integration of Buffer and Buffer View
230(2)
14.6 Code Flow for Rendering Meshes
232(1)
14.7 From Materials to Shaders
232(2)
14.8 Animation
234(1)
14.9 Content Pipeline
235(5)
14.10 Future Work
240(1)
14.11 Acknowledgments
241(1)
Bibliography
241(2)
15 Managing Transformations in Hierarchy
243(12)
Bartosz Chodorowski
Wojciech Sterna
15.1 Introduction
243(1)
15.2 Theory
244(5)
15.3 Implementation
249(3)
15.4 Conclusions
252(1)
Bibliography
253(2)
16 Block-Wise Linear Binary Grids for Fast Ray-Casting Operations
255(16)
Holger Gruen
16.1 Introduction
255(1)
16.2 Overview
255(1)
16.3 Block-Wise Linear Memory Layout
256(1)
16.4 Rendering Block-Wise Linear Binary Voxel Grids
257(4)
16.5 Casting Rays through a Block-Wise Linear Grid
261(1)
16.6 Detecting Occlusions during Indirect Light Gathering
261(5)
16.7 Results
266(1)
16.8 Future Work
266(3)
16.9 External References
269(1)
Bibliography
269(2)
17 Semantic-Based Shader Generation Using Shader Shaker
271(16)
Michael Delva
Julien Hamaide
Ramses Ladlani
17.1 Introduction
271(1)
17.2 Previous Work
272(2)
17.3 Definitions
274(1)
17.4 Overview
274(2)
17.5 Algorithm Explanation
276(4)
17.6 Error Reporting
280(1)
17.7 Usage Discussions
281(1)
17.8 What's Next
282(1)
17.9 Conclusion
283(1)
Bibliography
283(4)
18 ANGLE: Bringing OpenGL ES to the Desktop
287(22)
Shannon Woods
Nicolas Capens
Jamie Madill
Geoff Lang
18.1 Introduction
287(1)
18.2 Direct3D 11
288(3)
18.3 Shader Translation
291(7)
18.4 Implementing ES3 on Feature Level 10
298(4)
18.5 Future Directions: Moving to New Platforms
302(4)
18.6 Recommended Practices
306(1)
Bibliography
307(2)
19 Interactive Cinematic Particles
309(18)
Homam Bahnassi
Wessam Bahnassi
19.1 Introduction
309(1)
19.2 Background
309(1)
19.3 Challenges and Previous Work
310(2)
19.4 Interactive Cinematic Particles (ICP) System Outline
312(1)
19.5 Data Authoring Workflow
312(5)
19.6 Offline Build Process
317(3)
19.7 Runtime Execution
320(5)
19.8 Additional Notes
325(1)
19.9 Conclusion
325(1)
19.10 Acknowledgment
326(1)
Bibliography
326(1)
20 Real-Time BC6H Compression on GPU
327(12)
Krzysztof Narkowicz
20.1 Introduction
327(1)
20.2 BC6H Details
328(2)
20.3 Compression Algorithm
330(3)
20.4 Results
333(2)
20.5 Possible Extensions
335(1)
20.6 Conclusion
336(1)
20.7 Acknowledgments
336(1)
Bibliography
336(3)
21 A 3D Visualization Tool Used for Test Automation in the Forza Series
339(14)
Gustavo Bastos Nunes
21.1 Introduction
339(1)
21.2 Collision Mesh Issues
340(2)
21.3 Detecting the Issues
342(8)
21.4 Visualization
350(1)
21.5 Navigation
350(1)
21.6 Workflow
351(1)
21.7 Conclusion
352(1)
21.8 Acknowledgments
352(1)
Bibliography
352(1)
22 Semi-Static Load Balancing for Low-Latency Ray Tracing on Heterogeneous Multiple GPUs
353(10)
Takahiro Harada
22.1 Introduction
353(1)
22.2 Load Balancing Methods
354(2)
22.3 Semi-Static Load Balancing
356(2)
22.4 Results and Discussion
358(3)
22.5 Acknowledgments
361(1)
Bibliography
361(2)
About the Contributors 363
Wolfgang Engel is the CEO of Confetti, a think tank for advanced real-time graphics for the games and movie industries.  Previously he worked in Rockstar's core technology group as the lead graphics programmer.