Computer Graphics Presenting The Visual Future

Size: px
Start display at page:

Download "Computer Graphics Presenting The Visual Future"

Transcription

1 Computer Graphics Presenting The Visual Future Boris Ajdin Max Planck Institut für Informatik

2 Introduction What is computer graphics? Standard view of the field Sci-Fi like applications Multi-disciplinary computer graphics Combining other sciences with graphics Combining graphics with other sciences Computational future Using NVIDIA CUDA platform

3 Computer Graphics Wikipedia definition: Computer graphics broadly studies the manipulation of visual and geometric information using computational techniques. Computer graphics as an academic discipline focuses on the mathematical and computational foundations of image generation and processing rather than purely aesthetic issues. TU Berlin definition: Computer Graphics is about digital models for three-dimensional geometric objects as well as images. Answers.com definition: A branch of computer science that deals with the theory and techniques of computer image synthesis.

4

5

6 CG standard stuff

7 CG recent standard stuff Movies Lord of the Rings Trilogy, Transformers, The Matrix,... Games Unreal Tournament 3, BioShock, Crysis,... OS GUI Windows Vista, Mac OS X, KDE, Gnome,...

8 CG recent standard stuff Movies Lord of the Rings Trilogy, Transformers, The Matrix,... Games Unreal Tournament 3, BioShock, Crysis,... OS GUI Windows Vista, Mac OS X, KDE, Gnome,...

9 CG recent standard stuff Movies Lord of the Rings Trilogy, Transformers, The Matrix,... Games Unreal Tournament 3, BioShock, Crysis,... OS GUI Windows Vista, Mac OS X, KDE, Gnome,...

10 CG recent standard stuff Movies Lord of the Rings Trilogy, Transformers, The Matrix,... Games Unreal Tournament 3, BioShock, Crysis,... OS GUI Windows Vista, Mac OS X, KDE, Gnome

11 CG recent standard stuff Movies Lord of the Rings Trilogy, Transformers, The Matrix,... Games Unreal Tournament 3, BioShock, Crysis,... OS GUI Windows Vista, Mac OS X, KDE, Gnome,...

12 CG recent standard stuff Movies Lord of the Rings Trilogy, Transformers, The Matrix,... Games Unreal Tournament 3, BioShock, Crysis,... OS GUI Windows Vista, Mac OS X, KDE, Gnome,... This is now - can we create the future today?

13 Desired high-tech Photo-realistic rendering Fast image based rendering (IBR) systems Super-resolution cameras and projectors 3D capture and display devices Intuitive and powerful user interfaces A (possibly) distant (possible) future: True virtual reality Computer-brain interfaces Real life smart machine-environment interaction...

14 Content-aware resizing Various image/video formats: 4:3, 5:4, 16:9,... Annoying black spaces or cropping on displays with different format 4:3 image 4:3 stretched 4:3 cropped 16:9 image

15 Seam Carving for Content-Aware Image Resizing, Shai Avidan and Ariel Shamir, Siggraph Insert or remove a seam (connected path along one dimension), with the lowest energy.

16 Minimize the seam cost, n c given the energy function s =min E s =min e I si s s i=1 e (for vertical seams) Use dynamic programming to find the minimum seam: compute cumulative cost, starting from the second row, and then backtrack Example energy function I I x y e HoG I = max HoG I x, y

17

18

19

20 Completing images What if you want to: Remove somebody or something from an image? Restore damaged photographs? Options we have at hand: Hand work in some photo-editing tool, e.g. Photoshop Smart software solution

21 Image Completion Using Global Optimization, Nikos Komodakis and Georgios Tziritas, CVPR 2006 Joint framework for image completion and texture synthesis

22 Copy the missing information from some other region of the image Define source nodes and destination nodes in the image Use Markov Random Fields to minimize the resulting image energy V i l = [ p 2 ][ w w h h,, N ] M ni p I 0 ni p I 0 l p E l i = V i l i i=1 i, j V i, j l i, l j

23

24 Depth image camera Next big step: a one click 3D depth camera one depth value for each pixel position Desert of the real: 3D depth with multiple clicks using an ordinary camera! Even today this approach could be applied to a single camera device, but: Either the problem of cost and bulkiness Or not usable for dynamic scenes

25 Confocal Stereo, Samuel W. Hasinoff and Kiriakos N. Kutulakos, ECCV 2006 The principle of confocal consistency If the input radiance is constant then: With varying camera aperture, the intensity of an in-focus pixel varies in a scene independent way Hence, it can be precomputed with radiometric camera calibration Given the aperture, focus and confocal consistency coefficient we can compute depth

26

27

28 Novel UI systems Standard one device one click systems do not provide enough usability and power for the user (mouse, light pen,...) Computer keyboard is multi-touch, but is not graphic-oriented Hot topic multi-touch GUIs Apple iphone, Microsoft Table PC,...

29 Using FTIR principle: Infra red LED are placed on the edges of the acrylic pane We back-project the desired graphical content An IR camera, using FTIR, detects contact points with the screen Jeff Han

30 Espionage Sci-Fi movies: super innovative hackers and useless system-admins (password: GOD :) ) Sci-Fi movies (cont): computer screens reflect on users face (human skin is diffuse?!?!) Reality: environment from reflecting (shiny) objects Scenario: Dimly lit room Bright enough computer screen Reflecting object

