Problem Max. Points Total 80

Similar documents
Total 80

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CSE 167: Introduction to Computer Graphics Lecture #11: Visibility Culling

Exercise Max. Points Total 80

CSE 167: Introduction to Computer Graphics Lecture #9: Visibility. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2018

Exercise Max. Points Total 90

CSE 167: Introduction to Computer Graphics Lecture 11: Scene Graph 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture #8: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

Topics and things to know about them:

Homework #2. Hidden Surfaces, Projections, Shading and Texture, Ray Tracing, and Parametric Curves

CSE 167: Lecture 11: Textures 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CS559 Computer Graphics Fall 2015

Culling. Computer Graphics CSE 167 Lecture 12

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1

Computer Graphics I Lecture 11

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

CS 4620 Midterm, March 21, 2017

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

EECS 487, Fall 2005 Exam 2

CS 381 Computer Graphics, Fall 2012 Midterm Exam Solutions. The Midterm Exam was given in class on Tuesday, October 16, 2012.

CSE 167: Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Introduction to Computer Graphics Lecture #9: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture #4: Vertex Transformation

TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)

CSE 167: Introduction to Computer Graphics Lecture #9: Scene Graph. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016

CSE Intro to Computer Graphics. ANSWER KEY: Midterm Examination. November 18, Instructor: Sam Buss, UC San Diego

CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CHAPTER 1 Graphics Systems and Models 3

CSE 167: Introduction to Computer Graphics Lecture #8: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2016

Computergrafik. Matthias Zwicker. Herbst 2010

Computer Graphics I. Midterm Examination. October 23, This is a closed-book exam; only one double-sided sheet of notes is permitted.

Curves D.A. Forsyth, with slides from John Hart

CS 130 Exam I. Fall 2015

CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Pipeline Operations. CS 4620 Lecture 14

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

CSE 167: Lecture #4: Vertex Transformation. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Intro to Ray-Tracing & Ray-Surface Acceleration

Assignment 6: Ray Tracing

Topic 10: Scene Management, Particle Systems and Normal Mapping. CITS4242: Game Design and Multimedia

CSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

COMP3421. Global Lighting Part 2: Radiosity

CS 130 Exam I. Fall 2015

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

MA 323 Geometric Modelling Course Notes: Day 14 Properties of Bezier Curves

Consider a partially transparent object that is illuminated with two lights, one visible from each side of the object. Start with a ray from the eye

The University of Calgary

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

CSE 167: Lecture #17: Procedural Modeling. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CS Computer Graphics: Introduction to Ray Tracing

CS Computer Graphics: Introduction to Ray Tracing

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

CS 4620 Final Exam. (a) Is a circle C 0 continuous?

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

COMP environment mapping Mar. 12, r = 2n(n v) v

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

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

CS559 Computer Graphics Fall 2015

Illumination and Geometry Techniques. Karljohan Lundin Palmerius

INFOGR Computer Graphics. J. Bikker - April-July Lecture 11: Visibility. Welcome!

Speeding up your game

Curves. Computer Graphics CSE 167 Lecture 11

Shadow Algorithms. CSE 781 Winter Han-Wei Shen

Real-Time Shadows. Last Time? Textures can Alias. Schedule. Questions? Quiz 1: Tuesday October 26 th, in class (1 week from today!

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Homework #2. Shading, Projections, Texture Mapping, Ray Tracing, and Bezier Curves

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th

TDA361/DIT220 Computer Graphics, January 15 th 2016

Graphics for VEs. Ruth Aylett

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Deferred Rendering Due: Wednesday November 15 at 10pm

Ray Tracing. CPSC 453 Fall 2018 Sonny Chan

Chapter 23- UV Texture Mapping

Curves and Surfaces 1

CS 464 Review. Review of Computer Graphics for Final Exam

Introduction to Visualization and Computer Graphics

CS4620/5620: Lecture 14 Pipeline

Central issues in modelling

LOD and Occlusion Christian Miller CS Fall 2011

Computer Science 426 Midterm 3/11/04, 1:30PM-2:50PM

CS3621 Midterm Solution (Fall 2005) 150 points

CS 4620 Program 3: Pipeline

Advanced 3D Game Programming with DirectX* 10.0

Recollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

Opaque. Flowmap Generator 3

CSE 167: Lecture #17: Volume Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Lahore University of Management Sciences. CS 452 Computer Graphics

Homework 3: Shading, Raytracing, and Image Processing

For each question, indicate whether the statement is true or false by circling T or F, respectively.

Transcription:

University of California San Diego Department of Computer Science CSE167: Introduction to Computer Graphics Fall Quarter 2017 Midterm Examination #2 Tuesday, November 21 st, 2017 Instructor: Dr. Jürgen P. Schulze Name: Your answers must include all steps of your derivations, or points will be deducted. This is closed book exam. You may not use electronic devices, notes, textbooks or other written materials. Good luck! Do not write below this line Problem Max. Points 1 10 2 10 3 10 4 10 5 10 6 10 7 10 8 10 Total 80

1) Scene Graph (10 Points) The figure above illustrates a mini solar system. Given the partial source code below, complete the rest for this solar system. Use the function addchild( ). For example, Translation1.addChild(Rotation1); Sun = new Sun(); Moon = new Moon(); World = new Transform( ); PlanetA = new Planet( A ); PlanetB = new Planet( B ); Rotation1 = new Transform( ); Translation1 = new Transform( ); Rotation2 = new Transform( ); Translation2 = new Transform( ); Rotation3 = new Transform( ); Translation3 = new Transform( );

