Image-based Rendering Ref: RTRv2. 2 Introduction Sprite, billboard, overview.

Slides:



Advertisements
Similar presentations
Using 2D sprite with OpenGL 2003 team Koguyue. Overview Motivation and basic concepts Advantages with using OpenGL Basic requirements of implementation.
Advertisements

Lecture 8 Transparency, Mirroring
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
Projective Texture Mapping
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Part I: Basics of Computer Graphics
Real-Time Rendering SPEACIAL EFFECTS Lecture 03 Marina Gavrilova.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Hokkaido University Efficient Rendering of Lightning Taking into Account Scattering Effects due to Clouds and Atmospheric Particles Tsuyoshi Yamamoto Tomoyuki.
18.1 Si31_2001 SI31 Advanced Computer Graphics AGR Lecture 18 Image-based Rendering Light Maps What We Did Not Cover Learning More...
Image-Based Techniques Hierarchical Image Caching Michael Chung.
Background Caches for Large Outdoor Scenes Bill Hess.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
1 Chapter 5 Viewing. 2 Perspective Projection 3 Parallel Projection.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Week 1 - Friday.  What did we talk about last time?  C#  SharpDX.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
Computer Graphics Mirror and Shadows
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
CS 638, Fall 2001 Today Light Mapping (Continued) Bump Mapping with Multi-Texturing Multi-Pass Rendering.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Sky Rendering The actual physics is very complicated and costly to calculate. Several cheap approaches for very distant skies: –Constant backdrop –Skybox.
02/26/02 (c) 2002 University of Wisconsin, CS 559 Last Time Canonical view pipeline Orthographic projection –There was an error in the matrix for taking.
Computer Graphics World, View and Projection Matrices CO2409 Computer Graphics Week 8.
Image Synthesis Rabie A. Ramadan, PhD 2. 2 Java OpenGL Using JOGL: Using JOGL: Wiki: You can download JOGL from.
Buffers Textures and more Rendering Paul Taylor & Barry La Trobe University 2009.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Chapter 6 Special Effects 강 신 진강 신 진
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Homogeneous Form, Introduction to 3-D Graphics Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Monday, October 20,
Emerging Technologies for Games Alpha Sorting and “Soft” Particles CO3303 Week 15.
CS 638, Fall 2001 Multi-Pass Rendering The pipeline takes one triangle at a time, so only local information, and pre-computed maps, are available Multi-Pass.
Image-based Rendering. © 2002 James K. Hahn2 Image-based Rendering Usually based on 2-D imagesUsually based on 2-D images Pre-calculationPre-calculation.
OpenGL Conclusions OpenGL Programming and Reference Guides, other sources CSCI 6360/4360.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Realtime NPR Toon and Pencil Shading Joel Jorgensen May 4, 2010.
Implementation II.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Sky Boxes and Vector Math 2 Course Information CVG: Programming 4 My Name: Mark Walsh Website:
Basic Perspective Projection Watt Section 5.2, some typos Define a focal distance, d, and shift the origin to be at that distance (note d is negative)
Recap: General Occlusion Culling l When cells and portals don’t work… –Trees in a forest –A crowded train station l Need general occlusion culling algorithms:
03/31/03© 2003 University of Wisconsin Last Time Image-Based Rendering for Architecture and Faces.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © Visible Surface Determination (VSD) To render or not to render, that is the question… 1 of.
LOD Unresolved Problems The LOD algorithms discussed previously do not perform well with large amounts of visible objects Consider a large number of tress.
11/24/ :45 Graphics II Shadow Maps Reflections Session 5.
Computer Graphics I, Fall 2010 Implementation II.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke.
09/23/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Reflections Shadows Part 1 Stage 1 is in.
3D Ojbects: Transformations and Modeling. Matrix Operations Matrices have dimensions: Vectors can be thought of as matrices: v=[2,3,4,1] is a 1x4 matrix.
Introduction to Computer Graphics
- Introduction - Graphics Pipeline
Computer Graphics Implementation II
Discrete Techniques.
Week 7 - Monday CS361.
Week 11 - Wednesday CS361.
Image-Based Rendering
CSCE 441 Computer Graphics 3-D Viewing
Modeling 101 For the moment assume that all geometry consists of points, lines and faces Line: A segment between two endpoints Face: A planar area bounded.
Extreme Graphical Simplification
Using billboards within games
Week 11 - Monday CS361.
Presentation transcript:

