Albert Julian Mayer
Virtual Texturing
[poster] [Thesis]

Information

Abstract

Virtual texturing (as presented by Mittring in ’Advanced Virtual Texture Topics’ and in distinction to clipmap-style systems, to which this term is also applied) is a solution to the problem of real-time rendering of scenes with vast amounts of texture data which does not fit into graphics or main memory. Virtual texturing works by preprocessing the aggregate texture data into equally-sized tiles and determining the necessary tiles for rendering before each frame. These tiles are then streamed to the graphics card and rendering is performed with a special virtual texturing fragment shader that does texture coordinate adjustments to sample from the tile storage texture. A thorough description of virtual texturing and related topics is given, along with an examination of specific challenges including preprocessing, visible tile determination, texture filtering, tile importance metrics and many more. Tile determination in view space is examined in detail and an implementation for compressing the resulting buffer in OpenCL is presented. Rendering with correct texture filtering from a texture which contains de-correlated texture tiles is attained by using tile borders with specific coordinate adjustment and gradient correction in the fragment shader. A sample implementation is described and serves to provide results concerning performance and correctness with different settings and architecture choices. Integration into Open Scene Graph for usage within a hybrid point-cloud / polygonal renderer enables rendering of high resolution paintings within catacombs modeled with point clouds. Another application is presented, the real-time display of a highly detailed model of New York with more than 60 GB textures. Quantitative analysis reveals that frame-rates above 200 FPS are attainable on complex scenes with multi-million polygons even with outdated hardware. At the same time quality remains high, results indicate that ”fallbacks”, that occur when a needed texture tile is not ready in time, occur only for 0.01% of the pixels on average. These results show that virtual texturing can be a competitive solution for games, scientific and industrial applications, allowing for real-time rendering of scenes that could not be displayed previously, while maintaining acceptable visual quality.

Additional Files and Images

Additional images and videos


Additional files

Weblinks

No further information available.

BibTeX

@mastersthesis{Mayer-2010-VT,
  title =      "Virtual Texturing",
  author =     "Albert Julian Mayer",
  year =       "2010",
  abstract =   "Virtual texturing (as presented by Mittring in ’Advanced
               Virtual Texture Topics’ and in distinction to
               clipmap-style systems, to which this term is also applied)
               is a solution to the problem of real-time rendering of
               scenes with vast amounts of texture data which does not fit
               into graphics or main memory. Virtual texturing works by
               preprocessing the aggregate texture data into equally-sized
               tiles and determining the necessary tiles for rendering
               before each frame. These tiles are then streamed to the
               graphics card and rendering is performed with a special
               virtual texturing fragment shader that does texture
               coordinate adjustments to sample from the tile storage
               texture. A thorough description of virtual texturing and
               related topics is given, along with an examination of
               specific challenges including preprocessing, visible tile
               determination, texture filtering, tile importance metrics
               and many more. Tile determination in view space is examined
               in detail and an implementation for compressing the
               resulting buffer in OpenCL is presented. Rendering with
               correct texture filtering from a texture which contains
               de-correlated texture tiles is attained by using tile
               borders with specific coordinate adjustment and gradient
               correction in the fragment shader. A sample implementation
               is described and serves to provide results concerning
               performance and correctness with different settings and
               architecture choices. Integration into Open Scene Graph for
               usage within a hybrid point-cloud / polygonal renderer
               enables rendering of high resolution paintings within
               catacombs modeled with point clouds. Another application is
               presented, the real-time display of a highly detailed model
               of New York with more than 60 GB textures. Quantitative
               analysis reveals that frame-rates above 200 FPS are
               attainable on complex scenes with multi-million polygons
               even with outdated hardware. At the same time quality
               remains high, results indicate that ”fallbacks”, that
               occur when a needed texture tile is not ready in time, occur
               only for 0.01% of the pixels on average. These results show
               that virtual texturing can be a competitive solution for
               games, scientific and industrial applications, allowing for
               real-time rendering of scenes that could not be displayed
               previously, while maintaining acceptable visual quality.",
  month =      oct,
  address =    "Favoritenstrasse 9-11/E193-02, A-1040 Vienna, Austria",
  school =     "Institute of Computer Graphics and Algorithms, Vienna
               University of Technology ",
  URL =        "https://www.cg.tuwien.ac.at/research/publications/2010/Mayer-2010-VT/",
}