Antialiasing with Line Samples

Similar documents
Antialiasing with Line Samples

(a) rotating 45 0 about the origin and then translating in the direction of vector I by 4 units and (b) translating and then rotation.

Fall CSCI 420: Computer Graphics. 7.1 Rasterization. Hao Li.

CS354 Computer Graphics Sampling and Aliasing

CSCI 420 Computer Graphics Lecture 14. Rasterization. Scan Conversion Antialiasing [Angel Ch. 6] Jernej Barbic University of Southern California

Last Time: Acceleration Data Structures for Ray Tracing. Schedule. Today. Shadows & Light Sources. Shadows

Rasterization. Rasterization (scan conversion) Digital Differential Analyzer (DDA) Rasterizing a line. Digital Differential Analyzer (DDA)

Direct Rendering. Direct Rendering Goals

COMP371 COMPUTER GRAPHICS

Theoretically Perfect Sensor

Ray-tracing Acceleration. Acceleration Data Structures for Ray Tracing. Shadows. Shadows & Light Sources. Antialiasing Supersampling.

Theoretically Perfect Sensor

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing

Attributes of Graphics Primitives

Graphics Hardware and Display Devices

Triangle Rasterization

Today. Acceleration Data Structures for Ray Tracing. Cool results from Assignment 2. Last Week: Questions? Schedule

Ray Tracing III. Wen-Chieh (Steve) Lin National Chiao-Tung University

Intro to Modeling Modeling in 3D

Advanced Ray Tracing

Rasterization Computer Graphics I Lecture 14. Scan Conversion Antialiasing Compositing [Angel, Ch , ]

CS559 Computer Graphics Fall 2015

CS 563 Advanced Topics in Computer Graphics Lecture 2: Bare-Bones Raytracer. by Emmanuel Agu

Computer Graphics. Sampling Theory & Anti-Aliasing. Philipp Slusallek

Ray tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1

Computer Graphics. Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1

Sampling and Reconstruction

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

Texture Mapping. Michael Kazhdan ( /467) HB Ch. 14.8,14.9 FvDFH Ch. 16.3, , 16.6

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

EECS 487: Interactive Computer Graphics

Computer Graphics: 7-Polygon Rasterization, Clipping

8/5/2012. Introduction. Transparency. Anti-Aliasing. Applications. Conclusions. Introduction

Graphics and Interaction Rendering pipeline & object modelling

Wednesday, 26 January 2005, 14:OO - 17:OO h.

To Do. Advanced Computer Graphics. Sampling and Reconstruction. Outline. Sign up for Piazza

Computing 3D Geometry Directly From Range Images

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Splines. Connecting the Dots

Building a Fast Ray Tracer

Computer Graphics Geometry and Transform

Computer Graphics. Chapter 4 Attributes of Graphics Primitives. Somsak Walairacht, Computer Engineering, KMITL 1

28 SAMPLING. ALIASING AND ANTI-ALIASING

Sampling and Monte-Carlo Integration

CS 431/636 Advanced Rendering Techniques

03 Vector Graphics. Multimedia Systems. 2D and 3D Graphics, Transformations

Information Coding / Computer Graphics, ISY, LiTH. Splines

CS 4620 Midterm, March 21, 2017

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

