Introduction to Computer Graphics

Slides:



Advertisements
Similar presentations
GPGPU Programming Dominik G ö ddeke. 2Overview Choices in GPGPU programming Illustrated CPU vs. GPU step by step example GPU kernels in detail.
Advertisements

CP411 Computer Graphics, Wilfrid Laurier University Introduction # 1 Welcome to CP411 Computer Graphics 2012 Instructor: Dr. Hongbing Fan Introduction.
Prepared 5/24/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
1 ITCS 6/8010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Jan 19, 2011 Emergence of GPU systems and clusters for general purpose High Performance Computing.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Shading Languages By Markus Kummerer. Markus Kummerer 2 / 19 State of the Art Shading.
Introduction What is GPU? It is a processor optimized for 2D/3D graphics, video, visual computing, and display. It is highly parallel, highly multithreaded.
Dr. Sana’a Wafa Al-Sayegh
Background image by chromosphere.deviantart.com Fella in following slides by devart.deviantart.com DM2336 Programming hardware shaders Dioselin Gonzalez.
1 ITCS 4/5010 CUDA Programming, UNC-Charlotte, B. Wilkinson, Dec 31, 2012 Emergence of GPU systems and clusters for general purpose High Performance Computing.
CS 480/680 Computer Graphics Course Overview Dr. Frederick C Harris, Jr. Fall 2012.
Computer Graphics Graphics Hardware
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Introduction to Computer Graphics Dr.Giorgos A. Demetriou Dr. Stephania Loizidou Himona Computer Science Department Frederick University.
1 Angel and Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Introduction to Computer Graphics Ed Angel Professor Emeritus of Computer.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 CS4610/7610: Introduction to Computer Graphics.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE 498AL, University of Illinois, Urbana-Champaign 1 CMPS 5433 Dr. Ranette Halverson Programming Massively.
Chun-Yuan Lin Introduction to Computer Graphics 2015/11/11 1 Ch00.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
1 Ceng 545 GPU Computing. Grading 2 Midterm Exam: 20% Homeworks: 40% Demo/knowledge: 25% Functionality: 40% Report: 35% Project: 40% Design Document:
GPU Programming Shirley Moore CPS 5401 Fall 2013
Chun-Yuan Lin Brief of GPU&CUDA. What is GPU? Graphics Processing Units 2015/12/16 2 GPU.
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408/CS483, University of Illinois, Urbana-Champaign 1 Graphic Processing Processors (GPUs) Parallel.
3/12/2013Computer Engg, IIT(BHU)1 CUDA-3. GPGPU ● General Purpose computation using GPU in applications other than 3D graphics – GPU accelerates critical.
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Oct 30, 2014.
NVIDIA® TESLA™ GPU Based Super Computer By : Adam Powell Student # For COSC 3P93.
Computer Engg, IIT(BHU)
Computer Graphics Graphics Hardware
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 July 12, 2012 © Barry Wilkinson CUDAIntro.ppt.
What is Computer Graphics?
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Chapter 1 An overview on Computer Graphics
Computer Graphics - Introduction -
Brief of GPU&CUDA Chun-Yuan Lin.
Programmable Pipelines
Computer Graphics and Animation (AT70. 09) Comp. Sc. and Inf. Mgmt
CS4610/7610: Introduction to Computer Graphics
Introduction to Computer Graphics
Chapter 1 An overview on Computer Graphics
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
What is Computer Graphics?
What is Computer Graphics?
Graphics Processing Unit
CS 4722 Computer Graphics and Multimedia Spring 2018
From Turing Machine to Global Illumination
Interactive Computer Graphics
Emergence of GPU systems for general purpose high performance computing ITCS 4145/5145 © Barry Wilkinson GPUIntro.ppt Nov 4, 2013.
Introduction to Computer Graphics with WebGL
Models and Architectures
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Overview Course Overview Course Webpage Administrative issues
Introduction to Computer Graphics
Introduction to Computer Graphics
Programming Massively Parallel Processors Lecture Slides for Chapter 9: Application Case Study – Electrostatic Potential Calculation © David Kirk/NVIDIA.
Computer Graphics Graphics Hardware
What is Computer Graphics?
Computer Graphics Course Introduction.
Mattan Erez The University of Texas at Austin
Mattan Erez The University of Texas at Austin
Graphics Processing Unit
Computer Graphics (under.) Sep., 2017
A fixed-function NVIDIA GeForce graphics pipeline.
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

Introduction to Computer Graphics Chun-Yuan Lin Ch00 2018/6/9

In this course Edward Angel, "Interactive Computer Graphics: A Top-down approach using OpenGL,"  Fifth Edition, Addison Wesley, ISBN10:0-321-54943-0. Donald Hearn, M. Pauline  Baker,  "Computer Graphics with OpenGL,"  Third Edition, Prentice Hall, ISBN10:0-13-120238-3. Alan Watt, “3D Computer Graphics,” Third Edition, Addison Wesley, ISBN10: 0-201-39855-9. Ch00 2018/6/9

Interactive Computer Graphics: A Top-down approach using OpenGL 2018/6/9

This book is an introduction to computer graphics, which an emphasis on applications programming. Feature-length computer-animated movies have proved to be commercial and artistic successes. Recent hardware has blurred the distinction between computers and game boxes. Programmable graphics processors provides a level of flexibility in commodity systems that was not available in even the most expensive workstations just a few years ago. Ch00 2018/6/9

Within the last few years, the cost of a graphics systems that can generate over 100 million three-dimensional polygons per second with lighting and texture mapping has gone from over $100,000 to less than $1000. The availability of commodity graphics boards for personal computers has been especially significant. OpenGL remains the standard programmer’s interface both for writing application programs and developing high-level products for multiplatform applications. Ch00 2018/6/9

