Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques 2002.05.08 Presented by SooKyun Kim.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

15.1 Si23_03 SI23 Introduction to Computer Graphics Lecture 15 – Visible Surfaces and Shadows.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Optimized Stencil Shadow Volumes
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Computer Graphics methods
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Hidden Surface Removal 고려대학교 컴퓨터 그래픽스 연구실.
Visibility Culling using Hierarchical Occlusion Maps Hansong Zhang, Dinesh Manocha, Tom Hudson, Kenneth E. Hoff III Presented by: Chris Wassenius.
4.4. L EVEL OF D ETAIL Exploration of 3D mesh level-of-detail approaches.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
Content Subdivision First some basics (control point polygon, mesh)
Level of Detail CS184-Sp05 Section. Level of Detail Basic Idea –Use simpler versions of an object as it makes less of a contribution Generation –How to.
Visualization and graphics research group CIPIC Feb 18, 2003Multiresolution (ECS 289L) - Winter Progressive Meshes (SIGGRAPH ’96) By Hugues Hoppe.
Visualization and graphics research group CIPIC February 13, 2003ECS289L – Multiresolution Methods – Winter Illumination Dependent Refinement of.
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.
Computer Graphics Shadows
Hidden Surface Removal
Afrigraph 2004 Massive model visualization Tutorial A: Part I Rasterization Based Approaches Andreas Dietrich Computer Graphics Group, Saarland University.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
Computer Graphics Mirror and Shadows
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Modeling and representation 2 – the economics of polygon meshes 3.1 Compressing polygonal models 3.2 Compressing the geometry (information per vertex)
University of Illinois at Chicago Electronic Visualization Laboratory (EVL) CS 426 Intro to 3D Computer Graphics © 2003, 2004, 2005 Jason Leigh Electronic.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
Dynamic Meshing Using Adaptively Sampled Distance Fields
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
02/18/05© 2005 University of Wisconsin Last Time Radiosity –Converting the LTE into the radiosity equation –Solving with Gauss-Seidel relaxation –Form.
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Image Synthesis Rabie A. Ramadan, PhD 1. 2 About my self Rabie A. Ramadan My website and publications
Hidden Surface Removal 1.  Suppose that we have the polyhedron which has 3 totally visible surfaces, 4 totally invisible/hidden surfaces, and 1 partially.
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.
Implementation II.
Mesh Coarsening zhenyu shu Mesh Coarsening Large meshes are commonly used in numerous application area Modern range scanning devices are used.
1 Polygonal Techniques 이영건. 2 Introduction This chapter –Discuss a variety of problems that are encountered within polygonal data sets The.
Image Synthesis Rabie A. Ramadan, PhD 4. 2 Review Questions Q1: What are the two principal tasks required to create an image of a three-dimensional scene?
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Emerging Technologies for Games Deferred Rendering CO3303 Week 22.
Computer Graphics Blending CO2409 Computer Graphics Week 14.
Graphics Graphics Korea University cgvr.korea.ac.kr Lighting, Fogging, Alpha Blending & Progressive Meshes Byeong-Seon Jeong
Image-based Rendering Ref: RTRv2. 2 Introduction Sprite, billboard, overview.
LOD Unresolved Problems The LOD algorithms discussed previously do not perform well with large amounts of visible objects Consider a large number of tress.
Computer Graphics I, Fall 2010 Implementation II.
Computer Graphics Inf4/MSc 1 Computer Graphics Lecture 5 Hidden Surface Removal and Rasterization Taku Komura.
Graphics, Modeling, and Textures Computer Game Design and Development.
1 Geometry for Game. Geometry Geometry –Position / vertex normals / vertex colors / texture coordinates Topology Topology –Primitive »Lines / triangles.
Model Optimization Wed Nov 16th 2016 Garrett Morrison.
Computer Graphics Implementation II
Week 12 - Thursday CS361.
Real-time Walkthrough of Virtual Space using Environment Map
Photorealistic Rendering vs. Interactive 3D Graphics
Week 2 - Friday CS361.
CS475 3D Game Development Level Of Detail Nodes (LOD)
Implementation II Ed Angel Professor Emeritus of Computer Science
Chap 10. Geometric Level of Detail
Implementation II Ed Angel Professor Emeritus of Computer Science
Presentation transcript:

Graphics Graphics Korea University cgvr.korea.ac.kr 1 7. Speed-up Techniques Presented by SooKyun Kim

CGVR Graphics Korea University cgvr.korea.ac.kr 2 Overview Impostors Nailboards Hierarchical Image Caching Level of Detail Discrete Geometry LODs Alpha LODs Geomorph LODs LOD Management Triangle Strips, Fans, and Meshes Strips Fans Creating Strips

