The Graphics Pipeline
|
|
- Tamsyn Russell
- 7 years ago
- Views:
Transcription
1 Announcements The Graphics Pipeline Homework 3 due 02/27 Project kickoff 02/27 Patrick Cozzi University of Pennsylvania CIS Spring 2012 Course Contents Agenda Mobile Brief Graphics Review Graphics Pipeline Mapping the Graphics Pipeline to Hardware Parallel Algorithms CUDA Real-Time Rendering OpenGL / WebGL Graphics Pipeline GPU Architecture 1
2 Graphics Review Graphics Review: Modeling Graphics Modeling Polygons vs. triangles How do we store a triangle mesh? Modeling Rendering Animation Implicit Surfaces Real-Time Rendering Triangles Triangles 2
3 Implicit Surfaces Graphics Review: Rendering Images from Image from Graphics Review: Rendering Rendering Goal: Assign color to pixels Two Parts Visible surfaces What is in front of what for a given view Shading Simulate the interaction of material and light to produce a pixel color Graphics Review: Animation Move the camera and/or agents, and rerender the scene In less than 16.6 ms (60 fps) 3
4 Graphics Pipeline Walkthrough Images from Pull together a vertex from one or more buffers Also called primitive processing (GL ES) or input assembler (D3D) Image from OpenGL provides lots of flexibility for pulling vertex attributes from different buffers For example (no indices): OpenGL provides lots of flexibility for pulling vertex attributes from different buffers For example (no indices): positions texture coordinates positions texture coordinates normal, binormal, bitagent... normal, binormal, bitagent... Vertex 0 Vertex 0 4
5 OpenGL provides lots of flexibility for pulling vertex attributes from different buffers For example (no indices): positions texture coordinates Transform incoming vertex position from model to clip coordinates Perform additional per-vertex computations; modify, add, or remove attributes passed down the pipeline Formerly called the Transform and Lighting (T&L) stage. Why? vertex P model normal, binormal, bitagent... Vertex 1 modified vertex P clip P clip = (M model-view-projection )(P model ) Model to clip coordinates requires three transforms: model to world world to eye eye to clip Use 4x4 matrices passed to the vertex shader as uniforms Model to world: P world = (M model )(P model ) P world = (M model )(P model ) P eye = (M view ) (P world ) P clip = (M projection ) (P eye ) vertex modified vertex uniforms, e.g., matrices, etc. Image from 5
6 World to eye: Eye to clip coordinates: P eye = (M view ) (P world ) P clip = (M projection ) (P eye ) Image from Image from In practice, the model, view, and projection matrices are commonly burnt into one matrix? Why? Model to clip coordinate transformation is just one use for the vertex shader. Another use: animation. P clip = (M projection )(M view )(M model )(P model ) P clip = (M model-view-projection )(P model ) How would you implement pulsing? Image from 6
7 How would you implement pulsing? How do we compute the displacement? Displace position along surface normal over time Consider: float displacement = 0.5 * (sin(u_time) + 1.0); What are the shortcomings? How do we compute the displacement? Image from Image from How do we compute the displacement? How do we get the varying bulge? Consider: float displacement = u_scalefactor * 0.5 * (sin(u_frequency * u_time) + 1.0); What are the other shortcomings? Image from Image from 7
8 How do we get the varying bulge? What varies per-vertex and what does not? Consider float displacement = u_scalefactor * 0.5 * (sin(position.y * u_frequency * u_time) + 1.0); float displacement = u_scalefactor * 0.5 * (sin(position.y * u_frequency * u_time) + 1.0); Image from On all modern GPUs, vertex shaders can read from textures as well as uniform variables. Example: Textures can provide height maps for displacement mapping What is this useful for? vertex uniforms textures modified vertex Images from 8
9 Technology preview: vertex shaders are becoming available to CSS on the web as CSS shaders RenderMonkey Demos Bounce Demo Morph Particle System More info on CSS shaders: RenderMonkey: A vertex shader processes one vertex. Primitive assembly groups vertices forming one primitive, e.g., a triangle, line, etc. A vertex shader processes one vertex. Primitive assembly groups vertices forming one primitive, e.g., a triangle, line, etc. VS VS 9
10 A vertex shader processes one vertex. Primitive assembly groups vertices forming one primitive, e.g., a triangle, line, etc. A vertex shader processes one vertex. Primitive assembly groups vertices forming one primitive, e.g., a triangle, line, etc. VS VS A vertex shader processes one vertex. Primitive assembly groups vertices forming one primitive, e.g., a triangle, line, etc. A vertex shader processes one vertex. Primitive assembly groups vertices forming one primitive, e.g., a triangle, line, etc. VS VS 10
11 A vertex shader processes one vertex. Primitive assembly groups vertices forming one primitive, e.g., a triangle, line, etc. A vertex shader processes one vertex. Primitive assembly groups vertices forming one primitive, e.g., a triangle, line, etc. VS VS Perspective Division and Viewport Transform Clipping There are a series of stages between primitive assembly and rasterization. Perspective division P ndc = (P clip ).xyz / (P clip ).w There are a series of stages between primitive assembly and rasterization. Clipping Viewport transform P window = (M viewport-transform )(P ndc ) Image from Image from 11
12 Rasterization Determine what pixels a primitive overlaps Shades the fragment by simulating the interaction of light and material Loosely, the combination of a fragment shader and its uniform inputs is a material Also called a Pixel Shader (D3D) How would you implement this? What about aliasing? fragment fragment s color uniforms textures What happens to non-position vertex attributes during rasterization? What is the triangle-to-fragment ratio? What exactly is the fragment input? What are examples of useful uniforms? Useful textures? Example: Blinn-Phong Lighting Example: Blinn-Phong Lighting float diffuse = max(dot(n, L), 0.0); float specular = max(pow(dot(h, N), u_shininess), 0.0); Why not evaluate per-vertex and interpolate during rasterization? Image from Image from 12
13 Per-fragment vs. per-vertex lighting Effects of tessellation on per-vertex lighting Which is which? Image from Image from Another example: Texture Mapping Lighting and texture mapping Image from Image from 13
14 Another example: Bump mapping Another example: Bump mapping Fragment shaders can be computationally intense A fragment shader can output color, but what else would be useful? Image from 14
15 A fragment shader can output color, but what else would be useful? Discard the fragment. Why? Depth. Why? Multiple colors. Why? RenderMonkey Demos NPR Glass RenderMonkey: Scissor Test A fragment must go through a series of tests to make to the framebuffer What tests are useful? Discard a fragment if it is within a rectangle defined in window coordinates Why is this useful? Does this need to happen after fragment shading? Scissor Test Stencil Test Depth Test 15
16 Scissor Test Stencil Test The scissor test is useful for scissoring out parts of the window that do not need to be shaded For performance. Why? Post-processing effects Multipass rendering The stencil test can discard arbitrary areas of the window, and count per-fragment A stencil is written to the stencil buffer, and later fragments can be tested against this buffer What is this useful for? Scissor Test Scissor Test Stencil Test Stencil Test Depth Test Depth Test Stencil Test Stencil Test Example: Stencil shadow volumes Example: Stencil shadow volumes Scissor Test Scissor Test Stencil Test Stencil Test Depth Test Depth Test Image from Image from 16
17 Depth Test Depth Test Finds visible surfaces Once called ridiculously expensive Also called the z-test Does it need to be after fragment shading? Scissor Test Stencil Test Depth Test Image from Depth Test ing Combine fragment color with framebuffer color Can weight each color Can use different operations: +, -, etc. Why is this useful? Image from 17
18 ing Graphics Pipeline Walkthrough Example: Translucency After all that, write to the framebuffer! Additive ing C dest = (C source.rgb)(c source.a) + (C dest.rgb); Alpha ing C dest = (C source.rgb)(c source.a) + (C dest.rgb) (1 - C source.a); Image from Images from Evolution of the Programmable Graphics Pipeline Early 90s Pre GPU Pre GPU Fixed function GPU Programmable GPU Unified Shader Processors Slide from 18
19 Why GPUs? 3dfx Voodoo (1996) Exploit Parallelism Pipeline parallel Data-parallel CPU and GPU executing in parallel Still Software In hardware: Fixed-function rasterization, texture mapping, depth testing, etc. 4-6 MB memory PCI bus $299 Hardware: texture filtering, rasterization, MAD, sqrt, etc. Hardware Image from Aside: Mario Kart 64 High fragment load / low vertex load Aside: Mario Kart Wii High fragment load / low vertex load? Image from Image from 19
20 NVIDIA GeForce 256 (1999) NVIDIA GeForce 3 (2001) Hardware In hardware: Fixed-function vertex shading (T&L) Multi-texturing: bump maps, light maps, etc. 10 million polygons per second Direct3D 7 AGP bus Hardware Optionally bypass fixed-function T&L with a programmable vertex shader Optionally bypass fixed-function fragment shading with a programmable fragment shader Many programming limits Direct3D 8 Pentium IV 20 stages GeForce stages Fixed-function stage Programmable stage Image from NVIDIA GeForce 6 (2004) NVIDIA GeForce 6 (2004) textures Hardware Much better programmable fragment shaders Vertex shader can read textures Dynamic branches Multiple render targets PCIe bus OpenGL 2 / Direct3D 9 Vertex shader can read textures Dynamic branches Multiple render targets PCIe bus OpenGL 2 / Direct3D 9 Image from ftp://download.nvidia.com/developer/presentations/2004/gpu_jackpot/shader_model_3.pdf 20
21 NVIDIA GeForce 6 (2004) Dynamic Branches Vertex shader can read textures Dynamic branches Multiple render targets PCIe bus OpenGL 2 / Direct3D 9 Image from ftp://download.nvidia.com/developer/presentations/2004/gpu_jackpot/shader_model_3.pdf Image from Dynamic Branches For best performance, fragment shader dynamic branches should be coherent in screen-space How does this relate to warp partitioning in CUDA? NVIDIA GeForce 6 (2004) 6 vertex shader processors 16 fragment shader processors Image from 21
22 NVIDIA GeForce 8 (2006) Geometry Shader Ground-up GPU redesign Geometry Shaders Transform-feedback OpenGL 3 / Direct3D 10 Unified shader processors Support for GPU Compute Geometry Shaders Image from David Blythe : NVIDIA G80 Architecture Why Unify Shader Processors? Slide from Slide from 22
23 Why Unify Shader Processors? Terminology Shader Model Direct3D OpenGL Video card x Example NVIDIA GeForce 6800 ATI Radeon X x 3.x NVIDIA GeForce 8800 ATI Radeon HD x 4.x NVIDIA GeForce GTX 480 ATI Radeon HD 5870 Slide from Shader Capabilities Shader Capabilities Table courtesy of A K Peters, Ltd. Table courtesy of A K Peters, Ltd. 23
24 Evolution of the Programmable Graphics Pipeline Evolution of the Programmable Graphics Pipeline Slide from Mike Houston: Slide from Mike Houston: 24
Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg
Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing
More informationComputer Graphics Hardware An Overview
Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and
More informationShader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group
Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control
More informationReal-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university
Real-Time Realistic Rendering Michael Doggett Docent Department of Computer Science Lund university 30-5-2011 Visually realistic goal force[d] us to completely rethink the entire rendering process. Cook
More informationRecent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005
Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex
More informationGPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith
GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex
More informationGPGPU Computing. Yong Cao
GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power
More informationThe Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA
The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques
More informationRadeon HD 2900 and Geometry Generation. Michael Doggett
Radeon HD 2900 and Geometry Generation Michael Doggett September 11, 2007 Overview Introduction to 3D Graphics Radeon 2900 Starting Point Requirements Top level Pipeline Blocks from top to bottom Command
More informationIntroduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it
t.diamanti@cineca.it Agenda From GPUs to GPGPUs GPGPU architecture CUDA programming model Perspective projection Vectors that connect the vanishing point to every point of the 3D model will intersecate
More informationGraphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011
Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis
More informationGPU Architecture. Michael Doggett ATI
GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super
More informationGPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology
GPUs Under the Hood Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology Bandwidth Gravity of modern computer systems The bandwidth between key components
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
More informationOpenGL Performance Tuning
OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer
More informationCSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University
GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline
More information1. INTRODUCTION Graphics 2
1. INTRODUCTION Graphics 2 06-02408 Level 3 10 credits in Semester 2 Professor Aleš Leonardis Slides by Professor Ela Claridge What is computer graphics? The art of 3D graphics is the art of fooling the
More informationLecture Notes, CEng 477
Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make
More informationIntroduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software
GPU Computing Numerical Simulation - from Models to Software Andreas Barthels JASS 2009, Course 2, St. Petersburg, Russia Prof. Dr. Sergey Y. Slavyanov St. Petersburg State University Prof. Dr. Thomas
More informationMonash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total
More informationOptimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify
More informationGUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1
Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website
More informationA Crash Course on Programmable Graphics Hardware
A Crash Course on Programmable Graphics Hardware Li-Yi Wei Abstract Recent years have witnessed tremendous growth for programmable graphics hardware (GPU), both in terms of performance and functionality.
More informationIntroduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,
More information3D Computer Games History and Technology
3D Computer Games History and Technology VRVis Research Center http://www.vrvis.at Lecture Outline Overview of the last 10-15 15 years A look at seminal 3D computer games Most important techniques employed
More information2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT
COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system
More informationL20: GPU Architecture and Models
L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.
More informationHow To Teach Computer Graphics
Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/
More informationCUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS
ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut
More informationGRAPHICS CARDS IN RADIO RECONNAISSANCE: THE GPGPU TECHNOLOGY
IV. Évfolyam 4. szám - 2009. december Fürjes János furjes.janos@chello.hu GRAPHICS CARDS IN RADIO RECONNAISSANCE: THE GPGPU TECHNOLOGY Absztrakt/Abstract Jelen írás egy modern technológiát elemez, amely
More informationOverview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions
Module 4: Beyond Static Scalar Fields Dynamic Volume Computation and Visualization on the GPU Visualization and Computer Graphics Group University of California, Davis Overview Motivation and applications
More informationDeveloper Tools. Tim Purcell NVIDIA
Developer Tools Tim Purcell NVIDIA Programming Soap Box Successful programming systems require at least three tools High level language compiler Cg, HLSL, GLSL, RTSL, Brook Debugger Profiler Debugging
More informationWriting Applications for the GPU Using the RapidMind Development Platform
Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...
More informationRadeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008
Radeon GPU Architecture and the series Michael Doggett Graphics Architecture Group June 27, 2008 Graphics Processing Units Introduction GPU research 2 GPU Evolution GPU started as a triangle rasterizer
More informationLecture 15: Hardware Rendering
Lecture 15: Hardware Rendering Fall 2004 Kavita Bala Computer Science Cornell University Announcements Project discussion this week Proposals: Oct 26 Exam moved to Nov 18 (Thursday) Bounding Volume vs.
More informationAdvanced Visual Effects with Direct3D
Advanced Visual Effects with Direct3D Presenters: Mike Burrows, Sim Dietrich, David Gosselin, Kev Gee, Jeff Grills, Shawn Hargreaves, Richard Huddy, Gary McTaggart, Jason Mitchell, Ashutosh Rege and Matthias
More informationComputer Applications in Textile Engineering. Computer Applications in Textile Engineering
3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive
More informationCourse Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.
CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation
More informationOptimizing AAA Games for Mobile Platforms
Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo
More informationSilverlight for Windows Embedded Graphics and Rendering Pipeline 1
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,
More informationDATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER
DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information
More informationA Short Introduction to Computer Graphics
A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical
More informationAdvanced Rendering for Engineering & Styling
Advanced Rendering for Engineering & Styling Prof. B.Brüderlin Brüderlin,, M Heyer 3Dinteractive GmbH & TU-Ilmenau, Germany SGI VizDays 2005, Rüsselsheim Demands in Engineering & Styling Engineering: :
More informationIntroduction to GPU Programming Languages
CSC 391/691: GPU Programming Fall 2011 Introduction to GPU Programming Languages Copyright 2011 Samuel S. Cho http://www.umiacs.umd.edu/ research/gpu/facilities.html Maryland CPU/GPU Cluster Infrastructure
More informationImage Synthesis. Transparency. computer graphics & visualization
Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,
More informationNVIDIA GeForce GTX 580 GPU Datasheet
NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet 3D Graphics Full Microsoft DirectX 11 Shader Model 5.0 support: o NVIDIA PolyMorph Engine with distributed HW tessellation engines
More informationProcedural Shaders: A Feature Animation Perspective
Procedural Shaders: A Feature Animation Perspective Hector Yee, Rendering Specialist, PDI/DreamWorks David Hart, Senior FX Developer, PDI/DreamWorks Arcot J. Preetham, Senior Engineer, ATI Research Motivation
More informationComputer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang
Introduction Computer Graphics Instructor: Yung-Yu Chuang ( 莊 永 裕 ) E-mail: c@csie.ntu.edu.tw Office: CSIE 527 Grading: a MatchMove project Computer Science ce & Information o Technolog og Yung-Yu Chuang
More informationINTRODUCTION TO RENDERING TECHNIQUES
INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature
More informationProgrammable Graphics Hardware
Programmable Graphics Hardware Alessandro Martinelli alessandro.martinelli@unipv.it 6 November 2011 Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline
More informationComputer Graphics. Anders Hast
Computer Graphics Anders Hast Who am I?! 5 years in Industry after graduation, 2 years as high school teacher.! 1996 Teacher, University of Gävle! 2004 PhD, Computerised Image Processing " Computer Graphics!
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics Version 1.1, January 2016 David J. Eck Hobart and William Smith Colleges This is a PDF version of a free, on-line book that is available at http://math.hws.edu/graphicsbook/.
More informationGame Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar
Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled
More informationColor correction in 3D environments Nicholas Blackhawk
Color correction in 3D environments Nicholas Blackhawk Abstract In 3D display technologies, as reviewers will say, color quality is often a factor. Depending on the type of display, either professional
More informationProgramming 3D Applications with HTML5 and WebGL
Programming 3D Applications with HTML5 and WebGL Tony Parisi Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface ix Part I. Foundations 1. Introduction 3 HTML5: A New Visual Medium
More informationMidgard GPU Architecture. October 2014
Midgard GPU Architecture October 2014 1 The Midgard Architecture HARDWARE EVOLUTION 2 3 Mali GPU Roadmap Mali-T760 High-Level Architecture Distributes tasks to shader cores Efficient mapping of geometry
More informationIntroduction to GPU Architecture
Introduction to GPU Architecture Ofer Rosenberg, PMTS SW, OpenCL Dev. Team AMD Based on From Shader Code to a Teraflop: How GPU Shader Cores Work, By Kayvon Fatahalian, Stanford University Content 1. Three
More informationThe Future Of Animation Is Games
The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director cwang@1-apple.com.tw The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores
More informationPerformance Optimization and Debug Tools for mobile games with PlayCanvas
Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with
More informationInteractive Rendering In The Post-GPU Era. Matt Pharr Graphics Hardware 2006
Interactive Rendering In The Post-GPU Era Matt Pharr Graphics Hardware 2006 Last Five Years Rise of programmable GPUs 100s/GFLOPS compute 10s/GB/s bandwidth Architecture characteristics have deeply influenced
More informationIn the early 1990s, ubiquitous
How GPUs Work David Luebke, NVIDIA Research Greg Humphreys, University of Virginia In the early 1990s, ubiquitous interactive 3D graphics was still the stuff of science fiction. By the end of the decade,
More informationDynamic Resolution Rendering
Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying
More informationLow power GPUs a view from the industry. Edvard Sørgård
Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today
More informationGPU Christmas Tree Rendering. Evan Hart ehart@nvidia.com
GPU Christmas Tree Rendering Evan Hart ehart@nvidia.com February 2007 Document Change History Version Date Responsible Reason for Change 0.9 2/20/2007 Ehart Betarelease February 2007 ii Beta Release This
More informationInstructor. Goals. Image Synthesis Examples. Applications. Computer Graphics. Why Study 3D Computer Graphics?
Computer Graphics Motivation: Why do we study 3D Graphics? http://www.cs.ucsd.edu/~ravir Instructor http://www.cs.ucsd.edu/~ravir PhD Stanford, 2002. PhD thesis developed Spherical Harmonic Lighting widely
More informationATI Radeon 4800 series Graphics. Michael Doggett Graphics Architecture Group Graphics Product Group
ATI Radeon 4800 series Graphics Michael Doggett Graphics Architecture Group Graphics Product Group Graphics Processing Units ATI Radeon HD 4870 AMD Stream Computing Next Generation GPUs 2 Radeon 4800 series
More informationTouchstone -A Fresh Approach to Multimedia for the PC
Touchstone -A Fresh Approach to Multimedia for the PC Emmett Kilgariff Martin Randall Silicon Engineering, Inc Presentation Outline Touchstone Background Chipset Overview Sprite Chip Tiler Chip Compressed
More informationHardware design for ray tracing
Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex
More informationHow To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Brains Eden, 28 th June 2013 Agenda Introduction The author ARM Ltd. What do you need to have What do you need to know Identify
More informationJohn Carmack Archive -.plan (2002)
John Carmack Archive -.plan (2002) http://www.team5150.com/~andrew/carmack March 18, 2007 Contents 1 February 2 1.1 Last month I wrote the Radeon 8500 support for Doom. (Feb 11, 2002)..........................
More informationVertex and fragment programs
Vertex and fragment programs Jon Hjelmervik email: jonmi@ifi.uio.no 1 Fixed function transform and lighting Each vertex is treated separately Affine transformation transforms the vertex by matrix multiplication
More informationConsole Architecture. By: Peter Hood & Adelia Wong
Console Architecture By: Peter Hood & Adelia Wong Overview Gaming console timeline and evolution Overview of the original xbox architecture Console architecture of the xbox360 Future of the xbox series
More informationVolume Rendering on Mobile Devices. Mika Pesonen
Volume Rendering on Mobile Devices Mika Pesonen University of Tampere School of Information Sciences Computer Science M.Sc. Thesis Supervisor: Martti Juhola June 2015 i University of Tampere School of
More informationOptimization for DirectX9 Graphics. Ashu Rege
Optimization for DirectX9 Graphics Ashu Rege Last Year: Batch, Batch, Batch Moral of the story: Small batches BAD What is a batch Every DrawIndexedPrimitive call is a batch All render, texture, shader,...
More informationQCD as a Video Game?
QCD as a Video Game? Sándor D. Katz Eötvös University Budapest in collaboration with Győző Egri, Zoltán Fodor, Christian Hoelbling Dániel Nógrádi, Kálmán Szabó Outline 1. Introduction 2. GPU architecture
More informationNVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality
Hardware Announcement ZG09-0170, dated March 31, 2009 NVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality Table of contents 1 At a glance 3
More informationModern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com
Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision
More informationIntroduction to Game Programming. Steven Osman sosman@cs.cmu.edu
Introduction to Game Programming Steven Osman sosman@cs.cmu.edu Introduction to Game Programming Introductory stuff Look at a game console: PS2 Some Techniques (Cheats?) What is a Game? Half-Life 2, Valve
More informationIntroduction to GP-GPUs. Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1
Introduction to GP-GPUs Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1 GPU Architectures: How do we reach here? NVIDIA Fermi, 512 Processing Elements (PEs) 2 What Can It Do?
More informationTeaching Introductory Computer Graphics Via Ray Tracing
Teaching Introductory Computer Graphics Via Ray Tracing Helen H. Hu Westminster College, Salt Lake City, UT hhu@westminstercollege.edu Figure 1. Examples of student work. For fun, enthusiastic students
More informationTechnical Brief. Quadro FX 5600 SDI and Quadro FX 4600 SDI Graphics to SDI Video Output. April 2008 TB-03813-001_v01
Technical Brief Quadro FX 5600 SDI and Quadro FX 4600 SDI Graphics to SDI Video Output April 2008 TB-03813-001_v01 Quadro FX 5600 SDI and Quadro FX 4600 SDI Graphics to SDI Video Output Table of Contents
More informationComputer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)
Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include
More informationMasters of Science in Software & Information Systems
Masters of Science in Software & Information Systems To be developed and delivered in conjunction with Regis University, School for Professional Studies Graphics Programming December, 2005 1 Table of Contents
More informationReal-Time Graphics Architecture
Real-Time Graphics Architecture Kurt Akeley Pat Hanrahan http://www.graphics.stanford.edu/courses/cs448a-01-fall Display and Framebuffer Displays Key properties Bandwidth Framebuffers Definitions and key
More informationFast and efficient dense variational stereo on GPU
Fast and efficient dense variational stereo on GPU Julien Mairal, Renaud Keriven and Alexandre Chariot CERTIS ENPC 77455 Marne-la-Vallee cedex 2 France julien.mairal@m4x.org, keriven@certis.enpc.fr, chariot@certis.enpc.fr
More informationOctaVis: A Simple and Efficient Multi-View Rendering System
OctaVis: A Simple and Efficient Multi-View Rendering System Eugen Dyck, Holger Schmidt, Mario Botsch Computer Graphics & Geometry Processing Bielefeld University Abstract: We present a simple, low-cost,
More informationShadows. Shadows. Thanks to: Frédo Durand and Seth Teller MIT. Realism Depth cue
Shadows Thanks to: Frédo Durand and Seth Teller MIT 1 Shadows Realism Depth cue 2 1 Shadows as depth cue 3 Spatial relationship between objects Michael McCool Univ of Waterloo 4 2 Spatial relationship
More informationGeneral Purpose Computation on Graphics Processors (GPGPU) Mike Houston, Stanford University
General Purpose Computation on Graphics Processors (GPGPU) Mike Houston, Stanford University A little about me http://graphics.stanford.edu/~mhouston Education: UC San Diego, Computer Science BS Stanford
More informationGraphical displays are generally of two types: vector displays and raster displays. Vector displays
Display technology Graphical displays are generally of two types: vector displays and raster displays. Vector displays Vector displays generally display lines, specified by their endpoints. Vector display
More informationCork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC
Cork Education and Training Board Programme Module for 3 Dimensional Computer Graphics Leading to Level 5 FETAC 3 Dimensional Computer Graphics 5N5029 3 Dimensional Computer Graphics 5N5029 1 Version 3
More informationUsing Photorealistic RenderMan for High-Quality Direct Volume Rendering
Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam cjam@sdsc.edu Mike Bailey mjb@sdsc.edu San Diego Supercomputer Center University of California San Diego Abstract With
More informationCS 4810 Introduction to Computer Graphics
CS 4810 Introduction to Computer Graphics Connelly Barnes University of Virginia Acknowledgement: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin
More informationComp 410/510. Computer Graphics Spring 2016. Introduction to Graphics Systems
Comp 410/510 Computer Graphics Spring 2016 Introduction to Graphics Systems Computer Graphics Computer graphics deals with all aspects of creating images with a computer Hardware (PC with graphics card)
More informationInteractive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006
FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITY KOMENSKHO V BRATISLAVE Katedra aplikovanej informatiky Interactive Information Visualization using Graphics Hardware Študentská vedecká konferencia 2006
More informationDeferred Shading & Screen Space Effects
Deferred Shading & Screen Space Effects State of the Art Rendering Techniques used in the 3D Games Industry Sebastian Lehmann 11. Februar 2014 FREESTYLE PROJECT GRAPHICS PROGRAMMING LAB CHAIR OF COMPUTER
More informationGPU Shading and Rendering: Introduction & Graphics Hardware
GPU Shading and Rendering: Introduction & Graphics Hardware Marc Olano Computer Science and Electrical Engineering University of Maryland, Baltimore County SIGGRAPH 2005 Schedule Shading Technolgy 8:30
More information3D Stereoscopic Game Development. How to Make Your Game Look
3D Stereoscopic Game Development How to Make Your Game Look Like Beowulf 3D 3D Stereoscopic Has Gone 3D Stereoscopic Has Gone Mainstream 3D Enabled Cinemas are Growing 1200 1000 800 600 400 200 0 2005
More informationComputer Graphics on Mobile Devices VL SS2010 3.0 ECTS
Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,
More informationInteractive Level-Set Deformation On the GPU
Interactive Level-Set Deformation On the GPU Institute for Data Analysis and Visualization University of California, Davis Problem Statement Goal Interactive system for deformable surface manipulation
More informationNVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect
SIGGRAPH 2013 Shaping the Future of Visual Computing NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect NVIDIA
More information