Aston University. School of Engineering & Applied Science



Similar documents
Android and OpenGL. Android Smartphone Programming. Matthias Keil. University of Freiburg

Graphics Pipeline in a Nutshell

CS 4204 Computer Graphics

Introduzione ad OpenGL

OpenGL & Delphi. Max Kleiner. 1/22

Introduction to Computer Graphics

Given a point cloud, polygon, or sampled parametric curve, we can use transformations for several purposes:

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Computer Graphics Labs

Computer Graphics. Anders Hast

3D Viewing. Chapter 7. Projections. 3D clipping. OpenGL viewing functions and clipping planes

OpenGL Shading Language Course. Chapter 5 Appendix. By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com

Graphics Input Primitives. 5. Input Devices Introduction to OpenGL. String Choice/Selection Valuator

Introduction to Computer Graphics Techniques and Applications. Hong Qin Center for Visual Computing (CVC) Stony Brook University

4BA6 - Topic 4 Dr. Steven Collins. Chap. 5 3D Viewing and Projections

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

INTRODUCTION TO RENDERING TECHNIQUES

Lecture Notes. Fundamentals of Computer Graphics. Prof. Michael Langer School of Computer Science McGill University

CS 4204 Computer Graphics

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

Methodology for Lecture. Review of Last Demo

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

A Short Introduction to Computer Graphics

An Introduction to. Graphics Programming

How To Draw A Billiards Ball In Gta 3D With Texture Mapping (Gta 3) On A Computer Or 2D Or Gta 2D (Gt) On Your Computer Or Computer Or Your Computer (Or Your Computer)

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

The Flat Shape Everything around us is shaped

Computer Graphics Labs

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CPIT-285 Computer Graphics

Realtime 3D Computer Graphics Virtual Reality

Computer Graphics (Basic OpenGL, Input and Interaction)

Graphical displays are generally of two types: vector displays and raster displays. Vector displays

Lecture Notes, CEng 477

Computer Graphics Hardware An Overview

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

REMOTE RENDERING OF COMPUTER GAMES

Introduction to GPGPU. Tiziano Diamanti

Surface and Volumetric Data Rendering and Visualization

3D graphic acceleration history and architecture

How To Teach Computer Graphics

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

CIS 536/636 Introduction to Computer Graphics. Kansas State University. CIS 536/636 Introduction to Computer Graphics

Graphic Design. Background: The part of an artwork that appears to be farthest from the viewer, or in the distance of the scene.

Solving Simultaneous Equations and Matrices

Transformations in the pipeline

Math 1050 Khan Academy Extra Credit Algebra Assignment

Visualizing Data: Scalable Interactivity

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Vertex and fragment programs

COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010

DEGREE CURRICULUM COMPUTER GRAPHICS AND MULTIMEDIA Master's Degree in Informatics Enginneering

KEANSBURG SCHOOL DISTRICT KEANSBURG HIGH SCHOOL Mathematics Department. HSPA 10 Curriculum. September 2007

CMSC 427 Computer Graphics 1

Prentice Hall Mathematics: Algebra Correlated to: Utah Core Curriculum for Math, Intermediate Algebra (Secondary)

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Maya 2014 Basic Animation & The Graph Editor

Computer Graphics on Mobile Devices VL SS ECTS

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

12-1 Representations of Three-Dimensional Figures

QCD as a Video Game?

The Rocket Steam Locomotive - Animation

BookTOC.txt. 1. Functions, Graphs, and Models. Algebra Toolbox. Sets. The Real Numbers. Inequalities and Intervals on the Real Number Line

Java game programming. Game engines. Fayolle Pierre-Alain

Pre-Algebra Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems

GeoGebra. 10 lessons. Gerrit Stols

CS 4620 Practicum Programming Assignment 6 Animation

CURRICULUM VITAE EDUCATION:

Visualization methods for patent data

Univers Virtuels. OpenGL : Modélisation / Visualisation. Alexis NEDELEC. Centre Européen de Réalité Virtuelle Ecole Nationale d Ingénieurs de Brest

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks

Exploring Geometric Transformations in a Dynamic Environment Cheryll E. Crowe, Ph.D. Eastern Kentucky University

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

CS 378: Computer Game Technology

Introduction to Computer Graphics

1. Definition of the project. 2. Initial version (simplified texture) 3. Second version (full textures) 5. Modelling and inserting 3D objects

Pro/ENGINEER Wildfire 4.0 Basic Design

Kankakee Community College

Gerrit Stols

CMSC 427 Computer Graphics 1

Chapter 2 - Graphics Programming with JOGL

Jordan Shearer. Portfolio. 1Maya Modeling

NVIDIA GeForce GTX 580 GPU Datasheet

Computer Graphics. Computer graphics deals with all aspects of creating images with a computer

Adding Animation With Cinema 4D XL

Fundamentals of Computer Animation

Basic Problem: Map a 3D object to a 2D display surface. Analogy - Taking a snapshot with a camera

A Virtual Environment for Review and Annotation of Character Animation

Introduction to WebGL

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

Tutorial 9: Skeletal Animation

Transcription:

CS2150 Aston University School of Engineering & Applied Science CS2150: Computer Graphics January Examinations 2010 Date: XXX Time: XXX Instructions to Candidates: 1. Answer Question ONE and any other TWO questions. 2. Question ONE is worth 40 marks, all other questions are worth 30 marks. Materials provided: 1. An Appendix summarising OpenGL commands appears on the final page. Page 1 of 5