Mathematics (

Aliasing and Antialiasing. ITCS 4120/ Aliasing and Antialiasing

This work is about a new method for generating diffusion curve style images. Although this topic is dealing with non-photorealistic rendering, as you

Real-Time Shadows. Last Time? Today. Why are Shadows Important? Shadows as a Depth Cue. For Intuition about Scene Lighting

Graphics Shaders. Theory and Practice. Second Edition. Mike Bailey. Steve Cunningham. CRC Press. Taylor&FnincIs Croup tootutor London New York

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Three Dimensional Geometry. Linear Programming

Buffers, Textures, Compositing, and Blending. Overview. Buffers. David Carr Virtual Environments, Fundamentals Spring 2005 Based on Slides by E.

CHAPTER 1 Graphics Systems and Models 3

Triangle meshes I. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2017

Curriki Geometry Glossary

Polygon Filling. Can write frame buffer one word at time rather than one bit. 2/3/2000 CS 4/57101 Lecture 6 1

Triangle meshes I. CS 4620 Lecture Kavita Bala (with previous instructor Marschner) Cornell CS4620 Fall 2015 Lecture 2

Escher s Circle Limit Anneke Bart Saint Louis University Introduction

Bending Circle Limits

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

3D Rendering and Ray Casting

Triangle meshes I. CS 4620 Lecture 2

Reading. 18. Projections and Z-buffers. Required: Watt, Section , 6.3, 6.6 (esp. intro and subsections 1, 4, and 8 10), Further reading:

Advanced Computer Graphics. Aliasing. Matthias Teschner. Computer Science Department University of Freiburg

Rasterizing triangles

4: Polygons and pixels

An angle that has a measure less than a right angle.

Topic 12: Texture Mapping. Motivation Sources of texture Texture coordinates Bump mapping, mip-mapping & env mapping

Identifying those parts of a scene that are visible from a chosen viewing position, and only process (scan convert) those parts

COMP3421. Particle Systems, Rasterisation

I have a meeting with Peter Lee and Bob Cosgrove on Wednesday to discuss the future of the cluster. Computer Graphics

CS 325 Computer Graphics

Basics. Sampling and Reconstruction. Sampling and Reconstruction. Outline. (Spatial) Aliasing. Advanced Computer Graphics (Fall 2010)

Topic 11: Texture Mapping 11/13/2017. Texture sources: Solid textures. Texture sources: Synthesized

Outline. The de Casteljau Algorithm. Properties of Piecewise Linear Interpolations. Recall: Linear Interpolation

Anti-aliasing and Monte Carlo Path Tracing. Brian Curless CSE 557 Autumn 2017

9. Three Dimensional Object Representations

Introduction to Computer Graphics

Image Morphing. The user is responsible for defining correspondences between features Very popular technique. since Michael Jackson s clips

Spring 2009 Prof. Hyesoon Kim

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

CS 543: Computer Graphics. Rasterization

Anti-aliasing and Monte Carlo Path Tracing

Z 3 : An Economical Hardware Technique for High-Quality Antialiasing and Order-Independent Transparency

Chapter 8: Implementation- Clipping and Rasterization

Homework 3: Shading, Raytracing, and Image Processing

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

Rectification and Distortion Correction

Topic 11: Texture Mapping 10/21/2015. Photographs. Solid textures. Procedural

TEXTURE MAPPING. DVA338 Computer Graphics Thomas Larsson, Afshin Ameri

CS 4731/543: Computer Graphics Lecture 7 (Part I): Raster Graphics: Polygons & Antialiasing. Emmanuel Agu

Texture-Mapping Tricks. How Bad Does it Look? We've Seen this Sort of Thing Before. Sampling Texture Maps

Proceedings of the Third International DERIVE/TI-92 Conference

Transcription:

Antialiasing with Line Samples Thouis R. Jones, Ronald N. Perry MERL - Mitsubishi Electric Research Laboratory Antialiasing Fundamentally a sampled convolution: S( Px, P S( P x, P y y ) = I( x, y) F( x P ) Sampled Image (pixel at x, y) I( x, y) Continuous Data F( x, y) Bandlimiting Filter x, y P y ) dxdy 1

Analytic Antialiasing Analytic antialiasing requires solving visibility to give a continuous 2D image Visible polygons tessellate image plane Arbitrarily complex shapes Efficient methods exist for evaluating the integral from 2D tessellation (Duff 1989, McCool 1995) Reduce Dimensionality - Point Sampling Point sampling reduces the dimension of the visibility calculation to 0D in image plane Pixel s value is a weighted sum of values at sample points in the image plane Most widespread and well studied method for antialiasing geometry 2

Reduce Dimensionality - 1D Sampling Another option is to reduce the dimension by 1, and sample along 1D elements Prior Art: Max 1990 - Antialiasing Scan-Line Data Guenter & Tumblin 1996 - Quadrature Prefiltering for High Quality Antialiasing Tanaka & Takahashi 1990 - Cross Scanline Algorithm Prior Art - Max Sample along scanlines Analytic antialiasing in scanline direction, supersampling in other direction Extended in same paper to use edge slopes to better approximate 2D image before 2D filtering 3

Prior Art - Guenter & Tumblin Quadrature prefiltering - accurate numerical approximation of antialiasing integral Assumes existing 2D visibility solution Phrased as an efficient computation of the antialiasing integral, not as a sampling method As in Max 1990, unidirectional sampling Prior Art - Tanaka & Takahashi Uses horizontal scanlines and vertical sub-scanlines to find 2D visibility solution Filters 2D image Again, not really phrased as a sampling method 4

Line Sampling Small 1D samples - line samples Centered at pixel, spanning filter footprint Multiple line samples and sampling directions per pixel Line Sampling (continued) 1D filtering only - Cheaper/Faster 1D tables Edge slopes ignored in filtering Blending of samples based on image features Does use edge slopes... but separates blending from filtering, keeping both simple 5

Theory and Practice Theory: Arbitrary number of line samples per pixel in arbitrary directions Practice: 2 line samples per pixel, horizontal and vertical Line samples are subsegments of horizontal and vertical scanlines Practice (continued) 6

Line Sampling Algorithm Determine visible segments along line samples at each pixel Keep sum of weights at each pixel (from edge crossings) Apply 1D table-based filter Blend values from vertical and horizontal line samples Determining Visible Segments Horizontal and vertical line samples are subsegments of scanlines Use scanline methods for visibility Less efficient methods for arbitrary sampling directions (see paper) 7

Weights from Edge Crossings Why edge crossings? A line sample s accuracy depends on its orientation relative to image features If a line sample intersects an edge, its filtering accuracy is highest when perpendicular, lowest when parallel Use sin 2 θ Weights (continued) as weight Normalized: weights for horizontal and vertical line samples sum to one 8

Weights (continued) Sum weights at each pixel (post-visibility) Intersecting triangles - use cross product of normals to find slope of created edge Edge weights should be adjusted by color change across the edge 1D Table-based Filter Stretch 1D to 2D, then filter Perpendicular, not according to edge slope Combine stretch and filter Use summed filter table 9

Blend Values from Line Samples Sample weights are sin 2 θ Good results using step function for blending, but discontinuity can cause aliasing Use cubic blending (Hermite) Results 10

Horizontal Filtering Only Comparison - Radial Triangles 16x Supersampling 11

Comparison - Radial Triangles 256x Supersampling Comparison - Triangle Comb 16x 256x Line Sampling 12

Comparison - Animation Benefits of Line Sampling High quality Near analytic for substantially vertical or horizontal edges Low variance near lone edges Efficient 2 scanline passes + 1D filtering + blending 13

Failure Cases Areas with high frequency content in two directions Small features can be missed Corners Non-trivial to extend to curved surfaces Conclusions and Future Work Line Sampling can provide near-analytic quality antialiasing at substantially lower cost Future work: Implement in realtime scanline renderer Integration with texture mapping Stochastic line sampling Extension to motion blur Reduced memory requirements 14

Acknowledgements Nelson Max Rob Kotredes Richard Coffey David Hart Peter-Pike Sloan MERL: Hanspeter Pfister, Larry Seiler, Joe Marks 15