Image-based Rendering Ref: RTRv2

2 Introduction Sprite, billboard, overview

3 Ridge Racer (Namco)

4 Techniques Sprite: A small image, often used in animated games but also sometimes used as a synonym for icon. World-aligned billboards Cylinderical and spherical Impostors

5 See-Thru Textures (aka, cutouts) Test  of transparent part Enable alphatest

6 Definition (Billboard) A textured polygon always rotated to face the viewer Two kinds: Cylindrical: for cylindrically symmetric objects (e.g., trees) Spherical: for spherically symmetric objects (e.g., smoke)

7 Assumptions For cylindrical billboards: In OpenGL coordinate system the scene is on XZ plane View Up is Y-axis Viewer need not stay on XZ plane

8 Cylindrical Billboard x z n b v (Vx, Vy, Vz)

9 Spherical billboards x y z b p v pypy p xz    Rotate about localY  = acos (n,p xz ) Rotate about localX  = acos (p xz,p) Watch out for signs of angles

10 Where is the camera? For any reason (e.g., cylindrical billboard), you want to know where camera is, just remember that the eye coordinate of the camera is always at the origin [facing – Z] Model Transform Viewing Transform Modelview Matrix world coordinates

11 Finding Up Direction Spherical Viewer up

12 Screen/World Aligned Billboards Billboards Real spheres

13 Screen-aligned Billboard v: [0,0,1] in eye coord. Transform into world coord. v n During each frame: Rotate every n into v

Billboard Cloud for Extreme Model Simplification (url)url 14

15 Application: (Quasi-)Impostor Impostor: render 3D object into texture, in various viewing angles Instead of showing the facet model, show a polygon with correct texture

16 Impostor-2 Usually textures are stored in a single texture object, to avoid repeated binding Use texture transform to switch to the correct one glGetIntegerv (GL_MAX_TEXTURE_SIZE, &size)

17 Impostors A billboard created on the fly rendering a complex object from the current viewpoint into an image texture, then post on a billboard)

18 Impostors (Schaufler) The top of figure 1 shows an object for which an imposter is generated together with its bounding box, which is used to bound the extent of the object’s picture. The imposter is chosen to lie in the plane P through the object center C normal to the direction from C to the point of view V (normal to n as shown at the bottom of figure 1). The extent of the imposter is taken as the smallest rectangle in P which contains the projection of the object’s bounding box onto P

19 Impostors (cont) Idea: Project the bounding box of the object to determine size of impostor polygon Issues Alignment (texture placement) Texture resolution Invalid impostor (require regeneration)

20 Impostors (cont) Rendering speed depends on the number of pixels Usage: A few instances of the object A few frames of the object (strategy for updating imposters) Rendering distant objects  Movement of project image diminishes with an increased distance from viewer  Image lowpass filtered to create depth-of-field effect

21 Impostor: texture resolution

22 Impostors Regeneration Schaufler  tex,  trans, or  size   scr

23 Problem of Billboard

24 Coherent Layers (Lengyel and Snyder, 1997) Hand animators use layers to reduce the number of cells to draw One layer for background, one for middle ground, one for character, … Background layers need to be changed less frequently than foreground, slow moving less frequently than fast moving, … Layers are composited as a final step Coherent layers was designed to work with hardware that supports fast compositing and layer warping Approach: Break scene into layers by hand At run-time, warp some layers, re-render others Composite the layers into the frame buffer (back to front)

25 Chicken Run (80 layers)

26 Depth Sprites (Nailboards)

27 Nailboards (cont)

28 Hierarchical Image Caching Use impostors in a hierarchy for better performance Partition the scene into a hierarchy of boxes and create an impostor for each box Rerendering: done only when one or more of its children ’ s impostors need to be updated due to movements.

29 Full-screen Billboarding Not really “ billboard ” per se; just something that covers the whole screen Blend in front (camera) flash effects Night vision goggle high fill rate vs. changing colors of every polygon Stencil buffer technique to create video effects (iris in Adobe Premiere) Background: sky in flight simulators Move the background as the car moves