A Survey of Font Rendering Techniques Cameron Egbert Software Development Engineer XNA Developer Connection Microsoft.

Slides:



Advertisements
Similar presentations
Destruction Masking in Frostbite 2 using Volume Distance Fields
Advertisements

Exploration of advanced lighting and shading techniques
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
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.
Exploration of bump, parallax, relief and displacement mapping
G30™ A 3D graphics accelerator for mobile devices Petri Nordlund CTO, Bitboys Oy.
Soft Particles Petter Börjesson, Mattias Thell. Particle Effects Smoke, fire, explosions, clouds, etc Camera-aligned 2D quads – Gives the illusion of.
Real-Time High Quality Rendering CSE 291 [Winter 2015], Lecture 3 Shadow and Environment Mapping
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
Chapter 7 Creating Graphics. Chapter Objectives Use the Pen tool Reshape frames and apply stroke effects Work with polygons and compound paths Work with.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Real-Time Rendering COMS , Lecture 9. Real-Time Rendering Demo Motivation: Interactive rendering with complex natural illumination and realistic,
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Real-Time High Quality Rendering COMS 6160 [Fall 2004], Lecture 4 Shadow and Environment Mapping
Approximate Soft Shadows on Arbitrary Surfaces using Penumbra Wedges Tomas Akenine-Möller Ulf Assarsson Department of Computer Engineering, Chalmers University.
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
Vector vs. Bitmap SciVis V
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
V Obtained from a summer workshop in Guildford County July, 2014
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
Computer Graphics Computer Graphics is everywhere: Visual system is most important sense: High bandwidth Natural communication Fast developments in Hardware.
Vector vs. Bitmap
Computer Graphics Lecture 1 July 11, Computer Graphics What do you think of? The term “computer graphics” is a blanket term used to refer to the.
Computer Graphics. Requirements Prerequisites Prerequisites CS 255 : Data Structures CS 255 : Data Structures Math 253 Math 253 Experience with C Programming.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Graphics Programming using OpenGL. OpenGL is a software interface that allows the programmer to create 2D and 3D graphics images. This interface consists.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
TERRAIN SET09115 Intro to Graphics Programming. Breakdown  Basics  What do we mean by terrain?  How terrain rendering works  Generating terrain 
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Adaptive Terrain Slicing (Stefan Roettger)
Real-Time Rendering Digital Image Synthesis Yung-Yu Chuang 01/03/2006 with slides by Ravi Ramamoorthi and Robin Green.
Adaptively Sampled Distance Fields Representing Shape for Computer Graphics Ronald N. Perry and Sarah F. Frisken Mitsubishi Electric Research Laboratories.
Digital Media Dr. Jim Rowan ITEC Vector Graphics Elegant way to construct digital images that –have a compact representation –are scalable –are.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
INT 840E Computer graphics Introduction & Graphic’s Architecture.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Game Programming 06 The Rendering Engine
Maths & Technologies for Games DirectX 11 – New Features Tessellation & Displacement Mapping CO3303 Week 19.
Shader Study 이동현. Vision engine   Games Helldorado The Show Warlord.
Digital Media Dr. Jim Rowan ITEC So far… We have compared bitmapped graphics and vector graphics We have discussed bitmapped images, some file formats.
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Artistic Surface Rendering Using Layout Of Text Tatiana Surazhsky Gershon Elber Technion, Israel Institute of Technology.
Using wavelets on the XBOX360 For current and future games San Francisco, GDC 2008 Mike Boulton Senior Software Engineer Rare/MGS
Vertices, Edges and Faces By Jordan Diamond. Vertices In geometry, a vertices is a special kind of point which describes the corners or intersections.
Lee Byung-Gook Dongseo Univ.
Computer Graphics IN5I11 Nabil H. Mustafa
Digital Media Dr. Jim Rowan ITEC Vector Graphics Elegant way to construct digital images that –have a compact representation –are scalable –are.
Digital Media Lecture 5: Vector Graphics Georgia Gwinnett College School of Science and Technology Dr. Jim Rowan.
Graphics for Games Particle Systems CO2301 Games Development 1 Week 23.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS The GPU.
CS 551/645 Introduction to Computer Graphics Fall 2000.
Guilford County SciVis V104.03
CS552: Computer Graphics Lecture 17: Scan Conversion (Special Cases)
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
1 Interactive Volume Isosurface Rendering Using BT Volumes John Kloetzli Marc Olano Penny Rheingans UMBC.
1© 2009 Autodesk Hardware Shade – Presenting Your Designs Hardware and Software Shading HW Shade Workflow Tessellation Quality Settings Lighting Settings.
Cairo-gl Eric Anholt.
Computer Graphics.
Dr. Jim Rowan ITEC 2110 Wednesday, September 12
Graphics Processing Unit
Deferred Lighting.
Normal Map Compression with ATI 3Dc™
Digital Media Dr. Jim Rowan ITEC 2110.
Graphics Processing Unit
UMBC Graphics for Games
3D applications in Delphi
Presentation transcript:

A Survey of Font Rendering Techniques Cameron Egbert Software Development Engineer XNA Developer Connection Microsoft

Appetizer Texture BasedVector TextureGPU Vector Graphic

Texture Based Fonts  Render textured quads  + Easy  + Render anything representable with a texture  - The usual blocky texture artifacts

Vector Textures “Improved Alpha Tested Magnification for Vector Textures and Special Effects” – Chris Green x256 Distance Map 4096x4096 texture  Uses a distance field representation  Threshold the distance map to get the final text  Enables various edge effects

Caveats  Sharp features tend to get rounded off Vector Texture Reference  Breaks down at high magnification

Comparison + Almost as simple as traditional textures + Much better visual quality + No shaders required, just Alpha Test + Edge Effects & Antialiasing (with shaders) - Tends to cut corners off

As Seen in Team Fortress 2 Vector Texture based text with anti-aliasing and soft drop-shadows (courtesy Valve Software)

GPU Vector Graphics “Resolution Independent Curve Rendering Using Programmable Graphics Hardware” – Loop and Blinn 2005  Convert character outline to Bézier curves  Render curves as triangles with an inside-outside test  Use derivatives for edge effects & anti-aliasing  Requires extra geometry

Caveats  Creating the geometry is a bit involved  Intersecting outlines  Complex characters  Designed for quadratic and cubic Béziers  Anti-Aliasing requires a lot of geometry

Comparison +Resolution independence! +Perfect reproduction of quadratic and cubic Bézier curves +Edge effects & anti-aliasing (with extra geometry) - Performance is tied to font complexity

As Seen in Forza Motorsport 2 GPU Vector graphic based text with anti-aliasing

demo

Performance  XBox 360 GPU  1255 Characters  1280x720 A8R8G8B8 Surface time (mS) Traditional Texture0.34 Vector Texture0.57 Vector Texture (AA)0.57 GPU Vector Graphic0.47 GPU Vector Graphic (AA)1.69

Recommendations  Traditional textures for non-vector graphics  Vector Textures if you don’t mind slightly rounded corners  GPU Vector Graphics if you can invest in the highest visual quality

Questions?