How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)



Similar documents
Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

The Future Of Animation Is Games

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

A Short Introduction to Computer Graphics

Optimizing AAA Games for Mobile Platforms

Visualizing Data: Scalable Interactivity

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Workstation Applications for Windows. NVIDIA MAXtreme User s Guide

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

Lecture Notes, CEng 477

Advanced Visual Effects with Direct3D

GPU Architecture. Michael Doggett ATI

Water Flow in. Alex Vlachos, Valve July 28, 2010

GPU Shading and Rendering: Introduction & Graphics Hardware

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

Image Synthesis. Transparency. computer graphics & visualization

Touchstone -A Fresh Approach to Multimedia for the PC

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Image Synthesis. Fur Rendering. computer graphics & visualization

Summed-Area Tables for Texture Mapping

Software Virtual Textures

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Data Visualization. Principles and Practice. Second Edition. Alexandru Telea

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

Volume Rendering on Mobile Devices. Mika Pesonen

Computer Graphics Hardware An Overview

Dhiren Bhatia Carnegie Mellon University

Deferred Shading & Screen Space Effects

Radeon HD 2900 and Geometry Generation. Michael Doggett

Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur

Real-Time BC6H Compression on GPU. Krzysztof Narkowicz Lead Engine Programmer Flying Wild Hog

Volume visualization I Elvins

Lezione 4: Grafica 3D*(II)

Dynamic Resolution Rendering

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

Finite Elements for 2 D Problems

Scanners and How to Use Them

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

Texture Screening Method for Fast Pencil Rendering

INTRODUCTION TO RENDERING TECHNIQUES

Hardware design for ray tracing

Employing Complex GPU Data Structures for the Interactive Visualization of Adaptive Mesh Refinement Data

Efficient Storage, Compression and Transmission

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

3D Computer Games History and Technology

Nowcasting of significant convection by application of cloud tracking algorithm to satellite and radar images

GPU Point List Generation through Histogram Pyramids

How To Program With Adaptive Vision Studio

H.Calculating Normal Vectors

Computer Graphics. Anders Hast

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

1. INTRODUCTION Graphics 2

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

Introduction to Computer Graphics

Making Dreams Come True: Global Illumination with Enlighten. Graham Hazel Senior Product Manager Sam Bugden Technical Artist

Samsung Rendering Engine for Clean Pages (ReCP) Printer technology that delivers professional-quality prints for businesses

Finite Element Formulation for Plates - Handout 3 -

White Paper. Advances in Imaging to Improve Output Quality. April The Xerox Versant and EFI Fiery Digital Front End.

Advanced Rendering for Engineering & Styling

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Low power GPUs a view from the industry. Edvard Sørgård

Color correction in 3D environments Nicholas Blackhawk

Rendering Microgeometry with Volumetric Precomputed Radiance Transfer

SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

Instructor. Goals. Image Synthesis Examples. Applications. Computer Graphics. Why Study 3D Computer Graphics?

Adobe Marketing Cloud Sharpening images in Scene7 Publishing System and on Image Server

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Data Visualization Using Hardware Accelerated Spline Interpolation

Writing Applications for the GPU Using the RapidMind Development Platform

Data Storage 3.1. Foundations of Computer Science Cengage Learning

1. Relational database accesses data in a sequential form. (Figures 7.1, 7.2)

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

Single Depth Image Super Resolution and Denoising Using Coupled Dictionary Learning with Local Constraints and Shock Filtering

Voronoi Treemaps in D3

Technical Specifications: tog Live

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Broken Shard. Alpha Report. Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann. TUM Computer Games Laboratory

Medical Image Processing on the GPU. Past, Present and Future. Anders Eklund, PhD Virginia Tech Carilion Research Institute

Enhanced LIC Pencil Filter

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation

Algorithms for the resizing of binary and grayscale images using a logical transform

A Proposal for OpenEXR Color Management

How To Use An Amd Ramfire R7 With A 4Gb Memory Card With A 2Gb Memory Chip With A 3D Graphics Card With An 8Gb Card With 2Gb Graphics Card (With 2D) And A 2D Video Card With

