Antialiasing with Line Samples Thouis R. Jones, Ronald N. Perry MERL - Mitsubishi Electric Research Laboratory.

Slides:



Advertisements
Similar presentations
CP411 polygon Lecture 6 1. Scan conversion algorithm for circle 2. Draw polygons 3. Antialiasing.
Advertisements

Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering Liu Ren Hanspeter Pfister Matthias Zwicker CMU.
Texture Synthesis on [Arbitrary Manifold] Surfaces Presented by: Sam Z. Glassenberg* * Several slides borrowed from Wei/Levoy presentation.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Regional Processing Convolutional filters. Smoothing  Convolution can be used to achieve a variety of effects depending on the kernel.  Smoothing, or.
Morphing & Warping 2D Morphing Involves 2 steps 1.Image warping “get features to line up” 2.Cross-dissolve “mix colors” (fade-in/fadeout transition)
David Luebke1/19/99 CS 551/651: Antialiasing David Luebke
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Computer Graphics Inf4/MSc Computer Graphics Lecture 13 Illumination I – Local Models.
High-Quality Parallel Depth-of- Field Using Line Samples Stanley Tzeng, Anjul Patney, Andrew Davidson, Mohamed S. Ebeida, Scott A. Mitchell, John D. Owens.
CS 551 / CS 645 Antialiasing. What is a pixel? A pixel is not… –A box –A disk –A teeny tiny little light A pixel is a point –It has no dimension –It occupies.
Computational Geometry & Collision detection
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Lecture 4 Edge Detection
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
CSCE 641 Computer Graphics: Image Filtering & Feature Detection Jinxiang Chai.
CSCE 641 Computer Graphics: Image Sampling and Reconstruction Jinxiang Chai.
CS223B Assignment 1 Recap. Lots of Solutions! 37 Groups Many different approaches Let’s take a peek at all 37 results on one image from the test set.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
CIS 681 Distributed Ray Tracing. CIS 681 Anti-Aliasing Graphics as signal processing –Scene description: continuous signal –Sample –digital representation.
Computational Photography: Image Processing Jinxiang Chai.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Multimedia Systems & Interfaces Karrie G. Karahalios Spring 2007.
Direct Illumination with Lazy Visibility Evaluation David Hart Philip Dutré Donald P. Greenberg Cornell University SIGGRAPH 99.
Filtering Approaches for Real-Time Anti-Aliasing /
1 Texturing. 2 What is Texturing? 3 Texture Mapping Definition: mapping a function onto a surface; function can be:  1, 2, or 3D  sampled (image) or.
© Chun-Fa Chang Sampling Theorem & Antialiasing. © Chun-Fa Chang Motivations “ My ray traced images have a lot more pixels than the TV screen. Why do.
Computer Graphics Inf4/MSc Computer Graphics Lecture 9 Antialiasing, Texture Mapping.
Massively-Parallel Vector Graphics Francisco Ganacim Rodolfo Schulz Lima Luiz Henrique de Figueiredo Diego Nehab.
March Shape Drawing Algorithms Shmuel Wimer Bar Ilan Univ., Engineering Faculty.
CGMB214: Introduction to Computer Graphics
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Definitions Spectral Elements – data structures that contain information about data at points within each geometric entity. Finite elements only hold information.
3/4/04© University of Wisconsin, CS559 Spring 2004 Last Time Clipping Lines –Cohen-Sutherland: The use of outcodes and early reject/accept tests –Liang-Barsky:
Graphics Graphics Korea University cgvr.korea.ac.kr Raster Graphics 고려대학교 컴퓨터 그래픽스 연구실.
Rasterization Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006 (Slide set originally by David Luebke)
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Intelligent Vision Systems ENT 496 Object Shape Identification and Representation Hema C.R. Lecture 7.
10/26/04© University of Wisconsin, CS559 Fall 2004 Last Time Drawing lines Polygon fill rules Midterm Oct 28.
Adaptively Sampled Distance Fields Representing Shape for Computer Graphics Ronald N. Perry and Sarah F. Frisken Mitsubishi Electric Research Laboratories.
Real-time Shading with Filtered Importance Sampling Jaroslav Křivánek Czech Technical University in Prague Mark Colbert University of Central Florida.
2D Output Primitives Points Lines Circles Ellipses Other curves Filling areas Text Patterns Polymarkers.
CS-378: Game Technology Lecture #2.2: Clipping and Hidden Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney,
1 CS 430/536 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
A survey of different shape analysis techniques 1 A Survey of Different Shape Analysis Techniques -- Huang Nan.
Implementation II.
CSC508 Convolution Operators. CSC508 Convolution Arguably the most fundamental operation of computer vision It’s a neighborhood operator –Similar to the.
Analytic Rasterization of Curves with Polynomial Filters Josiah Manson and Scott Schaefer Texas A&M University.
Sampling Theorem & Antialiasing
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Computer Graphics I, Fall 2010 Implementation II.
2D Output Primitives Points Lines Circles Ellipses Other curves Filling areas Text Patterns Polymarkers.
CS 445 / 645: Introductory Computer Graphics Review.
1 Dr. Scott Schaefer Antialiasing. 2/70 What is aliasing?
David Luebke 3/17/2016 Advanced Computer Graphics Antialiasing David Luebke
CS552: Computer Graphics Lecture 17: Scan Conversion (Special Cases)
Visible-Surface Detection Methods. To identify those parts of a scene that are visible from a chosen viewing position. Surfaces which are obscured by.
11/25/03 3D Model Acquisition by Tracking 2D Wireframes Presenter: Jing Han Shiau M. Brown, T. Drummond and R. Cipolla Department of Engineering University.
3D Rendering 2016, Fall.
Distributed Ray Tracing
Sampling Theorem & Antialiasing
Advanced Computer Graphics:
Antialiasing Dr. Scott Schaefer.
Lecture 13 Clipping & Scan Conversion
Primitive Drawing Algorithm
Primitive Drawing Algorithm
Presentation transcript:

Antialiasing with Line Samples Thouis R. Jones, Ronald N. Perry MERL - Mitsubishi Electric Research Laboratory

Antialiasing Fundamentally a sampled convolution:

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

Reduce Dimensionality - 1D Sampling Another option is to reduce the dimension by 1, and sample along 1D elements Prior Art: –Max Antialiasing Scan-Line Data –Guenter & Tumblin Quadrature Prefiltering for High Quality Antialiasing –Tanaka & Takahashi 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

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

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

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)

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)

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

Weights (continued) Use as weight –Normalized: weights for horizontal and vertical line samples sum to one

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

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

Results

Horizontal Filtering Only

Comparison - Radial Triangles 16x Supersampling

Comparison - Radial Triangles 256x Supersampling

Comparison - Triangle Comb 16x256xLine Sampling

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

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

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