Interactive Computer Graphics


 Paul McKenzie
 3 years ago
 Views:
Transcription
1 Interactive Computer Graphics A TopDown Approach Using OpenGL FIFTH EDITION EDWARD ANGEL UNIVERSITY OF NEW MEXICO PEARSON Addison Wesley Boston San Francisco New York London Toronto Sydney Tokyo Singapore Madrid Mexico City Munich Paris Cape Töwn Hong Kong Montreal
2 Preface xxv CHAPTER 1 GRAPHICS SYSTEMS AND MODELS 1.1 Applications of Computer Graphics Display of Information Design Simulation and Animation User Interfaces A Graphics System Pixels and the Frame Buffer Output Devices Input Devices Images: Physical and Synthetic Objects and Viewers Light and Images Image Formation Models Imaging Systems The Pinhole Camera The Human Visual System The SyntheticCamera Model 1.6 The Programmer's Interface The PenPlotter Model ThreeDimensional APIs A Sequence of Images The ModelingRendering Paradigm Graphics Architectures Display Processors Pipeline Architectures The Graphics Pipeline Vertex Processing 32
3 viii Contents Clipping and Primitive Assembly Rasterization Fragment Processing Programmable Pipelines Performance Characteristics 34 Summary and Notes 35 Suggested Readings 36 Exercises 36 CHAPTER2 GRAPHICS PROGRAMMING The Sierpinski Gasket Programming TwoDimensional Applications Coordinate Systems The OpenGL API Graphics Functions The Graphics Pipeline and State Machines The OpenGL Interface Primitives and Attributes Polygon Basics Polygon Types in OpenGL Approximating a Sphere Text Curved Objects Attributes Color RGB Color Indexed Color Setting of Color Attributes Viewing The Orthographie View TwoDimensional Viewing Matrix Modes Control Functions Interaction with the Window System Aspect Ratio and Viewports The main, display, and myinit Functions Program Structure The Gasket Program Polygons and Recursion 77
4 Contents 2.10 The ThreeDimensional Gasket Use of ThreeDimensional Points Use of Polygons in Three Dimensions HiddenSurface Removal Plotting Implicit Functions Marching Squares 86 Summary and Notes 92 Suggested Readings 94 Exercises 94 CHAPTF.R3 INPUT AND INTERACTION Interaction Input Devices Physical Input Devices Logical Devices Input Modes Clients and Servers Display Lists Definition and Execution of Display Lists Text and Display Lists Fonts in GLUT Display Lists and Modeling Programming EventDriven Input Using the Pointing Device Window Events Keyboard Events The Display and Idle Callbacks Window Management Menüs Picking Picking and Selection Mode A Simple CAD Program Building Interactive Models Animating Interactive Programs The Rotating Square Double Buffering Using a Timer Design of Interactive Programs Toolkits, Widgets, and the Frame Buffer 148
5 Contents Logic Operations Drawing Erasable Lines 150 XORandColor 153 Cursors and Overlay Planes 153 Summary and Notes 154 Suggested Readings 155 Exercises CHAPTER 4. GEOMETRIC OBJECTS AND TRANSFORMATIONS Sealars, Points, and Vectors Geometrie Objects 160 CoordinateFree Geometry 161 The Mathematical View: Vector and Affine Spaces 162 The Computer Science View 163 Geometrie ADTs 163 Lines 165 Affine Sums 165 Convexity 166 Dot and Cross Products 166 Planes 167 ThreeDimensional Primitives Coordinate Systems and Frames Representations and NTuples 172 Change of Coordinate Systems 172 Example Change of Representation 175 Homogeneous Coordinates 176 Example Change in Frames 179 Working with Representations 181 Frames in OpenGL Modeling a Colored Cube Modeling the Faces 188 Inward and OutwardPointing Faces 189 Data Structures for Object Representation 189 The Color Cube 190 Bilinear Interpolation 191 Vertex Arrays 192 Affine Transformations Translation, Rotation, and Scaling Translation 198 Rotation
6 4.7.3 Scaling Transformations in Homogeneous Coordinates Translation Scaling Rotation Shear Concatenation of Transformations Rotation About a Fixed Point General Rotation The Instance Transformation Rotation About an Arbitrary Axis OpenGL Transformation Matrices The Current Transformation Matrix Rotation, Translation, and Scaling Rotation About a Fixed Point in OpenGL Order of Transformations Spinning of the Cube Loading, Pushing, and Popping Matrices Interfaces to ThreeDimensional Applications Using Areas of the Screen A Virtual Trackball Smooth Rotations Incremental Rotation Quaternions Complex Numbers and Quaternions Quaternions and Rotation 228 Summary and Notes 230 Suggested Readings 231 Exercises VIEWING Classical and Computer Viewing Classical Viewing Orthographie Projections Axonometrie Projections Oblique Projections Perspective Viewing Viewing with a Computer 242
7 xii Contents 5.3 Positioning of the Camera Positioning of the Camera Frame Two Viewing APIs The LookAt Function Other Viewing APIs Simple Projections Perspective Projections Orthogonal Projections Projections in OpenGL Perspective in OpenGL Parallel Viewing in OpenGL HiddenSurface Removal Culling Interactive Mesh Displays Meshes Walking Through a Scene Polygon Offset ParallelProjection Matrices Projection Normalization OrthogonalProjection Matrices Oblique Projections PerspectiveProjection Matrices Perspective Normalization OpenGL Perspective Transformations Projections and Shadows 281 Summary and Notes 284 Suggested Readings 285 Exercises 285 CHAPTER6 LIGHTING AND SHADING Light and Matter Light Sources Color Sources Ambient Light Point Sources Spotlights Distant Light Sources The Phong Lighting Model Ambient Reflection 300
8 Contents xiii Diffuse Reflection Specular Reflection The Modified Phong Model Computation of Vectors Normal Vectors Angle of Reflection Polygonal Shading Fiat Shading Smooth and Gouraud Shading Phong Shading Approximation of a Sphere by Recursive Subdivision Light Sources in OpenGL Specification of Materials in OpenGL Shading of the Sphere Model Global Illumination 323 Summary and Notes 325 Suggested Readings 326 Exercises 326 CHAPTER 7 FROM VERTICES TO FRAGMENTS Basic Implementation Strategies Four Major Tasks Modeling Geometry Processing Rasterization Fragment Processing Clipping LineSegment Clipping CohenSutherland Clipping LiangBarsky Clipping Polygon Clipping Clipping of Other Primitives Bounding Boxes and Volumes Curves, Surfaces, and Text Clipping in the Frame Buffer Clipping in Three Dimensions Rasterization Bresenham's Algorithm 352
9 xiv Contents 7.10 Polygon Rasterization InsideOutside Testing OpenGL and Concave Polygons Fill and Sort Flood Fill Singularities HiddenSurface Removal ObjectSpace and ImageSpace Approaches Sorting and HiddenSurface Removal ScanLine Algorithms BackFace Removal The zbuffer Algorithm Scan Conversion with the zbuffer Depth Sort and the Painter's Algorithm Antialiasing Display Considerations Color Systems The Color Matrix Gamma Correction Dithering and Halftoning 376 Summary and Notes 377 Suggested Readings 379 Exercises DISCRETE TECHNIQUES Buffers Digital Images Writing into Buffers Writing Modes Writes with XOR Bit and Pixel Operations in OpenGL OpenGL Buffers and the Pixel Pipeline Bitmaps Raster Fonts Pixels and Images Lookup Tables Examples Displaying a Color Gamut Testing Algorithms Buffers for Picking 401
10 8.6 Mapping Methods Texture Mapping TwoDimensional Texture Mapping Texture Mapping in OpenGL TwoDimensional Texture Mapping Texture Sampling Working with Texture Coordinates Texture Objects Multitexturing Texture Generation Environment Maps Compositing Techniques Opacity and Blending Image Compositing Blending and Compositing in OpenGL Antialiasing Revisited BacktoFront and FronttoBack Rendering Depth Cueing and Fog Multirendering and the Accumulation Buffer Scene Antialiasing Bump Mapping and Embossing Image Processing Imaging Extensions Other Multipass Methods Sampling and Aliasing Sampling Theory Reconstruction Quantization 446 Summary and Notes 447 Suggested Readings 448 Exercises 448 cnarr:f<9 PROGRAMMABLE SHADERS Programmable Pipelines Shading Languages ShadeTrees Extending OpenGL OpenGL Versions and Extensions GLSL and Cg 456
11 XVI Contents The OpenGL Shading Language Vertex Shaders 457 Fragment Shaders 459 The OpenGL Shading Language GLSL Execution 461 Data Types and Qualifiers 461 Operators and Functions 464 Linking Shaders with OpenGL Programs Moving Vertices Scaling Vertex Positions 470 Morphing 472 Particle Systems 474 Vertex Lighting with Shaders Phong Lighting 475 Nonphotorealistic Shading 478 Fragment Shaders PerVertex Versus PerFragment Lighting Samplers Cube Maps Reflection Maps 486 Refraction 487 Normalization Maps 490 Bump Mapping Finding Bump Maps 492 Examples 495 Summary and Notes 499 Suggested Readings 499 Exercises MODELING AMD rü=rarchy Symbols and Instances Hierarchical Models A Robot Arm Trees and Traversal A StackBased Traversal Use of Tree Data Structures Animation 517
12 Contents xvii 10.7 Graphical Objects Methods, Attributes, and Messages ACubeObject Implementing the Cube Object Objects and Hierarchy Geometrie Objects Scene Graphs A Simple Scene Graph API TheNodeClass Geometry Nodes Camera Class Lights and Materials Transformations The Robot Figure Implementing the Viewer Implementing a Node Open Scene Graph Graphics and the Internet Networks and Protocols Hypermedia and HTML Databases and VRML Java and Applets Other Tree Structures CSGTrees BSPTrees Quadtrees and Octrees 554 Summary and Notes 555 Suggested Readings 556 Exercises 556 : ipter 11 PROCEDURAL METHODS Algorithmic Models PhysicallyBased Models and Particle Systems Newtonian Particles Independent Particles Spring Forces Attractive and Repulsive Forces Solving Particle Systems 568
13 XVU1 Contents Constraints Collisions 571 Soft Constraints A Simple Partial System Displaying the Particles 574 Updating Particle Positions 575 Initialization 575 Collisions 576 Forces 577 Flocking LanguageBased Models Recursive Methods and Fractals Rulers and Length 582 Fractal Dimension 583 Midpoint Division and Brownian Motion Fractal Mountains 585 The Mandelbrot Set Procedural Noise 590 Summary and Notes 594 Suggested Readings 594 Exercises 595 CHAP11:? 12 CURVES AND SUSPACES Representation of Curves and Surfaces Explicit Representation Implicit Representations Parametric Form Parametric Polynomial Curves Parametric Polynomial Surfaces Design Criteria Parametric Cubic Polynomial Curves Interpolation Blending Functions The Cubic Interpolating Patch Hermite Curves and Surfaces The Hermite Form Geometrie and Parametric Continuity Bezier Curves and Surfaces Bezier Curves 615
14 Contents xix Bezier Surface Patches Cubic BSplines The Cubic BSpline Curve BSplines and Basis Spline Surfaces General BSplines Recursively Defined BSplines Uniform Splines Nonuniform BSplines NURBS CatmullRom Splines Rendering Curves and Surfaces Polynomial Evaluation Methods Recursive Subdivision of Bezier Polynomials Rendering Other Polynomial Curves by Subdivision Subdivision of Bezier Surfaces The Utah Teapot Algebraic Surfaces Quadrics Rendering of Surfaces by Ray Casting Subdivision Curves and Surfaces Mesh Subdivision Curves and Surfaces in OpenGL Bezier Curves Bezier Surfaces Displaying the Teapot NURBS Functions Quadrics 648 Summary and Notes 649 Suggested Readings 650 Exercises CHARTER 13 ADVANCED RENDERING Going Beyond Pipeline Rendering 13.2 Ray Tracing 13.3 Building a Simple Ray Tracer Recursive Ray Tracing Calculating Intersections RayTracing Variations
15 xx Contents 13.4 The Rendering Equation Radiosity The Radiosity Equation Solving the Radiosity Equation Computing Form Factors Carrying Out Radiosity RenderMan Parallel Rendering SortMiddle Rendering SortLast Rendering SortFirst Rendering ImageBased Rendering A Simple Example 682 Summary and Notes 684 Suggested Readings 685 Exercises 686 APPENDIX A SAMPLE PROGRAMS 689 A.1 Sierpinski Gasket Program 690 A.2 Recursive Generation of Sierpinski Gasket 692 A.3 Recursive ThreeDimensional Sierpinski Gasket 693 A.4 Marching Squares 696 A.5 Polygon Modeling Program 701 A.6 DoubleBuffering program 707 A.7 SelectionMode Picking Program 710 A.8 RotatingCube Program 712 A.9 Rotating Cube Using Vertex Arrays 715 A.10 Rotating Cube with a Virtual Trackball 717 A.11 Moving Viewer 721 A.12 Sphere Program 724 A.13 Mandelbrot Set Program 727 A.14 Bresenham's Algorithm 730 A.15 Rotating Cube with Texture 733 A.16 GLSL Example 735 A.17 Scene Graph Program 741 A.18 Particle System Program 746 A.19 Program for Drawing Bezier Curves 751
16 Contents xxi APPENDIX B SPACES B.1 Sealars B.2 Vector Spaces B.3 Affine Spaces B.4 Euclidean Spaces B.5 Projections B.6 GramSchmidt Orthogonalization Suggested Readings 762 Exercises APPENDIX C MATRICES C.1 Definitions C.2 Matrix Operations C.3 Row and Column Matrices C.4 Rank C.5 Change of Representation C.6 The Cross Product C.7 Eigenvalues and Eigenvectors Suggested Readings 773 Exercises APPENDIX D SYNOPSIS OF OPENGL FUNCTIONS D.1 Specifying Simple Geometry D.2 Attributes D.3 Working with the Window System D.4 Interaction D.5 Enabling Features D.6 Transformations D.7 Viewing D.8 Defining Discrete Primitives D.9 Display Lists D.10 Picking D.11 Lighting D.12 Texture Mapping D.13 State and Buffer Manipulation D.14 Vertex Arrays
17 xxii Contents D.15 Blending Functions 789 D.16 Query Functions 789 D.17 Curve and Surface Functions 790 D.18 GLUQuadrics 791 D.19 GLSL Functions 791 References 795 OpenGL Function Index 805 Subject Index 807
Introduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 7787822215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
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 informationVALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203.
VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester : III Year, V Semester Section : CSE  1 & 2 Subject Code : CS6504 Subject
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://wwwbcf.usc.edu/~jbarbic/cs480s13/ Administrative Issues Modeling Animation
More informationGAME ENGINE DESIGN. A Practical Approach to RealTime Computer Graphics. ahhb. DAVID H. EBERLY Geometrie Tools, Inc.
3D GAME ENGINE DESIGN A Practical Approach to RealTime Computer Graphics SECOND EDITION DAVID H. EBERLY Geometrie Tools, Inc. ahhb _ jfw H NEW YORKOXFORDPARISSAN DIEGO fl^^h ' 4M arfcrgsbjlilhg, SAN
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 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 informationWe have learnt that the order of how we draw objects in 3D can have an influence on how the final image looks
Review: Last Week We have learnt that the order of how we draw objects in 3D can have an influence on how the final image looks Depthsort Zbuffer Transparency Orientation of triangle (order of vertices)
More informationImage 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 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 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 informationCOMPUTER GRAPHICS Computer Graphics
COMPUTER GRAPHICS Computer Graphics involves display, manipulation and storage of pictures and experimental data for proper visualization using a computer. Typical graphics system comprises of a host computer
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 informationDhiren Bhatia Carnegie Mellon University
Dhiren Bhatia Carnegie Mellon University University Course Evaluations available online Please Fill! December 4 : Inclass final exam Held during class time All students expected to give final this date
More informationContent. Chapter 4 Functions 61 4.1 Basic concepts on real functions 62. Credits 11
Content Credits 11 Chapter 1 Arithmetic Refresher 13 1.1 Algebra 14 Real Numbers 14 Real Polynomials 19 1.2 Equations in one variable 21 Linear Equations 21 Quadratic Equations 22 1.3 Exercises 28 Chapter
More informationIntroduction Week 1, Lecture 1
CS 430/536 Computer Graphics I Introduction Week 1, Lecture 1 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University
More informationB2.53R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.
B2.53R3: COMPUTER GRAPHICS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAROFF ANSWER
More informationComputer Graphics: Visualisation Lecture 3. Taku Komura Institute for Perception, Action & Behaviour
Computer Graphics: Visualisation Lecture 3 Taku Komura tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour Taku Komura Computer Graphics & VTK 1 Last lecture... Visualisation can be greatly
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 informationEssential Mathematics for Computer Graphics fast
John Vince Essential Mathematics for Computer Graphics fast Springer Contents 1. MATHEMATICS 1 Is mathematics difficult? 3 Who should read this book? 4 Aims and objectives of this book 4 Assumptions made
More informationCOMP557: Fundamentals of Computer Graphics McGill University, Fall 2010
COMP557: Fundamentals of Computer Graphics McGill University, Fall 2010 Class times 2:25 PM  3:55 PM Mondays and Wednesdays Lecture room Trottier Building 2120 Instructor Paul Kry, kry@cs.mcgill.ca Course
More informationComputer Graphics. Course Goal. Objectives. Overview. Textbook. These lectures cover Chapters 16in detail and survey Chapters 71
Computer Graphics Course Goal Paul Farrell Professor of Computer Science, Kent State University Office 270 MSB. Tel 6729060 farrell@cs.kent.edu. Office hours: 6:007:30 TH and by appointment. The goal
More informationCS445 Exam 2 Solutions
November 20, 2014 Name CS445 Exam 2 Solutions Fall 2014 1. (max = 15) 5. (max = 21) 2. (max = 8) 6. (max = 16) 3. (max = 10) 7. (max = 16) 4. (max = 14) Final Score: (max=100) Please try to write legibly.
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 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 informationSkillsUSA 2014 Contest Projects 3D Visualization and Animation
SkillsUSA Contest Projects 3D Visualization and Animation Click the Print this Section button above to automatically print the specifications for this contest. Make sure your printer is turned on before
More informationComputer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science  Technion. An Example.
An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: WireFrame Representation Object is represented as as a set of points
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 informationCurves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?
Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.110.6] Goals How do we draw surfaces? Approximate with polygons Draw polygons
More informationScanLine Fill. ScanLine Algorithm. Sort by scan line Fill each span vertex order generated by vertex list
ScanLine Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order ScanLine
More informationKinematic chains/skeleton Relative
Review of Tuesday Complex (mechanical) objects consist of components Kinematic chains/skeleton represented as tree Hierarchical modeling facilitates implementation of relative behavior of components Relative
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 informationComputer Graphics. Introduction. Computer graphics. What is computer graphics? YungYu Chuang
Introduction Computer Graphics Instructor: YungYu Chuang ( 莊 永 裕 ) Email: c@csie.ntu.edu.tw Office: CSIE 527 Grading: a MatchMove project Computer Science ce & Information o Technolog og YungYu Chuang
More informationCOMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies
COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 17501, Fall 2009 Meetings: TR 1:302:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke
More informationBachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation objectoriented programming language (such as
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 informationUsing Photorealistic RenderMan for HighQuality Direct Volume Rendering
Using Photorealistic RenderMan for HighQuality 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 informationVisual Special Effects Toolkit in C++
Visual Special Effects Toolkit in C++ Tim Wittenburg WILEY COMPUTER PUBLISHING JOHN WILEY & SONS, INC. New York Chichester Weinheim Brisbane Singapore Toronto Contents Table of Figures Plates Preface Acknowledgments
More informationparametric spline curves
parametric spline curves 1 curves used in many contexts fonts (2D) animation paths (3D) shape modeling (3D) different representation implicit curves parametric curves (mostly used) 2D and 3D curves are
More informationCPIT285 Computer Graphics
Department of Information Technology B.S.Information Technology ABET Course Binder CPIT85 Computer Graphics Prepared by Prof. Alhasanain Muhammad Albarhamtoushi Page of Sunday December 4 0 : PM Cover
More informationIntroduction to Computer Graphics MariePaule Cani & Estelle Duveau
Introduction to Computer Graphics MariePaule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction
More informationTwo hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.
COMP60321 Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE M.Sc. in Advanced Computer Science Computer Animation Friday 18 th January 2008 Time: 09:45 11:45 Please answer any THREE Questions
More informationShading with Shaders. Computer Graphics, VT 2015 Lecture 6
Shading with Shaders Computer Graphics, VT 2015 Lecture 6 Johan Nysjö Centre for Image analysis Swedish University of Agricultural Sciences Uppsala University Today's topics Shading in modern OpenGL Pervertex
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, online book that is available at http://math.hws.edu/graphicsbook/.
More informationBuffers and Texture Mapping. Overview. Buffers. David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E.
INSTITUTIONEN FÖR SYSTEMTEKNIK LULEÅ TEKNISKA UNIVERSITET Buffers and Texture Mapping David Carr Fundamentals of Computer Graphics Spring 2004 Based on Slides by E. Angel Feb1804 SMD159, Buffers and
More informationGeometric Modelling & Curves
Geometric Modelling & Curves Geometric Modeling Creating symbolic models of the physical world has long been a goal of mathematicians, scientists, engineers, etc. Recently technology has advanced sufficiently
More informationComputer Graphics. Lecture 1:
Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Handson Session General Introduction http://www.cs.vu.nl/~graphics/
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 informationIntroduction Week 1, Lecture 1
CS 430/585 Computer Graphics I Introduction Week 1, Lecture 1 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University
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 information3D Math Overview and 3D Graphics Foundations
Freescale Semiconductor Application Note Document Number: AN4132 Rev. 0, 05/2010 3D Math Overview and 3D Graphics Foundations by Multimedia Applications Division Freescale Semiconductor, Inc. Austin, TX
More informationCS 4204 Computer Graphics
CS 4204 Computer Graphics 3D views and projection Adapted from notes by Yong Cao 1 Overview of 3D rendering Modeling: *Define object in local coordinates *Place object in world coordinates (modeling transformation)
More informationWe can display an object on a monitor screen in three different computermodel forms: Wireframe model Surface Model Solid model
CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant
More informationCSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture 13: Bézier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #6 due Friday, Nov 18
More informationIntroduction to Computer Graphics. Reading: Angel ch.1 or Hill Ch1.
Introduction to Computer Graphics Reading: Angel ch.1 or Hill Ch1. What is Computer Graphics? Synthesis of images User Computer Image Applications 2D Display Text User Interfaces (GUI)  web  draw/paint
More information2D Geometric Transformations. COMP 770 Fall 2011
2D Geometric Transformations COMP 770 Fall 2011 1 A little quick math background Notation for sets, functions, mappings Linear transformations Matrices Matrixvector multiplication Matrixmatrix multiplication
More informationInteractive visualization of multidimensional data in R using OpenGL
Interactive visualization of multidimensional data in R using OpenGL 6MonatsArbeit im Rahmen der Prüfung für DiplomWirtschaftsinformatiker an der Universität Göttingen vorgelegt am 09.10.2002 von Daniel
More informationFundamentals of Computer Graphics
Fundamentals of Computer Graphics INTRODUCTION! Sergio Benini! Department of Information Engineering Faculty of Engineering University of Brescia Via Branze, 38 25231 Brescia  ITALY 1 Overview Here you
More informationComputer Graphics. 2.1 Mathematics
2 Computer Graphics What You Will Learn: The objectives of this chapter are quite ambitious; you should refer to the references cited in each Section to get a deeper explanation of the topics presented.
More informationIntroduction to 3D Game Programming with DirectX 9.0c: A Shader Approach
Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach Introduction Part I Mathematical Prerequisites Chapter 1 Vector Algebra 1.1 Vectors 1.1.1 Vectors and Coordinate Systems 1.1.2 LeftHanded
More informationLezione 4: Grafica 3D*(II)
Lezione 4: Grafica 3D*(II) Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) RENDERING Rendering What is rendering? Rendering
More informationCOMPUTER GRAPHICS IMPORTANT QUESTION AND ANSWERS. Computer graphics
Computer graphics 1. Define Computer graphics. Computer graphics remains one of the most existing and rapidly growing computer fields. Computer graphics may be defined as a pictorial representation or
More informationDigital 3D Animation
Elizabethtown Area School District Digital 3D Animation Course Number: 753 Length of Course: 1 semester 18 weeks Grade Level: 1112 Elective Total Clock Hours: 120 hours Length of Period: 80 minutes Date
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 informationIntroduction to Computer Graphics 8. Buffers and Mapping techniques (A)
Introduction to Computer Graphics 8. Buffers and Mapping techniques (A) National Chiao Tung Univ, Taiwan By: IChen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice
More informationSAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE
MULT 130 CIC Approval: 03/12/2015 BOT APPROVAL: 04/16/2015 STATE APPROVAL: EFFECTIVE TERM: Fall 2015 SECTION I SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE SUBJECT
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 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 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 rasterscan TV technology The screen (and
More informationRealtime 3D Computer Graphics Virtual Reality
Realtime 3D Computer Graphics Virtual Realit Viewing and projection Classical and General Viewing Transformation Pipeline CPU Pol. DL Pixel Per Vertex Texture Raster Frag FB object ee clip normalized device
More informationPlugin Software Developer Kit (SDK)
Updated February 2, 2012 2 modo 601 Plugin Development Kit for PC and Mac The modo 601 Plugin Software Development Kit provides a set of Application Programming Interfaces (APIs) and numerous source
More informationOur OneYear 3D Animation Program is a comprehensive training in 3D using Alias
1 YEAR 3D ANIMATION Illusion is the first of all pleasures Oscar Wilde Our OneYear 3D Animation Program is a comprehensive training in 3D using Alias Oscar Winning software, Maya, the industry standard
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 information5. GEOMETRIC MODELING
5. GEOMETRIC MODELING Types of Curves and Their Mathematical Representation Types of Surfaces and Their Mathematical Representation Types of Solids and Their Mathematical Representation CAD/CAM Data Exchange
More informationsuggestive contours and abstracted shading Daniel Arias
suggestive contours and abstracted shading Daniel Arias LINES AND SHADES Shape, volume, shades and texture in drawing lines as nonphotorealistic rendering technique Luis Caballero Suggestive contours Many
More informationIllumination Models and Shading. Foley & Van Dam, Chapter 16
Illumination Models and Shading Foley & Van Dam, Chapter 16 Illumination Models and Shading Light Source Models Ambient Illumination Diffuse Reflection Specular Reflection Polygon Rendering Methods Flat
More informationDeferred Shading. Shawn Hargreaves
Deferred Shading Shawn Hargreaves Overview Don t bother with any lighting while drawing scene geometry Render to a fat framebuffer format, using multiple rendertargets to store data such as the position
More informationIntroduction to Computer Graphics
Chapter 1 Objectives Introduction to Computer Graphics To understand the basic objectives and scope of computer graphics To identify computer graphics applications To understand the basic structures of
More informationCSE 167: Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture #3: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Project 1 due Friday September 30 th, presentation
More informationCUBEMAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS
ICCVG 2002 Zakopane, 2529 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 PlanckInstitut
More informationSpecular reflection. Dielectrics and Distribution in Ray Tracing. Snell s Law. Ray tracing dielectrics
Specular reflection Dielectrics and Distribution in Ray Tracing CS 465 Lecture 22 Smooth surfaces of pure materials have ideal specular reflection (said this before) Metals (conductors) and dielectrics
More informationComputer Graphics. Computer graphics deals with all aspects of creating images with a computer
Computer Graphics Computer graphics deals with all aspects of creating images with a computer Hardware Software Applications Computer graphics is using computers to generate and display images based on
More informationWilliam Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline
William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline 1. TITLE OF COURSE AND COURSE NUMBER: Computer Graphics, CS 461, Credits: 3, (Major
More informationUnivariate and Multivariate Methods PEARSON. Addison Wesley
Time Series Analysis Univariate and Multivariate Methods SECOND EDITION William W. S. Wei Department of Statistics The Fox School of Business and Management Temple University PEARSON Addison Wesley Boston
More informationINTERACTIVE COMPUTER GRAPHICS Data Structures, Algorithms, Languages
INTERACTIVE COMPUTER GRAPHICS Data Structures, Algorithms, Languages Wolfgang K. Glloi Technical University of Berlin and University of Minnesota Tochnisths BodischBle Dnrmstadt FACHEEKE1CH 1NFORMATIK
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 informationComputer Graphics. Introduction. Aleksandra Pizurica. Ghent University
Computer Graphics Introduction Aleksandra Pizurica Ghent University Telecommunications and Information Processing Image Processing and Interpretation Group Overview Lectures and coursework Instructors,
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 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 informationThreeDimensional Data Recovery Using ImageBased Modeling
ThreeDimensional Data Recovery Using ImageBased Modeling Jeremy W. Cannon Jonathan C. Derryberry Vitaly Y. Kulikov jcannon1@mit.edu jonderry@mit.edu vkulikov@mit.edu Abstract 6.837: Introduction to Computer
More informationB4 Computational Geometry
3CG 2006 / B4 Computational Geometry David Murray david.murray@eng.o.ac.uk www.robots.o.ac.uk/ dwm/courses/3cg Michaelmas 2006 3CG 2006 2 / Overview Computational geometry is concerned with the derivation
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 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 informationLecture 6: Discrete techniques
Lecture 6: Discrete techniques Topics: 1. Buffer operations 2. Texture maps 3. Environmental maps 4. Bump maps 5. Opacity and blending 6. Depth cueing and fog Chapter 7, Sections 7.1, 7.2, 7.3, 7.6, 7.7.,
More informationShading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall 2013. Required: Shirley, Chapter 10
Reading Required: Shirley, Chapter 10 Shading Brian Curless CSE 557 Fall 2013 1 2 Basic 3D graphics With affine matrices, we can now transform virtual 3D obects in their local coordinate systems into a
More informationCS 543: Computer Graphics Lecture 9 (Part I): Raster Graphics: Drawing Lines. Emmanuel Agu
CS 543: Computer Graphics Lecture 9 (Part I): Raster Graphics: Drawing Lines Emmanuel Agu 2D Graphics Pipeline Clipping Object World Coordinates Applying world window Object subset window to viewport mapping
More informationBeginning Android 4. Games Development. Mario Zechner. Robert Green
Beginning Android 4 Games Development Mario Zechner Robert Green Contents Contents at a Glance About the Authors Acknowledgments Introduction iv xii xiii xiv Chapter 1: Android, the New Kid on the Block...
More informationESSENTIAL CURRICULUM GUIDLINE FOR ANIMATION I INTRODUCTION
INTRODUCTION ESSENTIAL CURRICULUM GUIDLINE FOR ANIMATION I Essential experiences are ones the learner strives to attain upon completion of the various 3D Modeling and Animation Course components. The learner
More information