Introduction to Digital Resolution

How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)

High Dynamic Range and other Fun Shader Tricks. Simon Green

Hi everyone, my name is Michał Iwanicki. I m an engine programmer at Naughty Dog and this talk is entitled: Lighting technology of The Last of Us,

Introduction to GPGPU. Tiziano Diamanti

Transcription:

Improved Alpha-Tested Magnification for Vector Textures and Special Effects Chris Green Valve (a) 64x64 texture, alpha-blended (b) 64x64 texture, alpha tested (c) 64x64 texture using our technique Figure 1: Vector art encoded in a 64x64 texture using (a) simple bilinear filtering (b) alpha testing and (c) our distance field technique Abstract A simple and efficient method is presented which allows improved rendering of glyphs composed of curved and linear elements. A distance field is generated from a high resolution image, and then stored into a channel of a lower-resolution texture. In the simplest case, this texture can then be rendered simply by using the alphatesting and alpha-thresholding feature of modern GPUs, without a custom shader. This allows the technique to be used on even the lowest-end 3D graphics hardware. With the use of programmable shading, the technique is extended to perform various special effect renderings, including soft edges, outlining, drop shadows, multi-colored images, and sharp corners. 1 Introduction For high quality real-time 3D rendering, it is critical that the limited amount of memory available for the storage of texture maps be used efficiently. In interactive applications such as computer games, the user is often able to view texture mapped objects at a high level of magnification, requiring that texture maps be stored at a high resolution so as to not become unpleasantly blurry, as shown in Figure 1a, when viewed from such perspectives. When the texture maps are used to represent line-art images, such as text, signs and UI elements, this can require the use of very high resolution texture maps in order to look acceptable, particularly at high resolutions. In addition to text and UI elements, this problem is also common in alpha-tested image-based impostors for complicated objects such as foliage. When textures with alpha channels derived from coverage are magnified with hardware bilinear filtering, unpleasant wiggles as seen in Figure 1b appear because the coverage function is not linear. In this chapter, we present a simple method to generate and render alpha-tested texture maps in order to minimize the artifacts that arise when such textures are heavily magnified. We will demonstrate several usage scenarios in a computer game context, both for e-mail: cgreen@valvesoftware.com 3D renderings and also user-interface elements. Our technique is capable of generating high quality vector art renderings as shown in Figure 1c. 2 Related work Many techniques have been developed to accurately render vector graphics using texture-mapping graphics hardware. In [Frisken et al. 2000], distance fields were used to represent both 2- dimensional glyphs and 3-dimensional solid geometry. Quadtrees and octrees were used to adaptively control the resolution of the distance field based upon local variations. While GPU rendering of such objects was not discussed, recent advances in the generality of GPU programming models would allow this method to be implemented using DirectX10 [Blythe 2006]. In [Sen 2004] and [Tumblin and Choudhury 2004], texture maps are augmented with additional data to control interpolation between texel samples so as to add sharp edges in a controllable fashion. Both line-art images and photographic textures containing hard edges were rendered directly on the GPU using their representation. In [Loop and Blinn 2005], implicit cubic curves were used to model the boundaries of glyphs, with the GPU used to render vector textures with smooth resolution-independent curves. In [Qin et al. 2006], a distance based representation is used, with a precomputed set of features influencing each Voronoi region. Given these features, a pixel shader is used to analytically compute exact distance values. Alpha-testing, in which the alpha value output from the pixel shader is thresholded so as to yield a binary on/off result, is widely used in games to provide sharp edges in reconstructed textures. Unfortunately, because the images that are generally used as sources for this contain coverage information which is not properly reconstructed at the subtexel level by bilinear interpolation, unpleasant artifacts are usually seen for non-axis-aligned edges when these textures are magnified.

REFERENCES REFERENCES Figure 8: Corner encoded at 64x64 using one distance field (left) and the AND of two distance fields (right) c 2007 Valve Corporation. All Rights Reserved