Seminar II: Rendering Architectures Yan Cui Love Joy Mendoza Oscar Kozlowski John Tang.

Slides:



Advertisements
Similar presentations
Real-Time Rendering 靜宜大學資工研究所 蔡奇偉副教授 2010©.
Advertisements

COMPUTER GRAPHICS SOFTWARE.
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Graphics Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
Graphics Hardware and Software Architectures
HCI 530 : Seminar (HCI) Damian Schofield.
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU.
Introduction to Parallel Rendering: Sorting, Chromium, and MPI Mengxia Zhu Spring 2006.
Parallel Rendering Ed Angel
Status – Week 283 Victor Moya. 3D Graphics Pipeline Akeley & Hanrahan course. Akeley & Hanrahan course. Fixed vs Programmable. Fixed vs Programmable.
The Graphics Pipeline CS2150 Anthony Jones. Introduction What is this lecture about? – The graphics pipeline as a whole – With examples from the video.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Parallel Graphics Rendering Matthew Campbell Senior, Computer Science
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays Paper by Kenneth Moreland, Brian Wylie, and Constantine Pavlakos Presented.
Programmable Pipelines. Objectives Introduce programmable pipelines ­Vertex shaders ­Fragment shaders Introduce shading languages ­Needed to describe.
1 Computer Graphics Week3 –Graphics & Image Processing.
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.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Matrices from HELL Paul Taylor Basic Required Matrices PROJECTION WORLD VIEW.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
OpenGL Conclusions OpenGL Programming and Reference Guides, other sources CSCI 6360/4360.
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.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Parallel Rendering. 2 Introduction In many situations, a standard rendering pipeline might not be sufficient ­Need higher resolution display ­More primitives.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
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.
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
Programmable Pipelines Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Accelerated Stereoscopic Rendering using GPU François de Sorbier - Université Paris-Est France February 2008 WSCG'2008.
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 Angel: Interactive Computer Graphics5E © Addison- Wesley 2009 Image Formation Fundamental imaging notions Fundamental imaging notions Physical basis.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke.
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.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
- Introduction - Graphics Pipeline
Programmable Pipelines
Graphics Processing Unit
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Real-time Computer Graphics Overview
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Graphics Processing Unit
Models and Architectures
Models and Architectures
Presentation transcript:

Seminar II: Rendering Architectures Yan Cui Love Joy Mendoza Oscar Kozlowski John Tang

Contents Graphics Pipeline Current Consumer Renderer Architectures Parallelisation of Rendering Pipeline Synchronisation issues in parallelisation Parallel and Cluster Architectures examples

Graphics Pipeline Geometric Transformation Mapping of triangles from a 3D coordinate system (object space) to a 2D coordinate system (image space). Rasterisation Converts transformed triangles into pixel values to be shown on the computer screen.

Graphics Pipeline Model and Viewing Transform Lighting Projection Transform Clipping Perspective Division Viewport Mapping Modelling transformation positions primitives with respect to each other. Viewing transformation orients the resulting primitives to the user viewpoint. Evaluates the colour of the vertices. Projects objects onto the screen Hides primitives not included in the viewing frustrum. Converts the vertex to Cartesian coordinates.Performs final scaling and translation. Geometric transformation

Graphics Pipeline Alpha Blending Rasterisation Texture Mapping Depth Test Scan Conversion Decomposes triangle into a set of pixels & calculates the attributes of each pixel. Wraps a 2D texture image on the surface of a 3D object. Compares the value of the current pixel against the depth value of the pixel at the corresponding XY coordinate of the frame buffer. Colour of old & new pixels is composited according to their alpha value.

Consumer PC Architecture GeForce 7800 GTX Clock Freq. 430Mhz 256Mb DDR3 VRAM 24 Pixel Shaders 8 Vertex Shaders Over 300 billion floating point operations per sec Gb/s Texture bandwidth

Parallelisation Parallel architectures –Multiple processors/renderers on a close-proximity, low-latency bus –Becoming common in consumer market currently: HyperThreading SLI Cluster Architecture –Multiple computers networked –Use of low cost, consumer PC’s “SGI Graphics Cluster™: The Cluster Architecture Challenges, the SGITM Solution”, SGI, 2001

Parallelisation Strategies - Sort middle Natural way to parallelise No overhead on geometry computation Access to renderer memory required –Specialised renderers required Network requirements depend on: –Number of primitives –Amount of overlap between tiles

Parallelisation Strategies - Sort first Extra bounding box calculation Overhead on geometry computation and rasterisation due to primitives overlapping multiple screen tiles –However, temporal coherence Consumer renderers useable Lower network usage Load balancing difficult

Parallelisation Strategies - Sort last No overhead in geometry and rasterisation Load balancing easily possible High-bandwidth network required –Sparse: send only rendered pixels –Full: send full image Compositor design is difficult Transparency is almost impossible Anti-aliasing is very expensive

Synchronisation issues All rendering pipelines must have synchronised input data –Implied for shared memory parallel system –Cluster architectures require same solution as distributed databases All rendering pipelines must synchronise render output depending on display type –Not needed for polarised display Failure to synchronise results in incorrect rendered image SWAPBUFFERS

Dynamic data synchronization Two types of dynamic data: –control information, –changing/dynamic data set information Dynamic Data generated from raw real time Stimulus Data i.e. input devices SYNC: Ensure images on each node are computed on coherent data sets. Block until everyone accepts stimulus data

Video Synchronisation Output to a Display driven by Signal from each graphics card Signal provides: –Display Image –Synchronisation SYNC: Ensure video signals are synchronised Signal and it’s synchronisation are not something that can be controlled via software on commodity graphics cards

Video Synchronisation Genlock (high-end apps) –Most precise way of ensuring synchronisation –Here the graphics system ensures pixel-level synchronisation by using a PLL to lock onto the line rate to derive the pixel rate (or pixel clock) –Lock is fine enough to allow phase adjustments for each pixel Frame Lock (low-end apps) –Less-precise method –Synchronises once per frame at the end of the blanking period

Cluster Architecture Pixel Planes –Heterogeneous multi-computer system –Parallel processors

Cluster Architecture Each PixelPlanes renderer unit consists of

PixelPlanes Render Rendered in 1 second

Parallel Architecture Silicon Graphics InfiniteReality architecture –third-generation graphics system –designed to deliver 60Hz steady frame rate high- quality rendering of complex scenes –support for OpenGL –boardset consists of 3 distinct board types: Geometry Raster memory Display generator

InfiniteReality Architecture Geometry pipeline Geometry distributor (sort-middle) Rasteriser

InfiniteReality Render

Clustering System Examples Stanford's Chromium Toolkit Fraunhofer Institute for Industrial Engineering IAO's HiPI-6 (mature installation) ARS Electronica ARSBox (commercial) Solutions based on VRJuggler (opensource) –ClusterJuggler –NetJuggler Unreal Tournament CAVE

Summary Graphics Pipeline PC, Parallel and Cluster architectures Clusters of consumer Graphics cards starting to replace specialised parallel architectures due to cost and availability Parallelisation strategies –Sort-middle –Sort-first –Sort-last Issues of synchronisation and how to resolve –Input data synchronisation –Output render synchronisation

Further Reading “Three-dimensional computer graphics Architecture”, Mitra et Al., 2000 “An Overview of Cluster Solutions for Immersive Displays”, Steed et. al, ( solutions-with-figures.htm) solutions-with-figures.htm SGI Graphics Cluster™: The Cluster Architecture Challenges, the SGI™ Solution (