Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Computer Graphics

Similar presentations


Presentation on theme: "Introduction to Computer Graphics"— Presentation transcript:

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

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

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

4 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

5 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

6 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

7 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: ) 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

8 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

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

10 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

11 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

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

13 Computer Graphics with OpenGL
Ch00 2018/6/9

14 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

15 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

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

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

18 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

19 3D Computer Graphics Ch00 2018/6/9

20 Graphic Processing Units
Ch00 2018/6/9

21 The Challenge Render infinitely complex scenes
And extremely high resolution In 1/60th of one second Luxo Jr 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

22 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

23 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

24 Thread Execution Manager
GeForce 8800 16 highly threaded SM’s, >128 FPU’s, 367 GFLOPS, 768 MB DRAM, 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

25 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

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

27 Ch00 2018/6/9

28 Ch00 2018/6/9

29 Ch00 2018/6/9


Download ppt "Introduction to Computer Graphics"

Similar presentations


Ads by Google