The Graphics Pipeline and OpenGL I: Overview and Transformations!
|
|
- Cornelia Campbell
- 7 years ago
- Views:
Transcription
1 !! The Graphics Pipeline and OpenGL I: Overview and Transformations! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 2! stanford.edu/class/ee267/! March 30, 2016!
2 Logistics Update! office hours (instructor): Mondays, 4:30-5:30pm, Packard 236! office hours (CA): Wednesdays, 2-3pm, Packard 001! homework submission through gradescope, instructions in the pdf!
3 Albrecht Dürer, Underweysung der Messung mit dem Zirckel und Richtscheyt, 1525!
4 Lecture Overview! what is computer graphics?! the graphics pipeline! primitives: vertices, edges, triangles!! model transforms: translations, rotations, scaling! view transform! perspective projection! OpenGL! Outlook: rotations with quaterions!!
5 blender.org!
6 blender.org!
7 What is Computer Graphics?! at the most basic level: conversion from 3D scene description to 2D image! what do you need to describe a static scene?! 3D geometry and transformations! lights! material properties! most common geometry primitives in graphics:! vertices (3D points) and normals (unit-length vector associated with vertex)! triangles (set of 3 vertices, high-resolution 3D models have M or B of triangles)!
8 ! The Graphics Pipeline! blender.org! geometry + transformations! cameras and viewing! lighting and shading! rasterization! texturing!
9 Some History! Stanford startup in 1981! computer graphics goes hardware! based on Jim Clark s geometry engine!
10 Some History!
11 The Graphics Pipeline! monolithic graphics workstations of the 80s have been replaced by modular GPUs (graphics processing units); major companies: Nvidia, AMD, Intel! early versions of these GPUs implemented fixed-function rendering pipeline in hardware! GPUs have become programmable starting in the late 90s! e.g. in 2001 Nvidia GeForce 3 = first programmable shaders! now: GPUs = programmable (e.g. OpenGL, CUDA, OpenCL) processors!
12 The Graphics Pipeline! GPU = massively! parallel processor!
13 OpenGL is our interface to the GPU! The Graphics Pipeline! right: old-school OpenGL state machine! today s lecture: vertex transforms! I had this poster hanging on my dorm wall during undergrad!
14 The Graphics Pipeline! frame buffer: dedicated memory for screen pixels + X! oftentimes have multiple frame buffers (i.e. offscreen buffers)! render into frame buffers, then send to monitor!
15 The Graphics Pipeline!
16 The Graphics Pipeline! 1. Vertex Processing: Process and transform individual vertices. 2. Rasterization: Convert each primitive (connected vertices) into a set of fragments. A fragment can be treated as a pixel in 3D spaces, which is aligned with the pixel grid, with attributes such as position, color, normal and texture.! 3.! Fragment Processing: Process individual fragments.! 4.! Output Merging: Combine the fragments of all primitives (in 3D space) into 2D color-pixel for the display.!
17 The Graphics Pipeline! 1. Vertex Processing: Process and transform individual vertices. 2. Rasterization: Convert each primitive (connected vertices) into a set of fragments. A fragment can be treated as a pixel in 3D spaces, which is aligned with the pixel grid, with attributes such as position, color, normal and texture.! 3.! Fragment Processing: Process individual fragments.! 4.! Output Merging: Combine the fragments of all primitives (in 3D space) into 2D color-pixel for the display.!
18 The Graphics Pipeline! vertex shader! fragment shader! transforms & (pervertex) lighting! texturing! (per-fragment) lighting!
19 Coordinate Systems! right hand coordinate system! a few different coordinate systems:! object coordinates! world coordinates! viewing coordinates! also clip, normalized device, and window coordinates! wikipedia!
20 Primitives! vertex = 3D point v(x,y,z)! triangle = 3 vertices! normal = 3D vector per vertex describing surface orientation n(n x,n y,n z )! n 2 n 3 v 3 v 2 n 1 v 1
21 Pixels v Fragments! fragments have rasterized 2D coordinates on screen but a lot of other attributes too (texture coordinates, depth value, alpha value, )! pixels appear on screen! won t discuss in more detail today!
22 Vertex Transforms!
23 Vertex Transforms! vertex/normal! transforms!
24 Vertex Transforms! 1. Arrange the objects (or models, or avatar) in the world (Model Transformation or World transformation).
25 Vertex Transforms! 1. Arrange the objects (or models, or avatar) in the world (Model Transformation or World transformation). 2. Position and orientation the camera (View transformation).
26 Vertex Transforms! 1. Arrange the objects (or models, or avatar) in the world (Model Transformation or World transformation). 2. Position and orientation the camera (View transformation). 3. Select a camera lens (wide angle, normal or telescopic), adjust the focus length and zoom factor to set the camera's field of view (Projection transformation).
27 Vertex Transforms! 1. Arrange the objects (or models, or avatar) in the world (Model Transformation or World transformation). 2. Position and orientation the camera (View transformation). 3. Select a camera lens (wide angle, normal or telescopic), adjust the focus length and zoom factor to set the camera's field of view (Projection transformation). 4. Print the photo on a selected area of the paper (Viewport transformation) - in rasterization stage
28 Model Transform!! x $ transform each vertex v = # y & from object coordinates to world coordinates! " # z % &
29 Model Transform - Scaling! x transform each vertex v = y from object coordinates to world coordinates! z 1. scaling as 3x3 matrix! S(s x,s y,s z ) = s x s y s z scaled vertex = matrix-vector product:! Sv = s x s y s z x y z = s x x s y y s z z
30 Model Transform - Rotation! x transform each vertex v = y from object coordinates to world coordinates! z 2. rotation as 3x3 matrix! R z (θ) = cosθ sinθ 0 sinθ cosθ R x (θ) = cosθ sinθ 0 sinθ cosθ R y (θ) = cosθ 0 sinθ sinθ 0 cosθ rotated vertex = matrix-vector product, e.g.! R z v = cosθ sinθ 0 sinθ cosθ x y z = x cosθ ysinθ xsinθ + ycosθ z
31 Model Transform - Translation! transform each vertex from object coordinates to world coordinates! v = x y z 3. translation cannot be represented as 3x3 matrix!! x y z + d x d y d z = x + d x y + d y z + d z that s unfortunate L!
32 Model Transform - Translation! solution: use homogeneous coordinates, vertex is! v = x y z 1 3. translation is 4x4 matrix! T (d) = d x d y d z better J! Tv = d x d y d z x y z 1 = x + d x x + d y x + d z 1
33 Summary of Homogeneous Matrix Transforms!!!! translation! scale! T (d) = S(s) = d x d y d z s x s y s z rotation! R z (θ) = cosθ sinθ 0 0 sinθ cosθ R x = cosθ sinθ 0 0 sinθ cosθ R y = cosθ 0 sinθ sinθ 0 cosθ Read more:
34 Summary of Homogeneous Matrix Transforms!!!! d x d y translation T (d) = inverse translation! d z s x s y 0 0 scale S(s) = inverse scale! 0 0 s z T 1 (d) = T ( d) = d x d y d z / s x S 1 (s) = S 1 s 0 1/ s = y / s z cosθ sinθ 0 0 sinθ cosθ rotation R z (θ) = inverse rotation! R 1 z (θ) = R z ( θ ) = cos θ sin θ 0 0 sin θ cos θ Read more:
35 Summary of Homogeneous Matrix Transforms!!! successive transforms:! inverse successive transforms:! v' = T S R z R x T v v = ( T S R z R x T ) 1 v' = T 1 R x 1 R z 1 S 1 T 1 v' Read more:
36 !! Summary of Homogeneous Matrix Transforms! homogeneous representation of a vector, e.g. normal:! successive transforms:! inverse successive transforms:! n' = T S R z R x T n ( ) T n' n = ( T S R z R x T ) 1 ( ) T ( S 1 ) T 1 ( R z ) T 1 ( R x ) T ( T 1 ) T n' = T 1 n = n x n y n z 0 Read more:
37 Attention!! rotations and translations (or transforms in general) are not commutative!! make sure you get the correct order!!
38 View Transform! so far we discussed model transforms, e.g. going from object or model space to world space!
39 View Transform! so far we discussed model transforms, e.g. going from object or model space to world space! one simple 4x4 transform matrix is sufficient to go from world space to camera or view space!
40 !!!! View Transform! specify camera by!! eye x $ # & eye position! eye = # eye y & # eye & " z %! # reference position! center = # # "! up x $ # & up vector! up = # up y & # " up & z % center x center y center z $ & & & %
41 !!!! View Transform! specify camera by! eye x eye position! eye = eye y eye z reference position! center = up x up vector! up = up y up z center x center y center z compute 3 vectors:! z c = x c = eye center eye center up zc up z c y c = z c x c
42 !! View Transform! view transform M is translation into eye position,! followed by rotation! compute 3 vectors:! z c = x c = eye center eye center up zc up z c y c = z c x c
43 !! View Transform! view transform M is translation into eye position,! followed by rotation! M = R T ( e) = x x c y x c z x c x y c y y c z y c x z c y z c z z c eye x eye y eye z compute 3 vectors:! z c = x c = eye center eye center up zc up z c y c = z c x c
44 !! View Transform! view transform M is translation into eye position,! followed by rotation! M = R T ( e) = c x x c x y c x z c y x c y y c y z c z x c z y c z z eye x eye y eye z = c x x c x y c x z c y x c y y c y z c z x c z y c z z x c x eye x x c y eye y x c z eye z
45 View Transform! in camera/view space, the camera is at the origin, looking into negative z! modelview matrix is combined model (rotations, translations, scales) and view matrix!
46 View Transform! in camera/view space, the camera is at the origin, looking into negative z! up e z x z x vodacek.zvb.cz!
47 Projection Transform! similar to choosing lens and sensor of camera specify field of view and aspect!
48 Projection Transform - Perspective Projection! fovy: vertical angle in degrees! aspect: ratio of width/height! znear: near clipping plane (relative from cam)! zfar: far clipping plane (relative from cam)! f = cot( fovy / 2) # % % % M proj = % % % $ % f aspect f 0 0 znear + zfar 2 " zfar " znear 0 0 znear! zfar znear! zfar 0 0!1 0 & ( ( ( ( ( ( ' ( projection matrix!
49 Modelview Projection Matrix! put it all together with 4x4 matrix multiplications!! v clip = M proj! M view! M model!v = M proj! M mv!v vertex in clip space! projection matrix! modelview matrix!
50 Clip Space!
51 Normalized Device Coordinates (NDC)! not in previous illustration! get to NDC by perspective division! from: OpenGL Programming Guide!! # # v clip = # # # " x clip y clip z clip w clip $ & & & & & %! # v NDC = # # " # x clip / w clip y clip / w clip z clip / w clip 1 $ & & & % & vertex in clip space! vertex in NDC!
52 Viewport Transform! also in matrix form (let s skip the details)! from: OpenGL Programming Guide!! # v NDC = # # " # x clip / w clip y clip / w clip z clip / w clip 1 $ & & & % &! # v window = # # # " x window y window z window 1 $ & & & & % ( ) ( ) '( 0,1) ' 0,win _ width (1 ' 0,win _ height (1 vertex in NDC! vertex in window coords!
53 The Graphics Pipeline Another Illustration!
54 OpenGL and GLM! OpenGL: cross-platform application program interface (API) to the GPU! GLM: OpenGL Mathematics header-only library for all matrix calculations J! In this class, we will only use GLM!! Robert (TA) will do C/VisualStudio/OpenGL/GLM tutorial in Lab 1 (this Friday)! Lab 1 and HW 1 is for you to get started with OpenGL and GLM!
55 GLM!
56 Note on Rotations with Quaternions! successive rotations around each axis are most common, but sometimes problematic! axis and angle representation is an alternative! can be conveniently represented by quaternion (extension of complex numbers to 3 imaginary values)! get back to that later, so stay tuned!!
57 The Graphics Pipeline! all vertex transforms from today!
58 ! The Graphics Pipeline! assign fixed color (e.g. red) to each vertex in window coordinates (fragment)! interpolate (i.e. rasterize) lines between vertices (as defined by user)!
59 and we can almost do this! Nintendo Virtual Boy Game Red Alarm!
60 Summary! graphics pipeline is a series of operations that takes 3D vertices/normals/ triangles as input and generates fragments and pixels! today, we only discussed a small part of it: vertex (and normal) transforms! transforms include: rotation, scale, translation, perspective projection, perspective division, and viewport transform! most transforms are represented as 4x4 matrices in homogeneous coordinates à know your matrices & be able to use GLM to create, manipulate, invert them!!
61 Next Lecture: Lighting and Shading, Fragment Processing! vertex shader! fragment shader! transforms & (pervertex) lighting! texturing! (per-fragment) lighting!
62 ! Further Reading! good overview of OpenGL (deprecated version) and graphics pipeline (missing a few things) :! textbook: Shirley and Marschner Fundamentals of Computer Graphics, AK Peters, 2009! definite reference: OpenGL Programming Guide aka OpenGL Red Book!
Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg
Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
More informationHow To Teach Computer Graphics
Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/
More 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 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 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 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 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 informationIntroduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software
GPU Computing Numerical Simulation - from Models to Software Andreas Barthels JASS 2009, Course 2, St. Petersburg, Russia Prof. Dr. Sergey Y. Slavyanov St. Petersburg State University Prof. Dr. Thomas
More informationComputer Graphics Hardware An Overview
Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and
More informationCOMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies
COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke
More informationIntroduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,
More 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 informationGraphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011
Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis
More informationShader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group
Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control
More informationReal-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university
Real-Time Realistic Rendering Michael Doggett Docent Department of Computer Science Lund university 30-5-2011 Visually realistic goal force[d] us to completely rethink the entire rendering process. Cook
More informationL20: GPU Architecture and Models
L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.
More informationOpenGL Performance Tuning
OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer
More informationGPGPU Computing. Yong Cao
GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power
More informationGUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1
Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website
More informationA 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 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 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 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 informationThe Future Of Animation Is Games
The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director cwang@1-apple.com.tw The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores
More informationThe Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA
The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques
More informationCOMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010
COMP-557: 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 informationAndroid and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg
Android and OpenGL Android Smartphone Programming Matthias Keil Institute for Computer Science Faculty of Engineering 16. Dezember 2013 Outline 1 OpenGL Introduction 2 Displaying Graphics 3 Interaction
More informationCUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS
ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut
More informationGPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith
GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex
More informationComputer Graphics on Mobile Devices VL SS2010 3.0 ECTS
Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,
More informationCPIT-285 Computer Graphics
Department of Information Technology B.S.Information Technology ABET Course Binder CPIT-85 Computer Graphics Prepared by Prof. Alhasanain Muhammad Albarhamtoushi Page of Sunday December 4 0 : PM Cover
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 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 informationIntroduction to GPU Programming Languages
CSC 391/691: GPU Programming Fall 2011 Introduction to GPU Programming Languages Copyright 2011 Samuel S. Cho http://www.umiacs.umd.edu/ research/gpu/facilities.html Maryland CPU/GPU Cluster Infrastructure
More informationGeometric Camera Parameters
Geometric Camera Parameters What assumptions have we made so far? -All equations we have derived for far are written in the camera reference frames. -These equations are valid only when: () all distances
More informationDynamic Resolution Rendering
Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying
More information4BA6 - Topic 4 Dr. Steven Collins. Chap. 5 3D Viewing and Projections
4BA6 - Topic 4 Dr. Steven Collins Chap. 5 3D Viewing and Projections References Computer graphics: principles & practice, Fole, vandam, Feiner, Hughes, S-LEN 5.644 M23*;-6 (has a good appendix on linear
More informationComputer Graphics Labs
Computer Graphics Labs Abel J. P. Gomes LAB. 2 Department of Computer Science and Engineering University of Beira Interior Portugal 2011 Copyright 2009-2011 All rights reserved. LAB. 2 1. Learning goals
More informationCourse Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.
CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation
More 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 informationCIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics
2 Lecture Outline Animation 2 of 3: Rotations, Quaternions Dynamics & Kinematics William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre
More informationNVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality
Hardware Announcement ZG09-0170, dated March 31, 2009 NVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality Table of contents 1 At a glance 3
More informationGeometric algebra rotors for skinned character animation blending
Geometric algebra rotors for skinned character animation blending briefs_0080* QLB: 320 FPS GA: 381 FPS QLB: 301 FPS GA: 341 FPS DQB: 290 FPS GA: 325 FPS Figure 1: Comparison between animation blending
More informationw = COI EYE view direction vector u = w ( 010,, ) cross product with y-axis v = w u up vector
. w COI EYE view direction vector u w ( 00,, ) cross product with -ais v w u up vector (EQ ) Computer Animation: Algorithms and Techniques 29 up vector view vector observer center of interest 30 Computer
More informationBeyond 2D Monitor NVIDIA 3D Stereo
Beyond 2D Monitor NVIDIA 3D Stereo Agenda Basics of 3D Stereo on a PC NVIDIA GeForce 3D Stereo Drivers Maximizing 3D Stereo in Your Game 3D Stereoscopic Has Gone Mainstream Agenda Basics of 3D Stereo on
More informationAdvanced Visual Effects with Direct3D
Advanced Visual Effects with Direct3D Presenters: Mike Burrows, Sim Dietrich, David Gosselin, Kev Gee, Jeff Grills, Shawn Hargreaves, Richard Huddy, Gary McTaggart, Jason Mitchell, Ashutosh Rege and Matthias
More 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 object-oriented programming language (such as
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 informationCS 4204 Computer Graphics
CS 4204 Computer Graphics 2D and 3D Transformations Doug Bowman Adapted from notes by Yong Cao Virginia Tech 1 Transformations What are they? changing something to something else via rules mathematics:
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 informationGPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology
GPUs Under the Hood Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology Bandwidth Gravity of modern computer systems The bandwidth between key components
More informationGPU Architecture. Michael Doggett ATI
GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super
More 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 informationProgrammable Graphics Hardware
Programmable Graphics Hardware Alessandro Martinelli alessandro.martinelli@unipv.it 6 November 2011 Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline
More 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 informationHow To Learn To Program In Csc 406 Computer Graphics
CSC 406 Computer Graphics Fall 2011 1 CSC 406 Computer Graphics Geometry, Modeling, and Animation Fall 2011 Lectures Tyler Hall, Room 052 Monday, 6:30-9:15 PM Professor Jean-Yves Hervé Tyler Hall, Room
More informationInstitution : Majmaah University. Academic Department : College of Science at AzZulfi. Programme : Computer Science and Information Course :
Institution : Majmaah University. Academic Department : College of Science at AzZulfi. Programme : Computer Science and Information Course : Computer Graphics (CSI-425) Course Coordinator : Mr. ISSA ALSMADI
More informationRadeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008
Radeon GPU Architecture and the series Michael Doggett Graphics Architecture Group June 27, 2008 Graphics Processing Units Introduction GPU research 2 GPU Evolution GPU started as a triangle rasterizer
More informationTWO-DIMENSIONAL TRANSFORMATION
CHAPTER 2 TWO-DIMENSIONAL TRANSFORMATION 2.1 Introduction As stated earlier, Computer Aided Design consists of three components, namely, Design (Geometric Modeling), Analysis (FEA, etc), and Visualization
More informationWriting Applications for the GPU Using the RapidMind Development Platform
Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...
More informationICS : 435. Computer Graphics Applications. Instructor : Da'ad Albalawneh
ICS : 435 Computer Graphics Applications Instructor : Da'ad Albalawneh Course Outline Applications CAD/CAM, Art, Entertainment, Education, Training, Visualization, GUI, Image Processing. Overview of Computer
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics Version 1.1, January 2016 David J. Eck Hobart and William Smith Colleges This is a PDF version of a free, on-line book that is available at http://math.hws.edu/graphicsbook/.
More informationUsing Photorealistic RenderMan for High-Quality Direct Volume Rendering
Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam cjam@sdsc.edu Mike Bailey mjb@sdsc.edu San Diego Supercomputer Center University of California San Diego Abstract With
More 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 informationHardware design for ray tracing
Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex
More informationColor correction in 3D environments Nicholas Blackhawk
Color correction in 3D environments Nicholas Blackhawk Abstract In 3D display technologies, as reviewers will say, color quality is often a factor. Depending on the type of display, either professional
More informationCS 4620 Practicum Programming Assignment 6 Animation
CS 4620 Practicum Programming Assignment 6 Animation out: Friday 14th November 2014 due: : Monday 24th November 2014 1 Introduction In this assignment, we will explore a common topic in animation: key
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 informationGraphical displays are generally of two types: vector displays and raster displays. Vector displays
Display technology Graphical displays are generally of two types: vector displays and raster displays. Vector displays Vector displays generally display lines, specified by their endpoints. Vector display
More informationUniversity of Tampere Computer Graphics 2013 School of Information Sciences Exercise 2 7.2.2013
University of Tampere Computer Graphics 2013 School of Information Sciences Exercise 2 7.2.2013 1. We can get the minmum of parabola f(x) = ax 2 + bx + c,a > 0,, when f (x) = 0. In this case x has the
More informationA Crash Course on Programmable Graphics Hardware
A Crash Course on Programmable Graphics Hardware Li-Yi Wei Abstract Recent years have witnessed tremendous growth for programmable graphics hardware (GPU), both in terms of performance and functionality.
More informationVideo Game Programming ITP 380 (4 Units)
Video Game Programming ITP 380 (4 Units) Objective This course provides students with an in-depth introduction to technologies and techniques used in the game industry today. At semester s end, students
More information3D Modeling and Simulation using Image Stitching
3D Modeling and Simulation using Image Stitching Sean N. Braganza K. J. Somaiya College of Engineering, Mumbai, India ShubhamR.Langer K. J. Somaiya College of Engineering,Mumbai, India Pallavi G.Bhoite
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 informationHow To Run A Factory I/O On A Microsoft Gpu 2.5 (Sdk) On A Computer Or Microsoft Powerbook 2.3 (Powerpoint) On An Android Computer Or Macbook 2 (Powerstation) On
User Guide November 19, 2014 Contents 3 Welcome 3 What Is FACTORY I/O 3 How Does It Work 4 I/O Drivers: Connecting To External Technologies 5 System Requirements 6 Run Mode And Edit Mode 7 Controls 8 Cameras
More informationTEACHING GRAPHICS PROGRAMMING ON MOBILE DEVICES
TEACHING GRAPHICS PROGRAMMING ON MOBILE DEVICES Michael Werner Department of Computer Science and Networking Wentworth Institute of Technology Boston, MA 02115 617-989-4143 wernerm@wit.edu ABSTRACT This
More informationOverview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions
Module 4: Beyond Static Scalar Fields Dynamic Volume Computation and Visualization on the GPU Visualization and Computer Graphics Group University of California, Davis Overview Motivation and applications
More informationVisualizing Data: Scalable Interactivity
Visualizing Data: Scalable Interactivity The best data visualizations illustrate hidden information and structure contained in a data set. As access to large data sets has grown, so has the need for interactive
More informationWe can display an object on a monitor screen in three different computer-model 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 informationAdvanced Graphics and Animations for ios Apps
Tools #WWDC14 Advanced Graphics and Animations for ios Apps Session 419 Axel Wefers ios Software Engineer Michael Ingrassia ios Software Engineer 2014 Apple Inc. All rights reserved. Redistribution or
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 informationChapter 2 - Graphics Programming with JOGL
Chapter 2 - Graphics Programming with JOGL Graphics Software: Classification and History JOGL Hello World Program 2D Coordinate Systems in JOGL Dealing with Window Reshaping 3D Coordinate Systems in JOGL
More informationPerformance Optimization and Debug Tools for mobile games with PlayCanvas
Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with
More information1. INTRODUCTION Graphics 2
1. INTRODUCTION Graphics 2 06-02408 Level 3 10 credits in Semester 2 Professor Aleš Leonardis Slides by Professor Ela Claridge What is computer graphics? The art of 3D graphics is the art of fooling the
More 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 information3D Stereoscopic Game Development. How to Make Your Game Look
3D Stereoscopic Game Development How to Make Your Game Look Like Beowulf 3D 3D Stereoscopic Has Gone 3D Stereoscopic Has Gone Mainstream 3D Enabled Cinemas are Growing 1200 1000 800 600 400 200 0 2005
More informationOptimization for DirectX9 Graphics. Ashu Rege
Optimization for DirectX9 Graphics Ashu Rege Last Year: Batch, Batch, Batch Moral of the story: Small batches BAD What is a batch Every DrawIndexedPrimitive call is a batch All render, texture, shader,...
More 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 informationLow power GPUs a view from the industry. Edvard Sørgård
Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today
More informationComp 410/510. Computer Graphics Spring 2016. Introduction to Graphics Systems
Comp 410/510 Computer Graphics Spring 2016 Introduction to Graphics Systems Computer Graphics Computer graphics deals with all aspects of creating images with a computer Hardware (PC with graphics card)
More informationHow To Draw A 3D Virtual World In 3D Space (Computer Graphics)
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 informationOptimizing AAA Games for Mobile Platforms
Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo
More 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 informationOpenGL & Delphi. Max Kleiner. http://max.kleiner.com/download/openssl_opengl.pdf 1/22
OpenGL & Delphi Max Kleiner http://max.kleiner.com/download/openssl_opengl.pdf 1/22 OpenGL http://www.opengl.org Evolution of Graphics Assembler (demo pascalspeed.exe) 2D 3D Animation, Simulation (Terrain_delphi.exe)
More informationNVIDIA GeForce GTX 580 GPU Datasheet
NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet 3D Graphics Full Microsoft DirectX 11 Shader Model 5.0 support: o NVIDIA PolyMorph Engine with distributed HW tessellation engines
More informationA. OPENING POINT CLOUDS. (Notepad++ Text editor) (Cloud Compare Point cloud and mesh editor) (MeshLab Point cloud and mesh editor)
MeshLAB tutorial 1 A. OPENING POINT CLOUDS (Notepad++ Text editor) (Cloud Compare Point cloud and mesh editor) (MeshLab Point cloud and mesh editor) 2 OPENING POINT CLOUDS IN NOTEPAD ++ Let us understand
More informationLecture Notes. Fundamentals of Computer Graphics. Prof. Michael Langer School of Computer Science McGill University
COMP 557 Winter 2015 Lecture Notes Fundamentals of Computer Graphics Prof. Michael Langer School of Computer Science McGill University NOTE: These lecture notes are dynamic. The initial version of the
More informationComputer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang
Introduction Computer Graphics Instructor: Yung-Yu Chuang ( 莊 永 裕 ) E-mail: c@csie.ntu.edu.tw Office: CSIE 527 Grading: a MatchMove project Computer Science ce & Information o Technolog og Yung-Yu Chuang
More informationTegra Android Accelerometer Whitepaper
Tegra Android Accelerometer Whitepaper Version 5-1 - Contents INTRODUCTION 3 COORDINATE SPACE GLOSSARY 4 ACCELEROMETER CANONICAL AXES 6 WORKING WITH ACCELEROMETER DATA 7 POWER CONSERVATION 10 SUPPORTING
More information