Parallel Rendering Ed Angel

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Advertisements

CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Creating Seamless Display Walls with a Single PC Grant Wallace and Han Chen.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Real-Time Geometric and Color Calibration for Multi-Projector Displays Christopher Larson, Aditi Majumder Large-Area High Resolution Displays Motivation.
DDDDRRaw: A Prototype Toolkit for Distributed Real-Time Rendering on Commodity Clusters Thu D. Nguyen and Christopher Peery Department of Computer Science.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Introduction to Parallel Rendering: Sorting, Chromium, and MPI Mengxia Zhu Spring 2006.
Graphics Systems I-Chen Lin’s CG slides, Doug James’s CG slides Angel, Interactive Computer Graphics, Chap 1 Introduction to Graphics Pipeline.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics? Ed Angel Professor of Computer Science, Electrical and Computer.
Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Sampling and Aliasing Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
Parallel Graphics Rendering Matthew Campbell Senior, Computer Science
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays Paper by Kenneth Moreland, Brian Wylie, and Constantine Pavlakos Presented.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Electronic Visualization Laboratory University of Illinois at Chicago “Sort-First, Distributed Memory Parallel Visualization and Rendering” by E. Wes Bethel,
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Computer Graphics Computer Graphics is everywhere: Visual system is most important sense: High bandwidth Natural communication Fast developments in Hardware.
Chep06 1 High End Visualization with Scalable Display System By Dinesh M. Sarode, S.K.Bose, P.S.Dhekne, Venkata P.P.K Computer Division, BARC, Mumbai.
Parallel Rendering 1. 2 Introduction In many situations, standard rendering pipeline not sufficient ­Need higher resolution display ­More primitives than.
Programmable Pipelines. 2 Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
Large-Scale Polygon Rendering. Solutions Decimation Visibility Culling Parallel Rendering Others.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
Matrices from HELL Paul Taylor Basic Required Matrices PROJECTION WORLD VIEW.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Seminar II: Rendering Architectures Yan Cui Love Joy Mendoza Oscar Kozlowski John Tang.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Angel and Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Introduction to Computer Graphics Ed Angel Professor Emeritus of Computer.
Introduction to Parallel Rendering Jian Huang, CS 594, Spring 2002.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Parallel Rendering. 2 Introduction In many situations, a standard rendering pipeline might not be sufficient ­Need higher resolution display ­More primitives.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
1 The Rendering Pipeline. CS788 Topic of HCI 2 Outline  Introduction  The Graphics Rendering Pipeline  Three functional stages  Example  Bottleneck.
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Parallel Rendering Ed Angel Professor Emeritus of Computer Science University of New Mexico 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
- Introduction - Graphics Pipeline
Week 2 - Friday CS361.
Programmable Pipelines
What is Computer Graphics?
The Graphics Rendering Pipeline
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Implementation II Ed Angel Professor Emeritus of Computer Science
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics
Models and Architectures
What is Computer Graphics?
Models and Architectures
Introduction to Computer Graphics with WebGL
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

Parallel Rendering Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University of New Mexico

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction In many situations, a standard rendering pipeline might not be sufficient Need higher resolution display More primitives than one pipeline can handle Want to use commodity components to build a system that can render in parallel Use standard network to connect Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Power Walls Where do we display large data sets? CRTs have low resolution (1 Mpixel) LCD panels improving but still expensive Need resolution comparable to data set to see detail CT/MRI/MEG Ocean data Solution? Multiple projectors Commodity High-end See IEECE CG & A (July) Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Tiled Display Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 CS Power Wall 6 dual processor Intellestations G Force 3 Graphics cards 6 commodity projectors (1024 x 768) Gigabit ethernet Back projected screen Shared facility with scalable system group Investigate OS and network issues Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 CS Power Wall Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 CS Power Wall Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Power Wall Inexpensive solution but there are some problems Color matching Vignetting Alignment Overlap areas Synching Dark field Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Graphics Architectures Pipeline Architecture SGI Geometry Engine Geometry passes through pipeline Hardware for clipping transformations texture mapping Transform Clip Rasterize Screen Project/Sort Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Building Blocks Graphics processors consist of geometric blocks and rasterizers Geometric units: transformations, clipping, lighting Rasterization: scan conversion, shading Parallelize by using mutiple blocks Where to do depth check? R G Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Sorting Paradigm We can categorize different ways of interconnecting blocks using a sorting paradigm: each projector is responsible for one area of the screen. Hence, we must sort the primitives and assign them to the proper projector Algorithms can be categorized by where this sorting occurs Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Three Rendering Methods Sort G R G R G Sort R Composite Sort-First Rendering Sort-Middle Rendering Sort-Last Rendering Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Sort First Each rasterization unit assigned to an area of the screen Each geometric unit coupled to its own rasterizer Must sort primitives first Can use commodity cards Sort R G Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Sort-First Rendering for a Random Triangles Application Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Sort Middle Geometric units and rasterization units decoupled Each geometric unit can be assigned any group of objects Each rasterizer is assigned to an area of the screen Must sort between stages G Sort R Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Sort Last Couple rasterizers and geometric units Assign objects to geometric units to load balance or via application Composite results at end R G Composite Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Tree Compositing Composite in pairs Send color and depth buffers Each time half processors become idle Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Binary Swap Compositing Each processor responsible for one part of display Pass data to right n times Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Sort-Last Rendering for a Random Triangles Application Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Comparison Sort first Appealing but hard to implement Sort middle Used in hardware pipelines More difficult to implement with add-on commodity cards Sort last Easy to implement with a compositing stage High network traffic Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Mapping to Clusters Different architectures Shared vs distributed memory Communication overhead Parallel vs distributed algorithms Easy to do sort last Must evaluate communication cost Standard visualization strategies are incorrect if transparency used Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Vista Azul Experimental architecture from IBM donated to AHPCC Half Intel nodes, half AIX nodes Only one (PCI) graphics card per four processors Contained a Scalable Graphics Engine (SGE): high speed-high resolution color buffer that is accessible by all processors Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Vista Azul Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Comparison Between Sort-First and Sort-Last Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Performance on a PC Cluster Following experiments were done by Ye Cong on the CS cluster 6 Intellestations Gigabit Ethernet GForce 3 graphics Show the effect of network Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Sort-First vs Sort Last Random Triangles Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Sort First vs Sort Last Teapot Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Azul vs Intellistations Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Software for Parallel Rendering Write your own sort-first sort-last WireGL/Chromium (Stanford) Embed inside package (VTK) Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

WireGL: A Distributed Graphics System A software-based parallel rendering system that unifies the rendering power of a collection of cluster nodes Scalability is achieved by integrating parallel applications into its sort-first parallel renders Each node in the cluster can be either a rendering client or a rendering server Clients submit OpenGL commands concurrently to servers, which render the final physical image Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Chromium Successor toWireGL Allows both sort first and sort last rendering Implemented on CS cluster Most of gain in performance is bacause Chromium and WireGL can group state-changing commands separately from rendering commands Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005

Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Chromium vs Sort First MRI rotation Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005