COMPULSORY QUESTION 1. a) Define what is meant by the term computer graphics. (3 marks) b) Using a sketch and description, show why it was only possible to view early liquid crystal displays from almost directly in front of the screen? Give TWO recent technologies that have improved viewing angles. c) What is meant by scan conversion? Explain why modern graphics pipelines typically use some variant of the z-buffer algorithm for scan conversion. d) When referring to a 3D object we talk about its geometric, topological and attribute properties. In computer graphics terms, to what do these relate? (3 marks) e) When considering the 2D display of 3D computer graphics what is meant by the projection plane? Using a sketch and description, show how a projection plane can be specified. f) Explain the roles of the GL_PROJECTION and GL_MODELVIEW matrices in the OpenGL rendering pipeline. g) List FOUR possible interactions of light with a material surface and explain how OpenGL represents these. (8 marks) h) What are the differences between object precision and image precision approaches to visible surface determination? Give ONE example where image precision methods might be faster. Page 2 of 5

2. This question refers to OpenGL. An appendix showing the OpenGL API calls can be found at the end of this paper. a) Describe the role of OpenGL in computer graphics. (3 marks) b) Write a renderscene() method to draw a flat red square of size 2 by 2 in world coordinates in the x,z plane, with the square centre positioned at location (0,2,-10). Provide a sketch of the object in world coordinates. Use of clear style will be given extra marks and you may assume that all supporting functionality used in the graphics labs is available. (17 marks) c) Show the changes to the renderscene() method such that the red square from (b) could be made to bounce up and down by 5 units along the y-axis when the program starts. Write the associated updatescene() method that would also be required, and document any other changes needed to the Java class. (10 marks) 3. a) Show how a simple 2D translation of (-1,5) can be represented as a transformation matrix. Apply this transformation matrix to the vertex (4,3), and give the resulting vertex in homogeneous coordinates. b) The vertex resulting from (a) must also be scaled by a non-uniform scaling of 2 in the x direction, and 0.5 in the y direction. Show the composite transformation matrix for these two transformations, and use this to compute the coordinates of the translated and scaled vertex. (7 marks) c) In what circumstances might it be useful to compute an inverse transformation matrix? Give the inverse of the composite transformation matrix computed in (b). d) Explain the role of the matrix stack in OpenGL and explain how it could be used to construct hierarchical models of objects we wish to display. What is the relation of the matrix stack to a scene graph? (8 marks) e) Describe TWO methods that can be used to define animations in computer graphics using OpenGL, and for each give ONE advantage of that approach. Page 3 of 5

4. a) Using a sketch and description, show the typical design of a video controller which generates the appropriate horizontal and vertical position signals for a display device. b) Using a sketch and description, show a single address space graphics system architecture (sometimes called an integrated architecture). What benefits does the single address space graphics system have over the commonly used alternatives? (10 marks) c) Describe THREE methods that could be used in the graphics system to speed up the processing of the geometric computations that are common in 3D computer graphics. (9 marks) d) Describe what full screen anti-aliasing is and suggest how this could be implemented on a graphics system. 5. a) Describe the colour model normally used in computer graphics. (3 marks) b) List the TWO main methods OpenGL uses to define the colour of objects in a scene. List ONE benefit for each approach. c) Explain the role that textures play in the rendering pipeline. At what stage in the rendering pipeline are they applied? d) Show, using a sketch and description, how texture mapping works, and show how this is implemented in OpenGL. (12 marks) e) Give TWO examples of recently introduced techniques in modern rendering pipelines and explain how each increases visual realism. Page 4 of 5

Appendix A: OpenGL commands. void glbegin ( GLenum mode ) void glbindtexture( GL_TEXTURE_2D, * ) void glcolor3# ( * R, * G, * B ) void glend ( void ) void glflush ( void ) void glfrustum ( float left, float right, float bottom, float top, float znear, float zfar ) void gllightfv ( GLenum light, GLenum pname, float params[] ) void gllinewidth ( float width ) void glloadidentity ( void ) void glmaterialfv ( GLenum face, GLenum mname, float params[] ) void glmatrixmode ( GLenum mmode ) void glnormal3# (* x, * y, * z ) void glpointsize ( float size ) void glpolygonmode ( GLenum face, GLenum polymode ) void glpopmatrix ( void ) void glpushmatrix ( void ) void glrotate# (* angle, * x, * y, * z ) void glscale# (* x, * y, * z ) void glshademodel ( GLenum shademode ) void gltexcoord2f( * x, * y ) void gltranslate# (* x, * y, * z ) void glvertex # ( * ) void glulookat ( float eyex, float eyey, float eyez, float centerx, float centery, float centerz, float upx, float upy, float upz ) # indicates one of f, i, fv, iv. indicates an integer in the range 2, 3, 4. * indicates a type float, int. Enumerated types: face: GL_FRONT, GL_BACK, GL_FRONT_AND_BACK. light: GL_LIGHTi. mname: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_SHININESS. mode: GL_POINTS, GL_LINES, GL_TRIANGLES, GL_QUADS, GL_POLYGON. mmode: GL_MODELVIEW, GL_PROJECTION. pname: GL_AMBIENT, GL_DIFFUSE, GL_SPECULAR, GL_POSITION. polymode: GL_POINT, GL_LINE, GL_FILL. shademode: GL_FLAT, GL_SMOOTH. END OF EXAMINATION PAPER Page 5 of 5