Computer Graphics - Treasure Hunter
|
|
- Shanon Hudson
- 5 years ago
- Views:
Transcription
1 Computer Graphics - Treasure Hunter CS 4830 Dr. Mihail September 16, Introduction In this assignment you will implement an old technique to simulate 3D scenes called billboarding, sometimes referred to as 2.5D graphics using sprites. A sprite is simply a textured rectangle (two triangles) that is always facing the camera. In other words, regardless of which direction the viewer is looking from, the sprite will be parallel to the view plane. Older games relied on this technique to simulate 3D objects, simply to save computation time, which was required for real-time rendering, especially in games. At a minimum, you will implement a game, which I uninterestingly call Treasure Hunt, where the goal is to navigate through a neighborhood that hides a treasure between many identical houses. The story, goal of the game and graphics are subject to creative enhancement, which I reward with extra credit. During game-play, the canvas should look (at a minimum) like Figure 2. 2 Implementation Details The concept you have to master is the idea of a camera, or, in other words, the location and direction from which the player is looking at the world. The simple projection matrix we derived in class and those generated using the perspective function from MV.js assume the camera s center of projection is on the positive Z-axis, at some focal length d. Vertices from the world are projected on the view plane, that is the XY plane, at z = Geometry In this assignment, you will generate the geometry (billboards) for every frame (or, more efficiently, when changes due to player or enemy movements occur). As the player moves through the world, you will generate the billboard triangles, as they are always parallel to the view plane. Every object in the world has a position, and lives on the XZ plane, at y = 0. An easy way to ensure all billboard triangles are parallel to the XY plane is to set all the vertices z value the same Ground and Sky The sky and ground are each made up of two triangles, and drawn using a different shader. The skyground shader uses the color attribute, while the billboard shader uses the texture coordinate attribute. You have to disable depth testing, draw sky and ground, then enable depth testing and draw everything else, in that order. 1
2 Figure 1: Sample canvas view during game-play Figure 2: World coordinate system and camera. Objects within the near and far clip planes and within the field of view will be displayed on the canvas through a perspective projection onto the view plane at z = 0. The pentagons are the objects which are rendered as billboards using different textures (e.g., house or enemy). 2
3 2.2 Camera When the player moves in the world, the camera is simulated by transforming every vertex of our objects in the world. For example, if the player walks forward to an object, the camera moves closer to the object. Equivalently, we translate (move) the object closer to the camera. Similarly, when the player turns, the direction the camera faces rotates. Equivalently, we can rotate every vertex of our objects in the world around the Y-axis, since our view plane is at z = 0. You will implement two movements: forward/backward and turning left/right. Movement forward is equivalent to translating every vertex by a small positive amount along the Z-axis; movement backward is equivalent to a small negative translation along the Z-axis. Turning left is equivalent to rotating every vertex by a small degree in a clockwise direction. Turning right is equivalent to rotating every vertex by a small degree in a counter-clockwise direction. 3 Program Requirements Your program has to follow the following specifications: Your program has to allow the player to move through the world with at least four controls: forward, backward, turn left and turn right. Your program has to have two shaders. The shaders (written in the HTML file) script tags have an id property that has to be different between shaders. For example one can have the id= vertexshader while another shader can have the id= vertex-shader-skyground. Your world has to contain billboards with at least two different textures. Note that you DO NOT need two texture images. You can put two images side-by-side inside a square texture (using MS Paint or GIMP) with a size of length power of 2. Your triangle texture coordinates can determine which part of the texture image you use for a given billboard. Your world has to have at least 20 billboards. The house billboard is posted on the course webpage. 4 Technical Considerations In order to have the billboards always face the camera, you can keep track of their positions in an array of vec4 s, with the y value as 0. To ensure that some billboards are in the view frustum, you can generate them with x values in the range ( 1, 1) and z values in the range ( 1, 1) as well. The render loop will have the following logic (or something similar): 1. Disable depth testing 2. Draw ground and sky 3. Enable depth testing 4. Create a translation matrix, set to identity 5. If W is pressed, modify the translation matrix to increase the z-values by a small amount 6. If S is pressed, modify the translation matrix to decrease the z-values by a small amount 7. Apply translation to all vertices of the objects in the world 3
4 8. Create a rotation matrix, set it to identity 9. If A is pressed, modify the rotation to include a small clockwise rotation around the Y-axis 10. If D is pressed, modify the rotation to include a small counter-clockwise rotation around the Y-axis 11. Apply rotation matrix to all vertices of the objects in the world 12. Do collision checking and/or other game logic 13. Generate billboard geometry using the positions of the objects in the world 14. Send geometry (vertex attributes such as position, texture coordinate, color) to GPU 15. Draw As you can see above, unless W, S, A or D is pressed, the geometry is transformed using identity matrices, i.e., nothing happens. 5 Useful Functions Below is a function that multiplies a matrix by a column vector, returning a vector. 1 function vecmatmult ( vec, mat ) { 2 var res = vec4 (); 3 res [0] = mat [0][0] * vec [0] + mat [0][1] * vec [1] + mat [0][2] * vec [2] + mat [0][3] * vec [3]; 4 res [1] = mat [1][0] * vec [0] + mat [1][1] * vec [1] + mat [1][2] * vec [2] + mat [1][3] * vec [3]; 5 res [2] = mat [2][0] * vec [0] + mat [2][1] * vec [1] + mat [2][2] * vec [2] + mat [2][3] * vec [3]; 6 res [3] = mat [3][0] * vec [0] + mat [3][1] * vec [1] + mat [3][2] * vec [2] + mat [3][3] * vec [3]; 7 return res ; 8 } Below is a function that creates a quad (billboard) and places it in the world at the position given in the argument. 1 2 function create_ billboard ( position ) { 3 // the vertices define two triangles on the z =0 plane 4 var vertices = [ new vec4 (-1, -1, 0, 1), new vec4 (1, -1, 0, 1), new vec4 (-1, 1, 0, 1), new vec4 (1, -1, 0, 1), new vec4 (-1, 1, 0, 1), new vec4 (1, 1, 0, 1) ]; 5 // we translate the billboard to the position of the object in the world 6 var trans = translate ( position [0], 0, position [ 2]) ; 7 // we shrink it using a scale matrix 8 var sc = scalem (0.02, 0.02, 0. 02) ; 9 // apply the above transformations to all 6 vertices of our billboard 10 for ( var i =0; i <6; i ++) 11 { 12 vertices [i] = vecmatmult ( vertices [i], sc); // scale 13 vertices [i] = vecmatmult ( vertices [i], trans ); // translate 14 } 15 // define texture coordinates 4
5 16 var texturecoords = [ new vec2 (0, 0), new vec2 (1, 0), new vec2 (0, 1), new vec2 (1, 0), new vec2 (0, 1), new vec2 (1, 1) ]; 17 // create an empty object 18 var ret = {}; 19 // add properties to object and return 20 ret. vertices = vertices ; 21 ret. texturecoords = texturecoords ; 22 return ret ; 23 } In MV.js, you will use the following functions: perspective for the perspective projection matrix, rotate for the rotation matrix, translate for translation matrices, and scalem for scale. In Javascript, you can create an array of objects as follows: 1 var myarray = []; 2 for ( var i = 0; i< nrobjects ; i ++) { 3 myarray. push ( new vec4 ( Math. random () * 2-1, 0, Math. random () * 2-1, 1); 4 } 5 myarraylength = myarray. length ; // this is how you get the length of the array Transparency is enabled using the following commands: 1 gl. blendfunc (gl. SRC_ALPHA, gl. ONE_MINUS_SRC_ALPHA ); 2 gl. enable (gl. BLEND ); Depth testing is enabled using the following command: 1 gl. enable (gl. DEPTH_TEST ); 6 Write-up In the write-up you will document the challenges you encountered and how you addressed them. You will also describe the goal of the game and make up a storyline. The write-up has to be a minimum of 1 page single spaced, 12 point font. 7 Due Date This assignment is submitted via the electronic submission form on the course web page (as a zip file) and is due before midnight on Friday, October 2nd. 8 Grading Rubric W and S keys move the camera forward/backward (by translating the positions of objects along the Z-axis) (20 pts) A and D keys rotate the camera left and right (by rotating the positions of objects clockwise and counter-clockwise) (20 pts) Ground and sky are drawn (20 pts) Interaction with the world, e.g., finding an object when you get close to it (20 pts) Write-up (20 pts) 5
6 9 Extra Credit It is possible to earn up to 100% extra credit. You can only get extra credit if the base requirements are met. Creative graphics, game logic and story-line (up to 25%) Billboard texture changes with respect to the angle it makes with the camera view-plane (up to 25%) AIs either chase you or run away from you (up to 25%) Multiple ways of interacting with the world (up to 25%) 6
CS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationCS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.
CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions The Midterm Exam was given in class on Tuesday, October 16, 2012. 1. [7 pts] Synthetic-Camera Model. Describe the Synthetic-Camera Model : how
More informationCMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014
CMSC427: Computer Graphics Lecture Notes Last update: November 21, 2014 TA: Josh Bradley 1 Linear Algebra Review 1.1 Vector Multiplication Suppose we have a vector a = [ x a y a ] T z a. Then for some
More informationCS 559 Computer Graphics Midterm Exam March 22, :30-3:45 pm
CS 559 Computer Graphics Midterm Exam March 22, 2010 2:30-3:45 pm This exam is closed book and closed notes. Please write your name and CS login on every page! (we may unstaple the exams for grading) Please
More informationDrawing in 3D (viewing, projection, and the rest of the pipeline)
Drawing in 3D (viewing, projection, and the rest of the pipeline) CS559 Spring 2016 Lecture 6 February 11, 2016 The first 4 Key Ideas 1. Work in convenient coordinate systems. Use transformations to get
More informationAssignment 1 due 4/13/2017 at 11:59PM Topic: Getting Started with WebGL and Transformations
Virtual Reality EE 267, Spring 2017 Assignment 1 due 4/13/2017 at 11:59PM Topic: Getting Started with WebGL and Transformations Students should use Javascript for this assignment, building on top of the
More informationCiril Bohak. - INTRODUCTION TO WEBGL
2016 Ciril Bohak ciril.bohak@fri.uni-lj.si - INTRODUCTION TO WEBGL What is WebGL? WebGL (Web Graphics Library) is an implementation of OpenGL interface for cmmunication with graphical hardware, intended
More informationC P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev
C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image
More informationLecture 3 Sections 2.2, 4.4. Mon, Aug 31, 2009
Model s Lecture 3 Sections 2.2, 4.4 World s Eye s Clip s s s Window s Hampden-Sydney College Mon, Aug 31, 2009 Outline Model s World s Eye s Clip s s s Window s 1 2 3 Model s World s Eye s Clip s s s Window
More informationAnnouncements. Submitting Programs Upload source and executable(s) (Windows or Mac) to digital dropbox on Blackboard
Now Playing: Vertex Processing: Viewing Coulibaly Amadou & Mariam from Dimanche a Bamako Released August 2, 2005 Rick Skarbez, Instructor COMP 575 September 27, 2007 Announcements Programming Assignment
More informationCS 4620 Program 3: Pipeline
CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.
More informationDrawing in 3D (viewing, projection, and the rest of the pipeline)
Drawing in 3D (viewing, projection, and the rest of the pipeline) CS559 Fall 2016 Lecture 6/7 September 26-28 2016 The first 4 Key Ideas 1. Work in convenient coordinate systems. Use transformations to
More informationViewing with Computers (OpenGL)
We can now return to three-dimension?', graphics from a computer perspective. Because viewing in computer graphics is based on the synthetic-camera model, we should be able to construct any of the classical
More informationShadows in the graphics pipeline
Shadows in the graphics pipeline Steve Marschner Cornell University CS 569 Spring 2008, 19 February There are a number of visual cues that help let the viewer know about the 3D relationships between objects
More informationIntroduction to 3D Concepts
PART I Introduction to 3D Concepts Chapter 1 Scene... 3 Chapter 2 Rendering: OpenGL (OGL) and Adobe Ray Tracer (ART)...19 1 CHAPTER 1 Scene s0010 1.1. The 3D Scene p0010 A typical 3D scene has several
More informationDrawing in 3D (viewing, projection, and the rest of the pipeline)
Drawing in 3D (viewing, projection, and the rest of the pipeline) CS559 Spring 2017 Lecture 6 February 2, 2017 The first 4 Key Ideas 1. Work in convenient coordinate systems. Use transformations to get
More informationModels and Architectures
Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation
More informationGame Architecture. 2/19/16: Rasterization
Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world
More informationCS 432 Interactive Computer Graphics
CS 432 Interactive Computer Graphics Lecture 4 3D Viewing Matt Burlick - Drexel University - CS 432 1 Reading Angel Chapters 3-4 Red Book Chapter 5, Appendix E Matt Burlick - Drexel University - CS 432
More informationRasterization Overview
Rendering Overview The process of generating an image given a virtual camera objects light sources Various techniques rasterization (topic of this course) raytracing (topic of the course Advanced Computer
More informationCS 112 The Rendering Pipeline. Slide 1
CS 112 The Rendering Pipeline Slide 1 Rendering Pipeline n Input 3D Object/Scene Representation n Output An image of the input object/scene n Stages (for POLYGON pipeline) n Model view Transformation n
More informationCMSC427 Final Practice v2 Fall 2017
CMSC427 Final Practice v2 Fall 2017 This is to represent the flow of the final and give you an idea of relative weighting. No promises that knowing this will predict how you ll do on the final. Some questions
More informationWebGL and GLSL Basics. CS559 Fall 2015 Lecture 10 October 6, 2015
WebGL and GLSL Basics CS559 Fall 2015 Lecture 10 October 6, 2015 Last time Hardware Rasterization For each point: Compute barycentric coords Decide if in or out.7,.7, -.4 1.1, 0, -.1.9,.05,.05.33,.33,.33
More informationCS452/552; EE465/505. Models & Viewing
CS452/552; EE465/505 Models & Viewing 2-03 15 Outline! Building Polygonal Models Vertex lists; gl.drawarrays( ) Edge lists: gl.drawelements( )! Viewing Classical Viewing Read: Viewing in Web3D Angel, Section
More informationAnimation Essentially a question of flipping between many still images, fast enough
33(70) Information Coding / Computer Graphics, ISY, LiTH Animation Essentially a question of flipping between many still images, fast enough 33(70) Animation as a topic Page flipping, double-buffering
More informationVirtual Cameras and The Transformation Pipeline
Virtual Cameras and The Transformation Pipeline Anton Gerdelan gerdela@scss.tcd.ie with content from Rachel McDonnell 13 Oct 2014 Virtual Camera We want to navigate through our scene in 3d Solution = create
More informationOne or more objects A viewer with a projection surface Projectors that go from the object(s) to the projection surface
Classical Viewing Viewing requires three basic elements One or more objects A viewer with a projection surface Projectors that go from the object(s) to the projection surface Classical views are based
More informationNotes on Assignment. Notes on Assignment. Notes on Assignment. Notes on Assignment
Notes on Assignment Notes on Assignment Objects on screen - made of primitives Primitives are points, lines, polygons - watch vertex ordering The main object you need is a box When the MODELVIEW matrix
More informationComputer Viewing. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science
Computer Viewing CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce the mathematics of projection Introduce OpenGL viewing functions Look at
More informationHomework 1: Getting Started with WebGL and Transformations EE267 Virtual Reality 2018
Homework 1: Getting Started with WebGL and Transformations EE267 Virtual Reality 2018 Due: 04/12/2018, 11:59pm Instruction Students should use JavaScript for this assignment, building on top of the provided
More informationScene Modeling for a Single View
Scene Modeling for a Single View René MAGRITTE Portrait d'edward James with a lot of slides stolen from Steve Seitz and David Brogan, Breaking out of 2D now we are ready to break out of 2D And enter the
More informationAdvanced Lighting Techniques Due: Monday November 2 at 10pm
CMSC 23700 Autumn 2015 Introduction to Computer Graphics Project 3 October 20, 2015 Advanced Lighting Techniques Due: Monday November 2 at 10pm 1 Introduction This assignment is the third and final part
More informationProject 2: 3D transforms and Cameras
Project : D transforms and Cameras 50pts See schedule on website for the due date and time. The purpose of this assignment is to gain an understanding of how D transforms and viewing works in OpenGL with
More informationCS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.
CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be
More informationthe gamedesigninitiative at cornell university Lecture 14 2D Sprite Graphics
Lecture 14 Drawing Images Graphics Lectures SpriteBatch interface Coordinates and Transforms Drawing Perspective Camera Projections Drawing Primitives Color and Textures Polygons 2 Drawing Images Graphics
More informationScanline Rendering 2 1/42
Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
More informationIntroduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico Models and Architectures
More informationChapter 5. Projections and Rendering
Chapter 5 Projections and Rendering Topics: Perspective Projections The rendering pipeline In order to view manipulate and view a graphics object we must find ways of storing it a computer-compatible way.
More informationMidterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer
Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer The exam consists of 10 questions. There are 2 points per question for a total of 20 points. You
More informationWebGL and GLSL Basics. CS559 Fall 2016 Lecture 14 October
WebGL and GLSL Basics CS559 Fall 2016 Lecture 14 October 24 2016 Review Hardware Rasterization For each point: Compute barycentric coords Decide if in or out.7,.7, -.4 1.1, 0, -.1.9,.05,.05.33,.33,.33
More informationGraphics for VEs. Ruth Aylett
Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading VR software Two main types of software used: off-line authoring or modelling packages
More informationRepresenting 2D Transformations as Matrices
Representing 2D Transformations as Matrices John E. Howland Department of Computer Science Trinity University One Trinity Place San Antonio, Texas 78212-7200 Voice: (210) 999-7364 Fax: (210) 999-7477 E-mail:
More informationSign up for crits! Announcments
Sign up for crits! Announcments Reading for Next Week FvD 16.1-16.3 local lighting models GL 5 lighting GL 9 (skim) texture mapping Modern Game Techniques CS248 Lecture Nov 13 Andrew Adams Overview The
More informationComputer Graphics Coursework 1
Computer Graphics Coursework 1 Deadline Deadline: 4pm, 24/10/2016 4pm 23/10/2015 Outline The aim of the coursework is to modify the vertex and fragment shaders in the provided OpenGL framework to implement
More informationTransforms 3: Projection Christian Miller CS Fall 2011
Transforms 3: Projection Christian Miller CS 354 - Fall 2011 Eye coordinates Eye space is the coordinate system at the camera: x right, y up, z out (i.e. looking down -z) [RTR] The setup Once we ve applied
More informationProject 1, 467. (Note: This is not a graphics class. It is ok if your rendering has some flaws, like those gaps in the teapot image above ;-)
Project 1, 467 Purpose: The purpose of this project is to learn everything you need to know for the next 9 weeks about graphics hardware. What: Write a 3D graphics hardware simulator in your language of
More information6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm
6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm In this assignment, you will add an interactive preview of the scene and solid
More informationGuided Problem Solving
-1 Guided Problem Solving GPS Student Page 57, Exercises 1 1: Match each rule with the correct translation. A. (x, y) (x, y 1 ) I. P(, 1) P (3, ) B. (x, y) (x 1 3, y) II. Q(3, 0) Q (3, ) C. (x, y) (x 1,
More informationDrawing Shapes on a Coordinate Grid
UNIT STUDENT OOK LESSO N Drawing Shapes on a oordinate Grid Quick Review t t Home Sc h o o l To describe the position of a shape on a grid, we use ordered pairs. The numbers in an ordered pair are called
More informationCS 465 Program 5: Ray II
CS 465 Program 5: Ray II out: Friday 2 November 2007 due: Saturday 1 December 2007 Sunday 2 December 2007 midnight 1 Introduction In the first ray tracing assignment you built a simple ray tracer that
More informationComputer Graphics Seminar
Computer Graphics Seminar MTAT.03.305 Spring 2018 Raimond Tunnel Computer Graphics Graphical illusion via the computer Displaying something meaningful (incl art) Math Computers are good at... computing.
More informationIntroduction to 3D Graphics
Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is
More informationSpring 2011 Prof. Hyesoon Kim
Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationCS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo)
CS602 Midterm Subjective Solved with Reference By WELL WISHER (Aqua Leo) www.vucybarien.com Question No: 1 What are the two focusing methods in CRT? Explain briefly. Page no : 26 1. Electrostatic focusing
More informationTSBK03 Screen-Space Ambient Occlusion
TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More informationCS 4620 Midterm 1. Tuesday 22 October minutes
CS 4620 Midterm 1 Tuesday 22 October 2013 90 minutes Problem 1: Transformations (20 pts) Consider the affine transformation on R 3 defined in homogeneous coordinates by the matrix: 1 M = 1 0 0 2 0 1 0
More informationLearning Task: Exploring Reflections and Rotations
Learning Task: Exploring Reflections and Rotations Name Date Mathematical Goals Develop and demonstrate an understanding of reflections and rotations of figures in general and on a coordinate plane. Essential
More informationClassical and Computer Viewing. Adapted From: Ed Angel Professor of Emeritus of Computer Science University of New Mexico
Classical and Computer Viewing Adapted From: Ed Angel Professor of Emeritus of Computer Science University of New Mexico Planar Geometric Projections Standard projections project onto a plane Projectors
More informationMATRIX REVIEW PROBLEMS: Our matrix test will be on Friday May 23rd. Here are some problems to help you review.
MATRIX REVIEW PROBLEMS: Our matrix test will be on Friday May 23rd. Here are some problems to help you review. 1. The intersection of two non-parallel planes is a line. Find the equation of the line. Give
More informationCOMPSCI 372 S2 C - Assignment 2 Due Date: Monday 22nd September 2008, 9.30pm
COMPSCI 372 S2 C - Assignment 2 1 of 8 Computer Science COMPSCI 372 S2 C - Assignment 2 Due Date: Monday 22nd September 2008, 9.30pm This assignment is worth 6.25% of your final grade. In this assignment
More informationOverview. By end of the week:
Overview By end of the week: - Know the basics of git - Make sure we can all compile and run a C++/ OpenGL program - Understand the OpenGL rendering pipeline - Understand how matrices are used for geometric
More informationCSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015
CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window
More informationRendering If we have a precise computer representation of the 3D world, how realistic are the 2D images we can generate? What are the best way to mode
Graphic Pipeline 1 Rendering If we have a precise computer representation of the 3D world, how realistic are the 2D images we can generate? What are the best way to model 3D world? How to render them?
More informationLecture 4. Viewing, Projection and Viewport Transformations
Notes on Assignment Notes on Assignment Hw2 is dependent on hw1 so hw1 and hw2 will be graded together i.e. You have time to finish both by next monday 11:59p Email list issues - please cc: elif@cs.nyu.edu
More informationBillboards!! A texture mapped polygon, which always faces the viewer
38(58) Information Coding / Computer Graphics, ISY, LiTH Billboards A texture mapped polygon, which always faces the viewer 38(58) Billboards 2D images placed on surfaces that are always facing the camera
More informationGraphics for VEs. Ruth Aylett
Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading Runtime VR systems Two major parts: initialisation and update loop. Initialisation
More informationGeometry Unit 1: Transformations in the Coordinate Plane. Guided Notes
Geometry Unit 1: Transformations in the Coordinate Plane Guided Notes Standard: MGSE9 12.G.CO.1 Know precise definitions Essential Question: What are the undefined terms essential to any study of geometry?
More informationCSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018
CSE 167: Introduction to Computer Graphics Lecture #9: Visibility Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018 Announcements Midterm Scores are on TritonEd Exams to be
More informationLab 2-3D Transformations and Vertex Shaders
Lab 2-3D Transformations and Vertex Shaders Support code: /course/cs1230/src/labs/lab02 Demo: /course/cs1230/bin/cs1230_lab02_demo Intro Last week you learned how to draw 2D shapes in OpenGL using VBOs
More informationGraphics 2009/2010, period 1. Lecture 6: perspective projection
Graphics 2009/2010, period 1 Lecture 6 Perspective projection Orthographic vs. perspective projection Introduction Projecting from arbitrary camera positions Orthographic projection and the canonical view
More informationCSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Project 2 due Friday, October 12
More informationEECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing
EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate
More informationComputer graphics 2: Graduate seminar in computational aesthetics
Computer graphics 2: Graduate seminar in computational aesthetics Angus Forbes evl.uic.edu/creativecoding/cs526 Homework 2 RJ ongoing... - Follow the suggestions in the Research Journal handout and find
More informationTransforms 1 Christian Miller CS Fall 2011
Transforms 1 Christian Miller CS 354 - Fall 2011 Transformations What happens if you multiply a square matrix and a vector together? You get a different vector with the same number of coordinates These
More informationCSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation
CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Project 2 due Friday, October 11
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
More informationThe exam begins at 2:40pm and ends at 4:00pm. You must turn your exam in when time is announced or risk not having it accepted.
CS 184: Foundations of Computer Graphics page 1 of 10 Student Name: Class Account Username: Instructions: Read them carefully! The exam begins at 2:40pm and ends at 4:00pm. You must turn your exam in when
More informationEnabling immersive gaming experiences Intro to Ray Tracing
Enabling immersive gaming experiences Intro to Ray Tracing Overview What is Ray Tracing? Why Ray Tracing? PowerVR Wizard Architecture Example Content Unity Hybrid Rendering Demonstration 3 What is Ray
More informationOpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL
OpenGL: Open Graphics Library Introduction to OpenGL Part II CS 351-50 Graphics API ( Application Programming Interface) Software library Layer between programmer and graphics hardware (and other software
More informationCS1950U Setup Spring 2018
CS1950U Topics in 3D Game Engine Development Barbara Meier CS1950U Setup Spring 2018 Introduction Hi there! This guide is designed to help you get setup for taking CS1950U. It will go through the basics
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationRendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane
Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world
More informationCS464 Oct 3 rd Assignment 3 Due 10/6/2017 Due 10/8/2017 Implementation Outline
CS464 Oct 3 rd 2017 Assignment 3 Due 10/6/2017 Due 10/8/2017 Implementation Outline Assignment 3 Skeleton A good sequence to implement the program 1. Start with a flat terrain sitting at Y=0 and Cam at
More informationCS4620/5620: Lecture 14 Pipeline
CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine
More informationRaytracing CS148 AS3. Due :59pm PDT
Raytracing CS148 AS3 Due 2010-07-25 11:59pm PDT We start our exploration of Rendering - the process of converting a high-level object-based description of scene into an image. We will do this by building
More information6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, :05-12pm Two hand-written sheet of notes (4 pages) allowed 1 SSD [ /17]
6.837 Introduction to Computer Graphics Final Exam Tuesday, December 20, 2011 9:05-12pm Two hand-written sheet of notes (4 pages) allowed NAME: 1 / 17 2 / 12 3 / 35 4 / 8 5 / 18 Total / 90 1 SSD [ /17]
More informationPerformance OpenGL Programming (for whatever reason)
Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer
More informationCS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination
CS184 : Foundations of Computer Graphics Professor David Forsyth Final Examination (Total: 100 marks) Figure 1: A perspective view of a polyhedron on an infinite plane. Cameras and Perspective Rendering
More informationCS 4620 Midterm, October 23, 2018 SOLUTION
1. [20 points] Transformations CS 4620 Midterm, October 23, 2018 SOLUTION (a) Describe the action of each of the following matrices, as transformations in homogeneous coordinates, in terms of rotation,
More informationSUMMARY. CS380: Introduction to Computer Graphics Projection Chapter 10. Min H. Kim KAIST School of Computing 18/04/12. Smooth Interpolation
CS38: Introduction to Computer Graphics Projection Chapter Min H. Kim KAIST School of Computing Smooth Interpolation SUMMARY 2 Cubic Bezier Spline To evaluate the function c(t) at any value of t, we perform
More informationDescribe the Orthographic and Perspective projections. How do we combine together transform matrices?
Aims and objectives By the end of the lecture you will be able to Work with multiple transform matrices Describe the viewing process in OpenGL Design and build a camera control APIs Describe the Orthographic
More informationShape & Space Part C: Transformations
Name: Homeroom: Shape & Space Part C: Transformations Student Learning Expectations Outcomes: I can describe and analyze position and motion of objects and shapes by Checking for Understanding identifying
More informationTHE VIEWING TRANSFORMATION
ECS 178 Course Notes THE VIEWING TRANSFORMATION Kenneth I. Joy Institute for Data Analysis and Visualization Department of Computer Science University of California, Davis Overview One of the most important
More informationCS452/552; EE465/505. Intro to Lighting
CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections
More informationCS559 Computer Graphics Fall 2015
CS559 Computer Graphics Fall 2015 Practice Midterm Exam Time: 2 hrs 1. [XX Y Y % = ZZ%] MULTIPLE CHOICE SECTION. Circle or underline the correct answer (or answers). You do not need to provide a justification
More informationProject report Augmented reality with ARToolKit
Project report Augmented reality with ARToolKit FMA175 Image Analysis, Project Mathematical Sciences, Lund Institute of Technology Supervisor: Petter Strandmark Fredrik Larsson (dt07fl2@student.lth.se)
More informationThe Graphics Pipeline and OpenGL IV: Stereo Rendering, Depth of Field Rendering, Multi-pass Rendering!
! The Graphics Pipeline and OpenGL IV: Stereo Rendering, Depth of Field Rendering, Multi-pass Rendering! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 6! stanford.edu/class/ee267/!!
More information