2) Performance Optimization (10 Points) For each of the following rendering performance optimization strategies answer the questions: What type of geometry is being optimized? What is the optimization strategy? a) 2D impostors (2 points) b) Adaptive mesh resolution (2 points) c) Small object culling (2 points) d) Backface culling (2 points) e) Hierarchical culling with bounding volumes (2 points)

3) View Frustum Culling (10 Points) Given a camera at the origin and a view frustum made up of left, right, top, bottom, near, and far planes, as in the picture below: A robot named Robert is shaped like a sphere of radius 1m. Robert becomes invisible when he is outside the view frustum and the shortest distance from its center to the nearest plane view frustum plane becomes more than its radius. So at the exact moment of intersection, Robert is visible. a) At t = 0s, Robert is at (0m, 1m, 3m). Robert moves at the rate of (0, 0, -1m) per second. So at t = 1 s, Robert is at (0m, 1m, 2m). When will we see Robert for the first time and when will we see Robert for the last time? (5 points)

b) Robert has a robot friend named Albert. Albert is also shaped like a sphere of radius 1m and is visible under the same conditions as Robert. At t = 0s, Albert is at (9m, 1m, 2m). Albert moves at the rate of (-2m, 0, 0) per second. So at t = 1s, Albert is at (7m, 1m, 2m). Will Robert and Albert be able to see each other (i.e., both are visible) at some point? If so, how long can they see each other? (5 points)

4) Parametric Curves (10 Points) Consider the two points P0 and P1. There exists another point Q that lies on the straight line connecting P0 and P1. a) Write an equation to represent Q in terms of P0, P1 and a parameter t. (2 points) b) In class, we discussed three ways to write the equations for parametric curves: as a linear interpolation between points, as a linear polynomial, and in matrix form. Give the equation for Q from part a) in all three ways. (3 points) 1. Linear interpolation: 2. Linear polynomial: 3. Matrix form: c) What are the two values of t at which Q would equal P0 and P1? (2 points) d) Calculate the tangent at Q. (2 points) e) Does the tangent vary at every Q(t)? Why/why not? (1 point)

5) Bezier Curves (10 Points) You are a fitting specialist at an upscale clothing store. But not just any clothing store, you work for Bezier Britches, a boutique shop known for selling the finest of bottoms to the busiest of Bezier business men. Your one and only job is to help busy Bezier business men find a pair of britches that best fits. Sounds easy? In comes Bobby the Bezier Curve. Bobby needs a pair of britches, and fast. But he's so busy that he doesn't even know where his waist is! Before you can properly size him you'll need to find his waist. Here is what he tells you. Fill in the blanks with the correct terms. (2 points): He's a Bezier curve, which means he has 4 points and is a degree (=order) polynomial. His waist is at t = 0.5. His points in order are: <0, 8>, <8, 8>, <8, 0>, <0, 0> Given the above, you first make an estimate using De Casteljau's algorithm (2 points): Estimate: (, ) Now you have a general idea of where his waist is, but you don't work at just any clothing store, you work at Bezier Britches. Here accuracy is top priority, so an estimate won't cut it. You'll have to solve for his waist directly. Looking at your fitter's manual, you find an equation that looks like it'll do the trick: Using the equation above, and what you know about Bobby, solve for his waist. Show work. (5 points): Your estimate and the actual position should be quite close, why? (1 point)

6) Joining Curves (10 Points) Equations of two curves Q and R are given as follows: Q(t) = (1 + t 2 )P1 + (5t 5t 2 )P2 + t 2 P3. R(t) = (1 + t 2 )P3 + (5t 5t 2 )P4 + t 2 P5. For both the curves 0 <= t <= 1. Pn are the control points. a) Are both curves C0 continuous at Q(1) and R(0)? Explain. (5 points) b) Are they both C1 continuous at Q(1) and R(0)? Explain. (5 points)

7) Environment Mapping (10 Points) a) What is the purpose of Environment Mapping? (2 points) b) Which two types of geometries for environment maps did we discuss in class? Name one advantage for each of them that it has over the other. (4 points) c) With environment mapping, is it easier to render metallic or diffuse objects? Explain why. (2 points) d) Name two particularly computationally expensive operations that are part of the environment mapping algorithm, which can be done efficiently in a GLSL shader because special shader commands are available. (2 points)

8) Cubic Environment Maps (10 Points) Given a cubic environment map and a light direction vector (x,y,z) on the surface of an object which uses this environment map for pure specular reflection (mirror-like), you need to figure out the color of the pixel to draw on the screen. a) The light direction vector can be viewed as a ray intersecting the cubic environment map. How can you calculate which face the ray intersects? (3 points) b) What are the coordinates of the intersection within that face? (3 points) c) How do you get the (u,v) coordinates for the environment map texture associated with this face? (2 points) d) Now we add another object to the scene, this time one with a diffuse surface. We still want to use the same cubic environment map for shading. What is the fundamental difference between the shading algorithm for the diffuse surface and that for specular surfaces? Explain your answer. (2 points)