CGVR Graphics Korea University cgvr.korea.ac.kr 3 Impostors What is the Impostors? An image of a complex object that is texture-mapped onto a rectangle Impostors are sometimes called sprites Pre-rendered images of three-dimensional objects  Faster to draw than the object  Closely resemble the object Imaging is opaque where is present

CGVR Graphics Korea University cgvr.korea.ac.kr 4 Impostors Impostor should be reused for several viewpoints located close together Figure 1. use impostors to accelerate cloud rendering

CGVR Graphics Korea University cgvr.korea.ac.kr 5 Impostors Figure 2. At the left an impostor is created of the object in the bounding box. At the right the center of the impostor is equal to the center of the bounding box, and the normal points directly toward the viewpoint

CGVR Graphics Korea University cgvr.korea.ac.kr 6 Impostors Resolution of the texture Do not exceed the screen resolution One limit to the usefulness of an impostor is its resolution If distance impostor comes closer, the individual pixels of texture may become obvious  Illusion breaks down Figure 3. the angle of a screen pixel is computed as B scr =fov/screenres, and the angle for the texture is computed similarly

CGVR Graphics Korea University cgvr.korea.ac.kr 7 Impostors Consider regenerating an impostor in case where the viewer moves Figure 4. the left part illustrates the overestimate of the error angle B trans, and the right part shows the overestimate of B size. when any of these angles becomes greater than B scr, the impostor needs to be regenerated

Graphics Graphics Korea University cgvr.korea.ac.kr 8 Nailboards

CGVR Graphics Korea University cgvr.korea.ac.kr 9 Nailboards What is the Nailboards ? With a depth buffer of the same size as the impostor texture  RGB +  Store the depth deviation from the nailboard polygon to the correct depth of the geometry Nailboards contain localized depth information

CGVR Graphics Korea University cgvr.korea.ac.kr 10 Nailboards Figure 5. a simple scene rendered with geometry what if impostors are created and used for the cube, the cylinder, and the cone Uses two bits for depth deviation Uses eight bits for depth deviation

Graphics Graphics Korea University cgvr.korea.ac.kr 11 Hierarchical Image Caching

CGVR Graphics Korea University cgvr.korea.ac.kr 12 Hierarchical Image Caching Uses impostors arranged in a hierarchy of better performance Basic Idea Partition the scene into a hierarchy of boxes create an impostor for each box Hierarchically create impostors for the parents in the partitioning Impostors are updated hierarchically The scene is partitioned by a BSP tree

Graphics Graphics Korea University cgvr.korea.ac.kr 13 Level of Detail

CGVR Graphics Korea University cgvr.korea.ac.kr 14 Level of Detail Basic idea Level of Detail (LODs)  Use simpler versions of an object as it gets farther from the viewer Example  Detailed car : 10,000 triangles  Viewer is close to the car  detailed car (10,000 triangles)  Object is farther away  Simplified car (100 triangles) Faces: 69,451 Faces: 2,502 Faces: 251 Faces: 76

Graphics Graphics Korea University cgvr.korea.ac.kr 15 Discrete Geometry LODs

CGVR Graphics Korea University cgvr.korea.ac.kr 16 Discrete Geometry LODs Figure 6. here we show three different levels of detail for a car chair

CGVR Graphics Korea University cgvr.korea.ac.kr 17 Discrete Geometry LODs Popping Effect Switch occurs during rendering it is usually noticeable and not very natural  Reduce the Popping  Morph between two consecutive models in the LOD sequence 2,000faces 10,000faces 50,000faces Pop

Graphics Graphics Korea University cgvr.korea.ac.kr 18 Alpha LODs

CGVR Graphics Korea University cgvr.korea.ac.kr 19 Alpha LODs Simple method Avoids popping altogether is to use alpha LODs User-defined distance that determines when an object shall start to be more and more transparent Advantage Avoids popping Disadvantage The object totally disappears

CGVR Graphics Korea University cgvr.korea.ac.kr 20 Alpha LODs Figure 7. The left part of this illustration shows how ranged-based LODs work. The right part shows how alpha LODs work

CGVR Graphics Korea University cgvr.korea.ac.kr 21 Alpha LODs Figure 8. The cone in the middle is rendered using an alpha LOD. The transparency of the cone is increased when the distance to it increase, and it finally disappears.

Graphics Graphics Korea University cgvr.korea.ac.kr 22 Geomorph LODs

CGVR Graphics Korea University cgvr.korea.ac.kr 23 Geomorph LODs Mesh simplification Create various LOD models from a single complex object Approach (discrete LODs) Create a set of discrete LODs Geomorph LODs Instead of using blending to transition from one model to the next  A set of models created by simplification  Edge collapse methods  Discuss Section 9.4