31 Corneal Imaging System: Environment from Eyes, Ko Nishino and Shree K. Nayar, IJCV 2006 Fit a model of human eyeball to the recorded high-res image Localize the cornea Recover the reflected image from the eye

32

33

34

35

36 Light/reflectance fields Image based rendering - IBR: use photographs (as photo-realistic as it gets) to create arbitrary renderings If you want to enable novel views of an object we are talking about light fields (4D functions) Static lighting If you want to enable relighting then we have 4D reflectance field Only one view-point Relightable & different viewing directions <=> 8D reflectance fields

37 Problems with these fields: Acquisition time too long: Images from different position Varying lighting Machine controlled acquisition process required: Robotic arm camera/light control Turntables Storage costs Often > images Principle problem Not clear how to capture concave objects for relighting ( Holly Grail of IBR)!!!

38 Light fields

39

40 How 'bout 3D? Displaying 3D content Holograms Red/blue images Using polarized light VR glasses,... Usual problems Number of George Washington notes required Lack of color Non-interactive content Self-occlusion not properly addressed...

41 Rendering for an Interactive 360 Light Field Display, Andrew Jones at al, Siggraph Nuts & bolts needed: A spinning mirror (45 tilt angle) A motion control motor (for spinning) Anisotropic holographic diffuser A fast DLP projector (alternating between red, green and blue colors) A PC

42 Use a recorded light field For each mirror position compute and project the closest light field view Correct vertical parallax effect

43 Voilà 3D Display

44 NPR Photo-realistic rendering is one of CG Holly Grails Often the desired visual effects are achieved by using wrong physics of object-light interactions: cartoons, sketches, art, etc Can we create automated non-photo realistic renderings (NPR)? Yes we can: NPAR, Sin City

45 NVIDIA CUDA Moore's law processor power increases by a factor of 2 every ~18 months. Typical CPU 2 CISC cores, ~2 GHz Ideal machine supercomputer: IBM Blue Gene/P 1PFLOPS processors Lots of $ (initial cost, cost of space, power, cooling) Not for everyone.

46 GPU Power Greatly overlooked until recently Now provides unified shader architecture

47 >128 FPUs, ~80 GB/s memory I/O

48 Optimization idea: Isolate relatively simple operations performed on multiple data Store all data on the GPU (internal GPU bandwidth = ~20x GPU-CPU bandwidth) Perform as many operations as possible in parallel. Stream the final results back to the main memory

49 Total balance: Initial costs: a PC + GeForce 8 class GPU = ~1000$ Learning curve: basics of parallel computation Implementation cost: CUDA provides a simple C interface for initializing GPU memory management and computations Hence soon a TFLOPS for everyone!

50 Matrix multiplication P = M * N (size w x w) Standard idea: One thread for each element in P Too much memory copying, not enough parallelism

51 Highly-parallel idea: Each thread computes one block in P (with more then one element) Less memory overhead More efficient use of the available processing power

