WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)

Slides:



Advertisements
Similar presentations
Lapped textures Emil Praun Adam Finkelstein Hugues Hoppe
Advertisements

Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Normal Map Compression with ATI 3Dc™ Jonathan Zarge ATI Research Inc.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Graphics Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Week 7 - Monday.  What did we talk about last time?  Specular shading  Aliasing and antialiasing.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Graphics Hardware and Software Architectures
A Hardware-Assisted Hybrid Rendering Technique for Interactive Volume Visualization Brett Wilson Kwan-Liu Ma University of California, Davis Patrick S.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
Adaptive Streaming and Rendering of Large Terrains using Strip Masks Joachim Pouderoux and Jean-Eudes Marvie IPARLA Project (LaBRI – INRIA Futurs) University.
Raster Data in ArcSDE 8.2 Why Put Images in a Database? What are Basic Raster Concepts? How Raster data stored in Database?
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University.
LYU0603 A Generic Real-Time Facial Expression Modelling System Supervisor: Prof. Michael R. Lyu Group Member: Cheung Ka Shun ( ) Wong Chi Kin ( )
Order-Independent Texture Synthesis Li-Yi Wei Marc Levoy Gcafe 1/30/2003.
Texture Mapping CPSC /24/03 Abhijeet Ghosh.
CMPT 300: Final Review Chapters 8 – Memory Management: Ch. 8, 9 Address spaces Logical (virtual): generated by the CPU Physical: seen by the memory.
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Computer Organization and Architecture
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.
Adaptive Streaming and Rendering of Large Terrains: a Generic Solution WSCG 2009 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes,
Spatial data Visualization spatial data Ruslan Bobov
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 8: Main Memory.
Cosc 3P92 Week 9 & 10 Lecture slides
Topics covered: Memory subsystem CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Test Of Distributed Data Quality Monitoring Of CMS Tracker Dataset H->ZZ->2e2mu with PileUp - 10,000 events ( ~ 50,000 hits for events) The monitoring.
Computer Graphics Texture Mapping
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
Cg Programming Mapping Computational Concepts to GPUs.
Matrices from HELL Paul Taylor Basic Required Matrices PROJECTION WORLD VIEW.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
Computer Graphics I, Fall 2008 Introduction to Computer Graphics.
Pattern Based Procedural Textures Sylvain Lefebvre Fabrice Neyret iMAGIS - GRAVIR / IMAG - INRIA
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Damian Gordon. HARD DISK (MAIN MEMORY) (SECONDARY MEMORY) 2 CACHE 1.
1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
Review of OpenGL Basics
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
Efficient Streaming of 3D Scenes with Complex Geometry and Complex Lighting Romain Pacanowski and M. Raynaud X. Granier P. Reuter C. Schlick P. Poulin.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Using wavelets on the XBOX360 For current and future games San Francisco, GDC 2008 Mike Boulton Senior Software Engineer Rare/MGS
Memory Hierarchy. Hierarchy List Registers L1 Cache L2 Cache Main memory Disk cache Disk Optical Tape.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
1 Angel: Interactive Computer Graphics5E © Addison- Wesley 2009 Image Formation Fundamental imaging notions Fundamental imaging notions Physical basis.
Antigone Engine. Introduction Antigone = “Counter Generation” Library of functions for simplifying 3D application development Written in C for speed (compatible.
Lectures 8 & 9 Virtual Memory - Paging & Segmentation System Design.
© Copyright 3Dlabs, Page 1 - PROPRIETARY & CONFIDENTIAL Virtual Textures Texture Management in Silicon Chris Hall Director, Product Marketing 3Dlabs.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
From VIC (VRVS) to ViEVO (EVO) 3 years of experiences with developing of video application VIC for VRVS allowed us to develop a new video application.
- Introduction - Graphics Pipeline
Ying Zhu Georgia State University
The Graphics Rendering Pipeline
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Chapter 8: Main Memory.
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
CSE 381 – Advanced Game Programming Terrain
Main Memory Background Swapping Contiguous Allocation Paging
COMP755 Advanced Operating Systems
Page Main Memory.
Presentation transcript:

WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)

WSCG 2007 Summary Introduction Previous aproaches Hardware independent clipmapping –Structure overview –Updating –Rendering Example of application Results Conclusions

WSCG 2007 Introduction Texture mapping is a common technique to add realism to geometry models In terrain visualization we need to apply textures to add realism and show several kind of information over the digital elevation model of the terrain Problems: –Real-time high quality render: aerial imagery up to 0.25 m/pixel resolution –Limited storage capacity (system and video memory) –Management of huge amount of texture data (over a terabyte)

WSCG 2007 Previous aproaches Terrain rendering: –Database paging algorithms –A lot of geometry management algorithms but few texture management ones Texture management techniques: –Most of them have a strong dependency between geometry and texture databases generation

WSCG 2007 Previous aproaches Clipmapping [Tanner’98]: allows to manage huge textures without dependency of the geometry database Idea: cache a subset of the whole texture mipmap pyramid in video memory Problems: –Very expensive hardware required (SGI’s InfiniteReality architecture): hardware dependency –Do not support more than one clipmap simultaneously