Graphics Graphics Korea University cgvr.korea.ac.kr 24 LOD Management

CGVR Graphics Korea University cgvr.korea.ac.kr 25 LOD Management It is feature of a rendering system to have a constant frame rate Adapts the selection of the level of detail for all visible objects in a scene to meet the requirement of constant frame rate Predictive Selects the detail level of the visible objects based on desired frame rate and on which objects are visible

CGVR Graphics Korea University cgvr.korea.ac.kr 26 LOD Management Gives (O,L) for each object Object : O Rendered at a level of detail : L Estimate the cost of rendering an object at a certain level of detail Cost(O,L) Estimates the benefit of an object rendered at a certain level of detail Benefit(O,L)

CGVR Graphics Korea University cgvr.korea.ac.kr 27 LOD Management Main idea Optimize the selection of the LODs for the objects S Under the constraint Select for the objects the level of detail that gives us “the best image” within the desired frame rate

CGVR Graphics Korea University cgvr.korea.ac.kr 28 LOD Management Cost function Estimate how long it takes to render an object (O,L) Dependent on  Graphics Hardware, number of polygons…  Coefficients c 1, c 2 and c 3 Benefit function Benefit(O,L)=Size(O)*Accuracy(O,L)*Importance(O)* Focus(O)*Motion(O)*Hysteresis(O,L)

Graphics Graphics Korea University cgvr.korea.ac.kr 29 Triangle Strips, Fans, and Meshes

CGVR Graphics Korea University cgvr.korea.ac.kr 30 Triangle Strips, Fans, and Meshes To increase graphics performance is to send fewer than three vertices per triangle to the graphics pipeline Two popular methods of using less data, namely triangle strips and triangles fans Converting a triangle mesh into triangle stripes

Graphics Graphics Korea University cgvr.korea.ac.kr 31 Strips

CGVR Graphics Korea University cgvr.korea.ac.kr 32 Strips How would it possible to describe a triangle with less than three vertices? Not to describe one triangle at a time, but instead to give a sequence of connected triangles Figure 9. Here an image was rendered with different target frame rates. The target rate for the top row was 10Hz, for the middle row 20Hz, and for the bottom row 50Hz.

CGVR Graphics Korea University cgvr.korea.ac.kr 33 Strips Figure 10. A sequence of triangles that can be represented as one triangle strip. after sending vertices v 0, v 1, and v 2 for triangle T 0, it suffices to send one vertex per triangle and reuse the previous two vertices from the previous triangle in the triangle strip

CGVR Graphics Korea University cgvr.korea.ac.kr 34 Strips Swap Swaps the order of the two latest vertices  Triangle strips with swaps are called generalized triangle strips Implemented by resending a vertex A swap is better than restarting Figure 11. we would have to a send to the graphics pipeline, to use these triangle as a strip.

Graphics Graphics Korea University cgvr.korea.ac.kr 35 Fans

CGVR Graphics Korea University cgvr.korea.ac.kr 36 Fans The vertex shared by all triangles is called the center vertex Another kind of set of connected triangles Figure 12. the left figure illustrates the concept of a triangle fan. Triangle T 0 sends vertices v 0 (the center vertex), v 1, and v 2. the subsequent triangles. T i (i>0), send only vertex v i+2

Graphics Graphics Korea University cgvr.korea.ac.kr 37 Creating Strips

CGVR Graphics Korea University cgvr.korea.ac.kr 38 Creating Strips Given an arbitrary triangle mesh Decomposed efficiently into triangle strips and fans  Graphics Library  pfdMeshGSet from Performer  opTriStripper from Optimizer Two methods for constructing triangle strips from polygonal models SGI algorithm STRIPE

CGVR Graphics Korea University cgvr.korea.ac.kr 39 Creating Strips Figure 13. the left image shows some surfaces of a car in wireframe mode. The right image shows the same model, but here each triangle strip has been randomly colored.

CGVR Graphics Korea University cgvr.korea.ac.kr 40 The SGI Algorithm Works for fully triangulated models Contains polygons with than three vertices, then triangulated before being fed into the triangle strip creation code Algorithms  Starts by choosing an arbitrary triangle of lowest degree  Degree : the number of neighbors of a polygon

CGVR Graphics Korea University cgvr.korea.ac.kr 41 The STRIPE Algorithm Figure 14. a patch of a rectangular region of quads. The largest patch in this polygon set is marked in grey. The STRIP algorithm then turns the largest patch into a triangle strip, and finally extends the start and the end of the triangle strip as much as possible.

CGVR Graphics Korea University cgvr.korea.ac.kr 42 The STRIPE Algorithm Figure 15. Each quad is triangulated in order to allow a long triangle strip to be formed.