52 Full code for (int a = abegin, b = bbegin; a <= aend; a += astep, b += bstep) { // Declaration of the shared memory array As used to // store the sub-matrix of A shared float As[BLOCK_SIZE][BLOCK_SIZE]; // Declaration of the shared memory array Bs used to // store the sub-matrix of B shared float Bs[BLOCK_SIZE][BLOCK_SIZE]; // Load the matrices from device memory to shared // memory; each thread loads one element of each matrix AS(ty, tx) = A[a + wa * ty + tx]; BS(ty, tx) = B[b + wb * ty + tx]; syncthreads(); // to make sure the matrices are loaded // Multiply the two matrices together; each thread // computes one element of the block sub-matrix for (int k = 0; k < BLOCK_SIZE; ++k) Csub += AS(ty, k) * BS(k, tx); // Make sure that the preceding computation is done // before loading two new sub-matrices of A and B syncthreads(); } // Write the block sub-matrix to device memory; // each thread writes one element int c = wb * BLOCK_SIZE * by + BLOCK_SIZE * bx; C[c + wb * ty + tx] = Csub; global void matrixmul( float* C, float* A, float* B, int wa, int wb) { int bx = blockidx.x; int by = blockidx.y; //Block index int tx = threadidx.x; int ty = threadidx.y; // Thread index // Index of the first sub-matrix of A processed by the block int abegin = wa * BLOCK_SIZE * by; // Index of the last sub-matrix of A processed by the block int aend = abegin + wa - 1; // Step size used to iterate through the sub-matrices of A int astep = BLOCK_SIZE; // Index of the first sub-matrix of B processed by the block int bbegin = BLOCK_SIZE * bx; // Step size used to iterate through the sub-matrices of B int bstep = BLOCK_SIZE * wb; // Csub is used to store the element of the block sub-matrix // that is computed by the thread float Csub = 0; // Loop over all the sub-matrices of A and B // required to compute the block sub-matrix }

53 CG jobs Prosperous future in CG: Games Movies Commercials Graphical/3D design Computer generated art Robotics&vision...

54 Big giant heads of CG Check out these names on the web: Marc Levoy Pat Hanrahan Paul Debevec Phillip Slusallek Fredo Durand Ramesh Raskar Hans-Peter Seidel Michael Cohen Ravi Ramamoorthi Shree Nayar

55 .

Device Memories and Matrix Multiplication

Device Memories and Matrix Multiplication Device Memories and Matrix Multiplication 1 Device Memories global, constant, and shared memories CUDA variable type qualifiers 2 Matrix Multiplication an application of tiling runningmatrixmul in the

More information

GPU Computing with CUDA

GPU Computing with CUDA GPU Computing with CUDA Hands-on: Shared Memory Use (Dot Product, Matrix Multiplication) Dan Melanz & Dan Negrut Simulation-Based Engineering Lab Wisconsin Applied Computing Center Department of Mechanical

More information

Introduction to GPGPU and GPU-architectures

Introduction to GPGPU and GPU-architectures Introduction to GPGPU and GPU-architectures Henk Corporaal Gert-Jan van den Braak http://www.es.ele.tue.nl/ Contents 1. What is a GPU 2. Programming a GPU 3. GPU thread scheduling 4. GPU performance bottlenecks

More information

GPU Computing Master Clss. Development Tools

GPU Computing Master Clss. Development Tools GPU Computing Master Clss Development Tools Generic CUDA debugger goals Support all standard debuggers across all OS Linux GDB, TotalView and DDD Windows Visual studio Mac - XCode Support CUDA runtime

More information

Motivation. My General Philosophy. Assumptions. Advanced Computer Graphics (Spring 2013) Precomputation-Based Relighting

Motivation. My General Philosophy. Assumptions. Advanced Computer Graphics (Spring 2013) Precomputation-Based Relighting Advanced Computer Graphics (Spring 2013) CS 283, Lecture 17: Precomputation-Based Real-Time Rendering Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs283/sp13 Motivation Previously: seen IBR. Use measured

More information

Course Recap + 3D Graphics on Mobile GPUs

Course Recap + 3D Graphics on Mobile GPUs Lecture 18: Course Recap + 3D Graphics on Mobile GPUs Interactive Computer Graphics Q. What is a big concern in mobile computing? A. Power Two reasons to save power Run at higher performance for a fixed

More information

GPU & High Performance Computing (by NVIDIA) CUDA. Compute Unified Device Architecture Florian Schornbaum

GPU & High Performance Computing (by NVIDIA) CUDA. Compute Unified Device Architecture Florian Schornbaum GPU & High Performance Computing (by NVIDIA) CUDA Compute Unified Device Architecture 29.02.2008 Florian Schornbaum GPU Computing Performance In the last few years the GPU has evolved into an absolute

More information

CS 684 Fall 2005 Image-based Modeling and Rendering. Ruigang Yang

CS 684 Fall 2005 Image-based Modeling and Rendering. Ruigang Yang CS 684 Fall 2005 Image-based Modeling and Rendering Ruigang Yang Administrivia Classes: Monday and Wednesday, 4:00-5:15 PM Instructor: Ruigang Yang ryang@cs.uky.edu Office Hour: Robotics 514D, MW 1500-1600

More information

Morphable 3D-Mosaics: a Hybrid Framework for Photorealistic Walkthroughs of Large Natural Environments

Morphable 3D-Mosaics: a Hybrid Framework for Photorealistic Walkthroughs of Large Natural Environments Morphable 3D-Mosaics: a Hybrid Framework for Photorealistic Walkthroughs of Large Natural Environments Nikos Komodakis and Georgios Tziritas Computer Science Department, University of Crete E-mails: {komod,

More information

Non-line-of-sight imaging

Non-line-of-sight imaging Non-line-of-sight imaging http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2017, Lecture 25 Course announcements Homework 6 will be posted tonight. - Will

More information

What does Fusion mean for HPC?

What does Fusion mean for HPC? What does Fusion mean for HPC? Casey Battaglino Aparna Chandramowlishwaran Jee Choi Kent Czechowski Cong Hou Chris McClanahan Dave S. Noble, Jr. Richard (Rich) Vuduc AMD Fusion Developers Summit Bellevue,

More information

Lecture 15: Introduction to GPU programming. Lecture 15: Introduction to GPU programming p. 1

Lecture 15: Introduction to GPU programming. Lecture 15: Introduction to GPU programming p. 1 Lecture 15: Introduction to GPU programming Lecture 15: Introduction to GPU programming p. 1 Overview Hardware features of GPGPU Principles of GPU programming A good reference: David B. Kirk and Wen-mei

More information

Shadow and Environment Maps

Shadow and Environment Maps CS294-13: Special Topics Lecture #8 Advanced Computer Graphics University of California, Berkeley Monday, 28 September 2009 Shadow and Environment Maps Lecture #8: Monday, 28 September 2009 Lecturer: Ravi

More information

Introduction OpenCL Code Exercices. OpenCL. Tópicos em Arquiteturas Paralelas. Peter Frank Perroni. November 25, 2015

Introduction OpenCL Code Exercices. OpenCL. Tópicos em Arquiteturas Paralelas. Peter Frank Perroni. November 25, 2015 Code Tópicos em Arquiteturas Paralelas November 25, 2015 The Device Code GPU Device Memory Access Thread Management Private Private Thread1 Thread M Streaming Processor 0... Private Private Thread1 Thread

More information

3D Production Pipeline

3D Production Pipeline Overview 3D Production Pipeline Story Character Design Art Direction Storyboarding Vocal Tracks 3D Animatics Modeling Animation Rendering Effects Compositing Basics : OpenGL, transformation Modeling :

More information

GPU Computing with CUDA

GPU Computing with CUDA GPU Computing with CUDA Dan Negrut Simulation-Based Engineering Lab Wisconsin Applied Computing Center Department of Mechanical Engineering University of Wisconsin-Madison Dan Negrut, 2012 UW-Madison Milano

More information

Dense Linear Algebra. HPC - Algorithms and Applications

Dense Linear Algebra. HPC - Algorithms and Applications Dense Linear Algebra HPC - Algorithms and Applications Alexander Pöppl Technical University of Munich Chair of Scientific Computing November 6 th 2017 Last Tutorial CUDA Architecture thread hierarchy:

More information

Computational Photography: Real Time Plenoptic Rendering

Computational Photography: Real Time Plenoptic Rendering Computational Photography: Real Time Plenoptic Rendering Andrew Lumsdaine, Georgi Chunev Indiana University Todor Georgiev Adobe Systems Who was at the Keynote Yesterday? 2 Overview Plenoptic cameras Rendering

More information

CS : Many-core Computing with CUDA

CS : Many-core Computing with CUDA CS4402-9535: Many-core Computing with CUDA Marc Moreno Maza University of Western Ontario, London, Ontario (Canada) UWO-CS4402-CS9535 (Moreno Maza) CS4402-9535: Many-core Computing with CUDA UWO-CS4402-CS9535

More information

The Light Field and Image-Based Rendering

The Light Field and Image-Based Rendering Lecture 11: The Light Field and Image-Based Rendering Visual Computing Systems Demo (movie) Royal Palace: Madrid, Spain Image-based rendering (IBR) So far in course: rendering = synthesizing an image from

More information

Hardware Shading: State-of-the-Art and Future Challenges

Hardware Shading: State-of-the-Art and Future Challenges Hardware Shading: State-of-the-Art and Future Challenges Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,, Germany Graphics Hardware Hardware is now fast enough for complex geometry for

More information

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology CS8803SC Software and Hardware Cooperative Computing GPGPU Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology Why GPU? A quiet revolution and potential build-up Calculation: 367

More information

LEVEL 1 ANIMATION ACADEMY2010

LEVEL 1 ANIMATION ACADEMY2010 1 Textures add more realism to an environment and characters. There are many 2D painting programs that can be used to create textures, such as Adobe Photoshop and Corel Painter. Many artists use photographs

More information

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker

Rendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant

More information

Advanced Imaging Applications on Smart-phones Convergence of General-purpose computing, Graphics acceleration, and Sensors

Advanced Imaging Applications on Smart-phones Convergence of General-purpose computing, Graphics acceleration, and Sensors Advanced Imaging Applications on Smart-phones Convergence of General-purpose computing, Graphics acceleration, and Sensors Sriram Sethuraman Technologist & DMTS, Ittiam 1 Overview Imaging on Smart-phones

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world

More information

Focal stacks and lightfields

Focal stacks and lightfields Focal stacks and lightfields http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 11 Course announcements Homework 3 is out. - Due October 12 th.

More information

Massively Parallel Architectures

Massively Parallel Architectures Massively Parallel Architectures A Take on Cell Processor and GPU programming Joel Falcou - LRI joel.falcou@lri.fr Bat. 490 - Bureau 104 20 janvier 2009 Motivation The CELL processor Harder,Better,Faster,Stronger

More information

Creating Project Winning Visualization with Iterative Luxology Rendering

Creating Project Winning Visualization with Iterative Luxology Rendering Creating Project Winning Visualization with Iterative Luxology Rendering Jerry Flynn 1 WWW.BENTLEY.COM Luxology Rendering Inside MicroStation 2 WWW.BENTLEY.COM Visualization Priorities Quality Mirror project

More information

Lecture 15: Image-Based Rendering and the Light Field. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Lecture 15: Image-Based Rendering and the Light Field. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011) Lecture 15: Image-Based Rendering and the Light Field Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Demo (movie) Royal Palace: Madrid, Spain Image-based rendering (IBR) So

More information

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye Ray Tracing What was the rendering equation? Motivate & list the terms. Relate the rendering equation to forward ray tracing. Why is forward ray tracing not good for image formation? What is the difference

More information

Non-line-of-sight imaging

Non-line-of-sight imaging Non-line-of-sight imaging http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 23 Course announcements Homework 6 posted, due November 30 th. -

More information

Artec Leo. A smart professional 3D scanner for a next-generation user experience

Artec Leo. A smart professional 3D scanner for a next-generation user experience Artec Leo A smart professional 3D scanner for a next-generation user experience Industrial design and manufacturing / Healthcare VR / E-commerce / Science and education Forensics / Art and design See your

More information

Artec Leo. A smart professional 3D scanner for a next-generation user experience

Artec Leo. A smart professional 3D scanner for a next-generation user experience Artec Leo A smart professional 3D scanner for a next-generation user experience Industrial design and manufacturing / Healthcare VR / E-commerce / Science and education Forensics / Art and design See your

More information

Modeling Light. Michal Havlik : Computational Photography Alexei Efros, CMU, Fall 2007

Modeling Light. Michal Havlik : Computational Photography Alexei Efros, CMU, Fall 2007 Modeling Light Michal Havlik 15-463: Computational Photography Alexei Efros, CMU, Fall 2007 The Plenoptic Function Figure by Leonard McMillan Q: What is the set of all things that we can ever see? A: The

More information

Lecture 7: Caffe: GPU Optimization. boris.

Lecture 7: Caffe: GPU Optimization. boris. Lecture 7: Caffe: GPU Optimization boris. ginzburg@intel.com 1 Agenda 1. Practical intro to CUDA Programming model Memory model Exercises 2. Caffe: CUDA part SynchedMemory Forward_gpu( ); 3. Projects 2

More information

CUDA Memory Types All material not from online sources/textbook copyright Travis Desell, 2012

CUDA Memory Types All material not from online sources/textbook copyright Travis Desell, 2012 CUDA Memory Types All material not from online sources/textbook copyright Travis Desell, 2012 Overview 1. Memory Access Efficiency 2. CUDA Memory Types 3. Reducing Global Memory Traffic 4. Example: Matrix-Matrix

More information

Seam-Carving. Michael Rubinstein MIT. and Content-driven Retargeting of Images (and Video) Some slides borrowed from Ariel Shamir and Shai Avidan

Seam-Carving. Michael Rubinstein MIT. and Content-driven Retargeting of Images (and Video) Some slides borrowed from Ariel Shamir and Shai Avidan Seam-Carving and Content-driven Retargeting of Images (and Video) Michael Rubinstein MIT Some slides borrowed from Ariel Shamir and Shai Avidan Display Devices Content Retargeting PC iphone Page Layout

More information

Tesla Architecture, CUDA and Optimization Strategies

Tesla Architecture, CUDA and Optimization Strategies Tesla Architecture, CUDA and Optimization Strategies Lan Shi, Li Yi & Liyuan Zhang Hauptseminar: Multicore Architectures and Programming Page 1 Outline Tesla Architecture & CUDA CUDA Programming Optimization

More information

But, vision technology falls short. and so does graphics. Image Based Rendering. Ray. Constant radiance. time is fixed. 3D position 2D direction

But, vision technology falls short. and so does graphics. Image Based Rendering. Ray. Constant radiance. time is fixed. 3D position 2D direction Computer Graphics -based rendering Output Michael F. Cohen Microsoft Research Synthetic Camera Model Computer Vision Combined Output Output Model Real Scene Synthetic Camera Model Real Cameras Real Scene

More information

Shaders. Slide credit to Prof. Zwicker

Shaders. Slide credit to Prof. Zwicker Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?

More information

Module Memory and Data Locality

Module Memory and Data Locality GPU Teaching Kit Accelerated Computing Module 4.4 - Memory and Data Locality Tiled Matrix Multiplication Kernel Objective To learn to write a tiled matrix-multiplication kernel Loading and using tiles

More information

ME964 High Performance Computing for Engineering Applications

ME964 High Performance Computing for Engineering Applications ME964 High Performance Computing for Engineering Applications Memory Layout in CUDA Execution Scheduling in CUDA February 15, 2011 Dan Negrut, 2011 ME964 UW-Madison They have computers, and they may have

More information

Algorithms for Image-Based Rendering with an Application to Driving Simulation

Algorithms for Image-Based Rendering with an Application to Driving Simulation Algorithms for Image-Based Rendering with an Application to Driving Simulation George Drettakis GRAPHDECO/Inria Sophia Antipolis, Université Côte d Azur http://team.inria.fr/graphdeco Graphics for Driving

More information

CSCI 402: Computer Architectures. Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI.

CSCI 402: Computer Architectures. Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI. CSCI 402: Computer Architectures Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI 6.6 - End Today s Contents GPU Cluster and its network topology The Roofline performance

More information

Computational Photography: Advanced Topics. Paul Debevec

Computational Photography: Advanced Topics. Paul Debevec Computational Photography: Advanced Topics Paul Debevec Class: Computational Photography, Advanced Topics Module 1: 105 minutes Debevec,, Raskar and Tumblin 1:45: A.1 Introduction and Overview (Raskar,

More information

critical theory Computer Science

critical theory Computer Science Art/Science Shading, Materials, Collaboration Textures Example title Artists In the recommend real world, two the main following: factors determine the appearance of a surface: basic understanding what

More information

Computational Fluid Dynamics (CFD) using Graphics Processing Units

Computational Fluid Dynamics (CFD) using Graphics Processing Units Computational Fluid Dynamics (CFD) using Graphics Processing Units Aaron F. Shinn Mechanical Science and Engineering Dept., UIUC Accelerators for Science and Engineering Applications: GPUs and Multicores

More information

Image-based rendering using plane-sweeping modelisation

Image-based rendering using plane-sweeping modelisation Author manuscript, published in "IAPR Machine Vision and Applications MVA2005, Japan (2005)" Image-based rendering using plane-sweeping modelisation Vincent Nozick, Sylvain Michelin and Didier Arquès Marne

More information

Image Based Lighting with Near Light Sources

Image Based Lighting with Near Light Sources Image Based Lighting with Near Light Sources Shiho Furuya, Takayuki Itoh Graduate School of Humanitics and Sciences, Ochanomizu University E-mail: {shiho, itot}@itolab.is.ocha.ac.jp Abstract Recent some

More information

Image Based Lighting with Near Light Sources

Image Based Lighting with Near Light Sources Image Based Lighting with Near Light Sources Shiho Furuya, Takayuki Itoh Graduate School of Humanitics and Sciences, Ochanomizu University E-mail: {shiho, itot}@itolab.is.ocha.ac.jp Abstract Recent some

More information

CUDA GPGPU Workshop CUDA/GPGPU Arch&Prog

CUDA GPGPU Workshop CUDA/GPGPU Arch&Prog CUDA GPGPU Workshop 2012 CUDA/GPGPU Arch&Prog Yip Wichita State University 7/11/2012 GPU-Hardware perspective GPU as PCI device Original PCI PCIe Inside GPU architecture GPU as PCI device Traditional PC

More information

Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I CSCI 480 Computer Graphics Lecture 1 Course Overview January 10, 2011 Jernej Barbic University of Southern California Administrative Issues Modeling Animation Rendering OpenGL Programming Course Information

More information

Me Again! Peter Chapman. if it s important / time-sensitive

Me Again! Peter Chapman.  if it s important / time-sensitive Me Again! Peter Chapman P.Chapman1@bradford.ac.uk pchapman86@gmail.com if it s important / time-sensitive Issues? Working on something specific? Need some direction? Don t hesitate to get in touch http://peter-chapman.co.uk/teaching

More information

Tiled Matrix Multiplication

Tiled Matrix Multiplication Tiled Matrix Multiplication Basic Matrix Multiplication Kernel global void MatrixMulKernel(int m, m, int n, n, int k, k, float* A, A, float* B, B, float* C) C) { int Row = blockidx.y*blockdim.y+threadidx.y;

More information

PPAR: CUDA basics. Sylvain Collange Inria Rennes Bretagne Atlantique PPAR

PPAR: CUDA basics. Sylvain Collange Inria Rennes Bretagne Atlantique PPAR PPAR: CUDA basics Sylvain Collange Inria Rennes Bretagne Atlantique sylvain.collange@inria.fr http://www.irisa.fr/alf/collange/ PPAR - 2018 This lecture: CUDA programming We have seen some GPU architecture

More information

GPU programming: CUDA. Sylvain Collange Inria Rennes Bretagne Atlantique

GPU programming: CUDA. Sylvain Collange Inria Rennes Bretagne Atlantique GPU programming: CUDA Sylvain Collange Inria Rennes Bretagne Atlantique sylvain.collange@inria.fr This lecture: CUDA programming We have seen some GPU architecture Now how to program it? 2 Outline GPU

More information

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics Why GPU? Chapter 1 Graphics Hardware Graphics Processing Unit (GPU) is a Subsidiary hardware With massively multi-threaded many-core Dedicated to 2D and 3D graphics Special purpose low functionality, high

More information

Image-Based Rendering and Light Fields

Image-Based Rendering and Light Fields CS194-13: Advanced Computer Graphics Lecture #9 Image-Based Rendering University of California Berkeley Image-Based Rendering and Light Fields Lecture #9: Wednesday, September 30th 2009 Lecturer: Ravi

More information

Rigid ICP registration with Kinect

Rigid ICP registration with Kinect Rigid ICP registration with Kinect Students: Yoni Choukroun, Elie Semmel Advisor: Yonathan Aflalo 1 Overview.p.3 Development of the project..p.3 Papers p.4 Project algorithm..p.6 Result of the whole body.p.7

More information

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Real-Time Universal Capture Facial Animation with GPU Skin Rendering Real-Time Universal Capture Facial Animation with GPU Skin Rendering Meng Yang mengyang@seas.upenn.edu PROJECT ABSTRACT The project implements the real-time skin rendering algorithm presented in [1], and

More information

Noah Snavely Steven M. Seitz. Richard Szeliski. University of Washington. Microsoft Research. Modified from authors slides

Noah Snavely Steven M. Seitz. Richard Szeliski. University of Washington. Microsoft Research. Modified from authors slides Photo Tourism: Exploring Photo Collections in 3D Noah Snavely Steven M. Seitz University of Washington Richard Szeliski Microsoft Research 2006 2006 Noah Snavely Noah Snavely Modified from authors slides

More information

GPU Memory Memory issue for CUDA programming

GPU Memory Memory issue for CUDA programming Memory issue for CUDA programming Variable declaration Memory Scope Lifetime device local int LocalVar; local thread thread device shared int SharedVar; shared block block device int GlobalVar; global

More information

Introduction. Chapter Computer Graphics

Introduction. Chapter Computer Graphics Chapter 1 Introduction 1.1. Computer Graphics Computer graphics has grown at an astounding rate over the last three decades. In the 1970s, frame-buffers capable of displaying digital images were rare and

More information

Light transport matrices

Light transport matrices Light transport matrices http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 18 Course announcements Homework 5 has been posted. - Due on Friday

More information

A million pixels, a million polygons. Which is heavier? François X. Sillion. imagis* Grenoble, France

A million pixels, a million polygons. Which is heavier? François X. Sillion. imagis* Grenoble, France A million pixels, a million polygons. Which is heavier? François X. Sillion imagis* Grenoble, France *A joint research project of CNRS, INRIA, INPG and UJF MAGIS Why this question? Evolution of processing

More information

Spring 2011 Prof. Hyesoon Kim

Spring 2011 Prof. Hyesoon Kim Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

A New Image Based Ligthing Method: Practical Shadow-Based Light Reconstruction

A New Image Based Ligthing Method: Practical Shadow-Based Light Reconstruction A New Image Based Ligthing Method: Practical Shadow-Based Light Reconstruction Jaemin Lee and Ergun Akleman Visualization Sciences Program Texas A&M University Abstract In this paper we present a practical

More information

Project 3 code & artifact due Tuesday Final project proposals due noon Wed (by ) Readings Szeliski, Chapter 10 (through 10.5)

Project 3 code & artifact due Tuesday Final project proposals due noon Wed (by  ) Readings Szeliski, Chapter 10 (through 10.5) Announcements Project 3 code & artifact due Tuesday Final project proposals due noon Wed (by email) One-page writeup (from project web page), specifying:» Your team members» Project goals. Be specific.

More information

Jinwei Gu. Ph.D. in Computer Science Dissertation: Measurement, Modeling, and Synthesis of Time-Varying Appearance of Natural

Jinwei Gu. Ph.D. in Computer Science Dissertation: Measurement, Modeling, and Synthesis of Time-Varying Appearance of Natural Jinwei Gu CONTACT Department of Computer Science Mobile: (917) 292-9361 450 Computer Science Bldg. Phone: (212)-939-7091 (office) Columbia University Fax: (212) 666-0140 500 West 120 Street New York, NY

More information

CSc Topics in Computer Graphics 3D Photography

CSc Topics in Computer Graphics 3D Photography CSc 83010 Topics in Computer Graphics 3D Photography Tuesdays 11:45-1:45 1:45 Room 3305 Ioannis Stamos istamos@hunter.cuny.edu Office: 1090F, Hunter North (Entrance at 69 th bw/ / Park and Lexington Avenues)

More information

Efficient and Scalable Shading for Many Lights

Efficient and Scalable Shading for Many Lights Efficient and Scalable Shading for Many Lights 1. GPU Overview 2. Shading recap 3. Forward Shading 4. Deferred Shading 5. Tiled Deferred Shading 6. And more! First GPU Shaders Unified Shaders CUDA OpenCL

More information

Prof. Trevor Darrell Lecture 18: Multiview and Photometric Stereo

Prof. Trevor Darrell Lecture 18: Multiview and Photometric Stereo C280, Computer Vision Prof. Trevor Darrell trevor@eecs.berkeley.edu Lecture 18: Multiview and Photometric Stereo Today Multiview stereo revisited Shape from large image collections Voxel Coloring Digital

More information

Practical Shadow Mapping

Practical Shadow Mapping Practical Shadow Mapping Stefan Brabec Thomas Annen Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken, Germany Abstract In this paper we propose several methods that can greatly improve

More information

Introduction to GPU programming. Introduction to GPU programming p. 1/17

Introduction to GPU programming. Introduction to GPU programming p. 1/17 Introduction to GPU programming Introduction to GPU programming p. 1/17 Introduction to GPU programming p. 2/17 Overview GPUs & computing Principles of CUDA programming One good reference: David B. Kirk

More information

Real-time Generation and Presentation of View-dependent Binocular Stereo Images Using a Sequence of Omnidirectional Images

Real-time Generation and Presentation of View-dependent Binocular Stereo Images Using a Sequence of Omnidirectional Images Real-time Generation and Presentation of View-dependent Binocular Stereo Images Using a Sequence of Omnidirectional Images Abstract This paper presents a new method to generate and present arbitrarily

More information

Vision-Based Human-Computer-Interaction

Vision-Based Human-Computer-Interaction Vision-Based Human-Computer-Interaction Ulrich Leiner,, Interactive Media Human Factors, Einsteinufer 37, 10587 Berlin, Germany www.hhi.fraunhofer.de 10.12.2009 1 Outline Ulrich Leiner, Heinrich-Hertz-Institute,

More information

GPU Programming EE Final Examination

GPU Programming EE Final Examination Name Solution GPU Programming EE 4702-1 Final Examination Friday, 11 December 2015 15:00 17:00 CST Alias Methane? Problem 1 Problem 2 Problem 3 Problem 4 Problem 5 Problem 6 Exam Total (20 pts) (15 pts)

More information

Lecture #9: Image Resizing and Segmentation

Lecture #9: Image Resizing and Segmentation Lecture #9: Image Resizing and Segmentation Mason Swofford, Rachel Gardner, Yue Zhang, Shawn Fenerin Department of Computer Science Stanford University Stanford, CA 94305 {mswoff, rachel0, yzhang16, sfenerin}@cs.stanford.edu

More information

Iray for Cinema 4D Release Version 2.0 New Features Improved MDL Material Browser Stacking of MDL Material Layers

Iray for Cinema 4D Release Version 2.0 New Features Improved MDL Material Browser Stacking of MDL Material Layers Iray for Cinema 4D Release Version 2.0 Version 2.0.15, Iray 2016.3 Copyright 2017 NVIDIA Corporation Improved MDL Material Browser The MDL Material Browser has been greatly enhanced to allow quick and

More information

GPU Memory. GPU Memory. Memory issue for CUDA programming. Copyright 2013 Yong Cao, Referencing UIUC ECE498AL Course Notes

GPU Memory. GPU Memory. Memory issue for CUDA programming. Copyright 2013 Yong Cao, Referencing UIUC ECE498AL Course Notes Memory issue for CUDA programming CUDA Variable Type Qualifiers Variable declaration Memory Scope Lifetime device local int LocalVar; local thread thread device shared int SharedVar; shared block block

More information

Multiple View Geometry

Multiple View Geometry Multiple View Geometry Martin Quinn with a lot of slides stolen from Steve Seitz and Jianbo Shi 15-463: Computational Photography Alexei Efros, CMU, Fall 2007 Our Goal The Plenoptic Function P(θ,φ,λ,t,V

More information

Porting Performance across GPUs and FPGAs

Porting Performance across GPUs and FPGAs Porting Performance across GPUs and FPGAs Deming Chen, ECE, University of Illinois In collaboration with Alex Papakonstantinou 1, Karthik Gururaj 2, John Stratton 1, Jason Cong 2, Wen-Mei Hwu 1 1: ECE

More information

Artec Leo. A smart professional 3D scanner for a next-generation user experience

Artec Leo. A smart professional 3D scanner for a next-generation user experience 001-09/2017-USD-EN Artec Leo A smart professional 3D scanner for a next-generation user experience Industrial design and manufacturing / Healthcare VR / E-commerce / Science and education Forensics / Art

More information

Image-Based Modeling and Rendering. Image-Based Modeling and Rendering. Final projects IBMR. What we have learnt so far. What IBMR is about

Image-Based Modeling and Rendering. Image-Based Modeling and Rendering. Final projects IBMR. What we have learnt so far. What IBMR is about Image-Based Modeling and Rendering Image-Based Modeling and Rendering MIT EECS 6.837 Frédo Durand and Seth Teller 1 Some slides courtesy of Leonard McMillan, Wojciech Matusik, Byong Mok Oh, Max Chen 2

More information

GPGPU Applications. for Hydrological and Atmospheric Simulations. and Visualizations on the Web. Ibrahim Demir

GPGPU Applications. for Hydrological and Atmospheric Simulations. and Visualizations on the Web. Ibrahim Demir GPGPU Applications for Hydrological and Atmospheric Simulations and Visualizations on the Web Ibrahim Demir Big Data We are collecting and generating data on a petabyte scale (1Pb = 1,000 Tb = 1M Gb) Data

More information

Multi-view stereo. Many slides adapted from S. Seitz

Multi-view stereo. Many slides adapted from S. Seitz Multi-view stereo Many slides adapted from S. Seitz Beyond two-view stereo The third eye can be used for verification Multiple-baseline stereo Pick a reference image, and slide the corresponding window

More information

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

Artec Leo. A smart professional 3D scanner for a next-generation user experience

Artec Leo. A smart professional 3D scanner for a next-generation user experience Artec Leo A smart professional 3D scanner for a next-generation user experience Industrial design and manufacturing / Healthcare VR / E-commerce / Science and education Forensics / Art and design Easy

More information

How to Compute the Pose of an Object without a Direct View?

How to Compute the Pose of an Object without a Direct View? How to Compute the Pose of an Object without a Direct View? Peter Sturm and Thomas Bonfort INRIA Rhône-Alpes, 38330 Montbonnot St Martin, France {Peter.Sturm, Thomas.Bonfort}@inrialpes.fr Abstract. We

More information

Spherical Harmonic Gradients for Mid-Range Illumination

Spherical Harmonic Gradients for Mid-Range Illumination Eurographics Symposium on Rendering (2004) H. W. Jensen, A. Keller (Editors) Spherical Harmonic Gradients for Mid-Range Illumination Thomas Annen 1 Jan Kautz 2 Frédo Durand 2 Hans-Peter Seidel 1 1 MPI

More information

A free open source modelling/rendering software

A free open source modelling/rendering software A free open source modelling/rendering software Rendering In short, rendering is the process of generating an image from a model or set of models in a scene file. Different styles ie. Photorealistic(Cycles),

More information

A million pixels, a million polygons: which is heavier?

A million pixels, a million polygons: which is heavier? A million pixels, a million polygons: which is heavier? François X. Sillion To cite this version: François X. Sillion. A million pixels, a million polygons: which is heavier?. Eurographics 97, Sep 1997,

More information

Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F.

Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F. Computer Graphics Books: 1) Computer Graphics, Principles & Practice, Second Edition in C JamesD. Foley, Andriesvan Dam, StevenK. Feiner, John F. Huges 2) Schaim s Outline Computer Graphics Roy A. Plastock,

More information

Image-Based Modeling and Rendering

Image-Based Modeling and Rendering Image-Based Modeling and Rendering Richard Szeliski Microsoft Research IPAM Graduate Summer School: Computer Vision July 26, 2013 How far have we come? Light Fields / Lumigraph - 1996 Richard Szeliski

More information

Face Relighting with Radiance Environment Maps

Face Relighting with Radiance Environment Maps Face Relighting with Radiance Environment Maps Zhen Wen Zicheng Liu Thomas S. Huang University of Illinois Microsoft Research University of Illinois Urbana, IL 61801 Redmond, WA 98052 Urbana, IL 61801

More information

An Abstraction Technique for Producing 3D Visual Contents

An Abstraction Technique for Producing 3D Visual Contents , pp.353-360 http://dx.doi.org/10.14257/ijmue.2013.8.5.35 An Abstraction Technique for Producing 3D Visual Contents Kyungha Min Dept. of Digital Media, Sangmyung Univ., Seoul, Korea minkyungha@gmail.com

More information

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications

CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications CSE328 Fundamentals of Computer Graphics: Concepts, Theory, Algorithms, and Applications Hong Qin State University of New York at Stony Brook (Stony Brook University) Stony Brook, New York 11794--4400

More information

GPU Computing with CUDA

GPU Computing with CUDA GPU Computing with CUDA Dan Negrut Andrew Seidl Daniel Melanz Simulation-Based Engineering Lab Department of Mechanical Engineering University of Wisconsin-Madison Dan Negrut, 2012 UW-Madison Bucuresti

More information