WSCG 2007 Hardware independent clipmapping Based on clipmap idea We suggest different data structures and rendering algorithm to implement this idea on PCs Features: –Huge texture management (2 20 x2 20 texels) –Not specific hardware required: it can be implemented using OpenGL 1.2 fixed function pipeline –Independence between geometry and texture databases generation: Allows the use of diferent geometry algorithms without changing the texture database Allows to change the texture database without rebuilding the geometry database –High resolution rendering (0.25 meters/pixel resolution) –Multiple clipmap textures can be applied simultaneously

WSCG 2007 Structure overview Disk –Same that OpenGL Performer clipmap disk format –Mipmap pyramidal scheme: virtual texture –Every level stored being divided in square small fragments (tiles) –One file per tile –Space requirement example: 256x256 km area 0.25 meters resolution 2 20 x2 20 texels virtual texture About 4 Terabytes of texture database

WSCG 2007 Structure overview System memory –Disk tiles cached in a set of memory buffers One buffer per tile –Tile cache: The number of memory buffers are specified by user Asynchronous loading LRU algorithm used to choose the next buffer to store a disk tile

WSCG 2007 Structure overview Video memory –Subset of virtual texture cached in video memory

WSCG 2007 Structure overview Video memory –Stack of texture levels (texture stack): one hardware texture per level –All the stack levels have the same size: clipsize –Each stack level has his own mipmap levels clipsize

WSCG 2007 Structure overview Video memory –Each finest level covers half the area and has double resolution of the previous level –Space requirements example: 2 20 x2 20 texels virtual texture 2048 clipsize Mb of video memory required 1024 clipsize - 44 Mb of video memory required clipsize

WSCG 2007 Updating Center of detail: –Point where we need the best texture quality: normally close to the viewer –The application must update the center of detail on each frame –When the center of detail changes, the texture stack must be updated

WSCG 2007 Updating Texture stack updating: –Each stack texture is divided in small blocks called subtiles –When the center of detail changes, some subtiles must be updated –For each stack level: Find the invalid subtiles Request the necesary tiles from tile cache to update the invalid subtiles If the requested tiles are in cache, the related subtiles will be updated –Toroidal updating due to efficiency reasons virtual texture level texture level from the stack (toroidal update) clipsize subtile

WSCG 2007 Updating Load control –We limit the subtiles updated per frame to avoid frame drop –Priority loading: coarser tiles are loaded before finest ones Concentric rings update –Maximize the contiguous texture coverage

WSCG 2007 Rendering Apply the virtual texture over the geometry. Two approaches: –For each texture level, apply it, select the geometry covered by the level and draw that geometry –For each geometry patch, find and apply the finest texture level that covers it and draw the geometry patch

WSCG 2007 Rendering In both cases: –Virtual texture coordinates are bound to each vertex –We compute the correct texture coordinates for selected texture level scaling the virtual texture coordinates: scale factor = 2 stack level We don’t need to recompute the texture coordinates for each vertex. The scale factor can be applied using the texture matrix

WSCG 2007 Rendering Due to toroidal updating texture wrap mode must be setted to REPEAT virtual texture level texture level from the stack (toroidal update) clipsize wrap around (scale factor = 2)

WSCG 2007 Rendering Automatic texture coordinates generation –We can compute the texture coordinates dinamically using programable hardware Don’t need to precompute the texture coordinates for the geometry Can change the geometry dinamically preserving the correct mapping

WSCG 2007 Rendering Multitexturing –We can apply several simultaneous virtual textures. Allows to show several types of information over the terrain We need one stack for each virtual texture

WSCG 2007 Rendering: multitexturing

WSCG 2007 Rendering: multitexturing

WSCG 2007 Rendering: multitexturing

WSCG 2007 Example of application SANTI: Advanced interactive terrain navegation system –Developed since 1998 to display Galicia region ( northwest of Spain ) 200x250 km –Initially developed on SGI Infinite Reality arquitecture using clipmapping –At present we use an OpenGL implementation of our technique on PC –Uses an own geometry technique to manage a regular grid of 50 m resolution –Shows multiple textures over the terrain: Virtual texture of 0.25 m/pixel resolution from aerial data (2 20 x2 20 texels) Virtual texture to show geographic information (2 16 x2 16 texels)

WSCG 2007 SANTI

WSCG 2007 SANTI

WSCG 2007 SANTI

WSCG 2007 Results System –Pentium Ghz, 512 Mb RAM –Geforce 4 Ti4800SE, 128Mb –SATA disk with about 53 Mb/s bandwith Tested with SANTI –Navigation speed: 900 km/h –Two virtual textures mapped simultaneously Results –Framerate allways over 90 fps –Texture quality (% of texture stack updated) over 85%

WSCG 2007 Conclusions/future work We introduced a new tecnique for managing huge amounts of data based on clipmap idea –Allows independence between geometry and texture databases generation –Can be implemented without specific or programmable hardware (only if we want to compute texture coords dinamically we need to use programmable hardware) PCs, notebooks, PDAs, etc. –We add the feature of using multiple cliptextures simultaneously Future work –Procedural texture generation to show GIS information from vector data –New texture formats: compression

WSCG 2007 Thank you!

WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)