Top down approach Top-down, programming-oriented approach to introductory computer graphics. Three approaches. The algorithmic approach The survey approach The programming approach. Ch00 2018/6/9

Programming with OpenGL and C (1) The greatest impediment to implementing a programming-orient course was the lack of a widely accepted graphics library or application programmer’s interface (API). OpenGL is supported on all platforms now. (Windows, Apple Macintosh, Linux, …) (Computer Graphics: Principles & Practice in C 2/e, ISBN: 978-020-184-840-3) This book is a textbook on computer graphics; it is not an OpenGL manual. (Another book- OpenGL: A Primer, Third Edition, 2008) Ch00 2018/6/9

Programming with OpenGL and C (2) In this book, I use both C and C++, with C as the dominant language. (OpenGL is not object-oriented) Ch00 2018/6/9

Intended Audience Prerequisites for the book are good programming skills in C or C++. Understanding basic data structures (linked list, trees, array) and rudimentary knowledge of linear algebra and trigonometry. Ch00 2018/6/9

Organization of this book (1) Chapter 1 provides an overview of the field and introduces image formation by optical devices. Chapter 2 introduces programming using OpenGL. Chapter 3, we discuss interactive graphics in a modern client-server setting and develop even-driven graphics programs. Chapters 4 and 5 concentrate on three-dimensional objects. Chapter 4 for defining and manipulating three-dimensional objects Chapter 5 for viewing them. Ch00 2018/6/9

Organization of this book (2) Chapter 6 introduces light-material interactions and shading. About 10 weeks. Appendix A: Programs for chapter 1~6. Appendices B and C contain a review of the background mathematics. Appendix D: a synopsis of the OpenGL functions used in this book. Ch00 2018/6/9

Support Materials www.cs.unm.edu/~angel or www.aw.com/cssupport www.opengl.org Ch00 2018/6/9

Computer Graphics with OpenGL Ch00 2018/6/9

Today’s computer graphics research is concerned with improving the effectiveness realism and speed of picture generation. To produce a realistic veiw of a natural scene, a graphics program must simulate the effects of actual light reflection and refraction from physical objects. (easy or complex) Ch00 2018/6/9

Features We separated the discussions of two-dimensional and three- dimensional graphics techniques. A major features of this book is the integration of three- dimensional and two-dimensional topics. Many techniques discussed in this book, including parallel implementations for graphics algorithm. Ch00 2018/6/9

Programming More than twenty complete C++ programs are provides in this book by using OpenGL packages. Ch00 2018/6/9

Required Background Computer programming and data structures. Mathematical methods for computer graphics algorithms. Ch00 2018/6/9

Course outline Chapter 1 illustrates the diversity of computer graphics applications by taking a look at the many different kinds of pictures that people have generated with graphics software. Chapter 2 presents the basic vocabulary of computer graphics and an introduction to the hardware and software components of graphics systems. (details of OpenGL) Chapter 5 and Appendix A: geometric transformation and mathematics for computer graphics. Ch00 2018/6/9

3D Computer Graphics Ch00 2018/6/9

Graphic Processing Units Ch00 2018/6/9

The Challenge Render infinitely complex scenes And extremely high resolution In 1/60th of one second Luxo Jr. 1985 took 2-3 hours per frame to render on a Cray-1 supercomputer Today we can easily render that in 1/30th of one second Over 300,000x faster Still not even close to where we need to be… but look how far we’ve come! 2018/6/9 CG

PC/DirectX Shader Model Timeline DirectX 9.0c DirectX 5 Multitexturing T&L TextureStageState SM 1.x SM 2.0 SM 3.0 Riva 128 Riva TNT GeForce 256 GeForce 3 Cg GeForceFX GeForce 6 1998 1999 2000 2001 2002 2003 2004 Half-Life Quake 3 Giants Halo Far Cry UE3 CG 2018/6/9 2018/6/9

A quiet revolution and potential build-up Calculation: 367 GFLOPS vs. 32 GFLOPS Memory Bandwidth: 86.4 GB/s vs. 8.4 GB/s Until last year, programmed through graphics API GPU in every PC and workstation – massive volume and potential impact GFLOPS G80 = GeForce 8800 GTX G71 = GeForce 7900 GTX G70 = GeForce 7800 GTX NV40 = GeForce 6800 Ultra NV35 = GeForce FX 5950 Ultra NV30 = GeForce FX 5800 © David Kirk/NVIDIA and Wen-mei W. Hwu, 2007 ECE 498AL1, University of Illinois, Urbana-Champaign CG 2018/6/9 2018/6/9

Thread Execution Manager GeForce 8800 16 highly threaded SM’s, >128 FPU’s, 367 GFLOPS, 768 MB DRAM, 86.4 GB/S Mem BW, 4GB/S BW to CPU Load/store Global Memory Thread Execution Manager Input Assembler Host Texture Parallel Data Cache 2018/6/9 CG

GPU NVIDIA GPU Computing Architecture Via a separate HW interface In laptops, desktops, workstations, servers 8-series GPUs deliver 50 to 200 GFLOPS on compiled parallel C applications Programmable in C with CUDA tools Multithreaded SPMD model uses application data parallelism and thread parallelism Tesla C870 Tesla D870 CG © David Kirk/NVIDIA and Wen-mei W. Hwu, 2007 ECE 498AL1, University of Illinois, Urbana-Champaign Tesla S870

TESLA S1070 (1) NVIDIA® Tesla™ S1070 運算系統 (雙PCI Express 2.0 連結) 採用全球首 款1 teraflop處理器,是一台具備4 teraflop 浮點運算能力的1U 系統。

Ch00 2018/6/9

Ch00 2018/6/9

Ch00 2018/6/9