Sampling and Monte-Carlo Integration

Total Page:16

File Type:pdf, Size:1020Kb

Sampling and Monte-Carlo Integration Sampling and Monte-Carlo Integration Sampling and Monte-Carlo Integration MIT EECS 6.837 MIT EECS 6.837 Last Time Quiz solution: Homogeneous sum • Pixels are samples •(x1, y1, z1, 1) + (x2, y2, z2, 1) = (x +x , y +y , z +z , 2) • Sampling theorem 1 2 1 2 1 2 ≈ ((x1+x2)/2, (y1+y2)/2, (z1+z2)/2) • Convolution & multiplication • This is the average of the two points • Aliasing: spectrum replication • General case: consider the homogeneous version of (x , y , z ) and (x , y , z ) with w coordinates w and w • Ideal filter 1 1 1 2 2 2 1 2 – And its problems •(x1 w1, y1 w1, z1 w1, w1) + (x2 w2, y2 w2, z2 w2, w2) = (x w +x w , y w +y w , z w +z w , w +w ) • Reconstruction 1 1 2 2 1 1 2 2 1 1 2 2 1 2 ≈ ((x1 w1+x2w2 )/(w1+w2) ,(y1 w1+y2w2 )/(w1+w2), • Texture prefiltering, mipmaps (z1 w1+z2w2 )/(w1+w2)) • This is the weighted average of the two geometric points MIT EECS 6.837 MIT EECS 6.837 Today’s lecture Ideal sampling/reconstruction • Antialiasing in graphics • Pre-filter with a perfect low-pass filter • Sampling patterns – Box in frequency • Monte-Carlo Integration – Sinc in time • Probabilities and variance • Sample at Nyquist limit • Analysis of Monte-Carlo Integration – Twice the frequency cutoff • Reconstruct with perfect filter – Box in frequency, sinc in time • And everything is great! MIT EECS 6.837 MIT EECS 6.837 1 Difficulties with perfect sampling At the end of the day • Hard to prefilter • Fourier analysis is great to understand aliasing • Perfect filter has infinite support • But practical problems kick in – Fourier analysis assumes infinite signal and complete • As a result there is no perfect solution knowledge • Compromises between – Not enough focus on local effects – Finite support • And negative lobes – Avoid negative lobes – Emphasizes the two problems above – Avoid high-frequency leakage – Avoid low-frequency attenuation – Negative light is bad • Everyone has their favorite cookbook recipe – Ringing artifacts if prefiltering or supports are not perfect – Gaussian, tent, Mitchell bicubic MIT EECS 6.837 MIT EECS 6.837 The special case of edges Anisotropy of the sampling grid • An edge is poorly captured by Fourier analysis • More vertical and horizontal bandwidth – It is a local feature – E.g. less bandwidth in diagonal – It combines all frequencies (sinc) • Practical issues with edge aliasing lie more in the • A hexagonal grid would be better jaggies (tilted lines) than in actual spectrum – Max anisotropy replication – But less practical MIT EECS 6.837 MIT EECS 6.837 Anisotropy of the sampling grid Philosophy about mathematics • More vertical and horizontal bandwidth • Mathematics are great tools to model • A hexagonal grid would be better (i.e. describe) your problems – But less practical • They afford incredible power, formalism, • Practical effect: vertical and horizontal direction generalization show when doing bicubic upsampling • However it is equally important to understand the practical problem and how much the mathematical model fits Low-res image MIT EECS 6.837 Bicubic upsampling MIT EECS 6.837 2 Questions? Today’s lecture • Antialiasing in graphics • Sampling patterns • Monte-Carlo Integration • Probabilities and variance • Analysis of Monte-Carlo Integration MIT EECS 6.837 MIT EECS 6.837 Supersampling in graphics Uniform supersampling • Pre-filtering is hard • Compute image at resolution k*width, k*height – Requires analytical visibility • Downsample using low-pass filter – Then difficult to integrate (e.g. Gaussian, sinc, bicubic) analytically with filter • Possible for lines, or if visibility is ignored • usually, fall back to supersampling MIT EECS 6.837 MIT EECS 6.837 Uniform supersampling Multisampling vs. supersampling • Advantage: • Observation: – The first (super)sampling captures more high – Edge aliasing mostly comes from frequencies that are not aliased visibility/rasterization issues – Downsampling can use a good filter – Texture aliasing can be prevented using prefiltering • Issues • Multisampling idea: – Frequencies above the (super)sampling limit are still aliased – Sample rasterization/visibility at a higher rate than • Works well for edges, since shading/texture spectrum replication is less an issue • In practice, same as supersampling, except that • Not as well for repetitive textures all the subpixel get the same color if visible – But mipmapping can help MIT EECS 6.837 MIT EECS 6.837 3 Multisampling vs. supersampling Questions? For each triangle For each pixel Compute pixelcolor //only once for all subpixels For each subpixel If (all edge equations positive && zbuffer [subpixel] > currentz ) Then Framebuffer[subpixel]=pixelcolor • The subpixels of a pixel get different colors only at edges of triangles or at occlusion boundaries Example: 2 Gouraud- Subpixels in Subpixels in shaded supersampling multisampling triangles MIT EECS 6.837 MIT EECS 6.837 Uniform supersampling Jittering • Problem: supersampling only pushes the problem • Uniform sample + random perturbation further: The signal is still not bandlimited • Sampling is now non-uniform • Aliasing happens • Signal processing gets more complex • In practice, adds noise to image • But noise is better than aliasing Moiré patterns MIT EECS 6.837 MIT EECS 6.837 Jittered supersampling Jittering • Regular, Jittered Supersampling • Displaced by a vector a fraction of the size of the subpixel distance • Low-frequency Moire (aliasing) pattern replaced by noise • Extremely effective • Patented by Pixar! • When jittering amount is 1, equivalent to stratified sampling (cf. later) MIT EECS 6.837 MIT EECS 6.837 4 Poisson disk sampling and blue noise Poisson disk sampling and blue noise • Essentially random points that are not allowed to • Essentially random points that are not allowed to be closer than some radius r be closer than some radius r • Dart-throwing algorithm: • The spectrum of the Poisson disk pattern is called Initialize sampling pattern as empty blue noise: Do Get random point P • No low frequency If P is farther than r from all samples From Hiller et al. • Other criterion: Add P to sampling pattern Isotropy Until unable to add samples for a long time r (frequency content Poisson disk pattern Fourier transform must be the same Anisotropy (power spectrum for all direction) per direction) MIT EECS 6.837 MIT EECS 6.837 Recap Adaptive supersampling • Uniform supersampling • Use more sub-pixel samples around edges – Not so great • Jittering – Great, replaces aliasing by noise • Poisson disk sampling – Equally good, but harder to generate – Blue noise and good (lack of) anisotropy MIT EECS 6.837 MIT EECS 6.837 Adaptive supersampling Adaptive supersampling • Use more sub-pixel samples around edges • Use more sub-pixel samples around edges Compute color at small number of sample Compute color at small number of sample If their variance is high If variance with neighbor pixels is high Compute larger number of samples Compute larger number of samples MIT EECS 6.837 MIT EECS 6.837 5 Problem with non-uniform distribution Problem with non-uniform distribution • Reconstruction can be complicated • Reconstruction can be complicated • Solution: do a multi-level reconstruction – Reconstruct uniform sub-pixels – Filter those uniform sub-pixels 80% of the samples are black Yet the pixel should be light grey MIT EECS 6.837 MIT EECS 6.837 Recap Questions? • Uniform supersampling – Not so great • Jittering – Great, replaces aliasing by noise • Poisson disk sampling – Equally good, but harder to generate – Blue noise and good (lack of) anisotropy • Adaptive sampling – Focus computation where needed – Beware of false negative – Complex reconstruction MIT EECS 6.837 MIT EECS 6.837 Today’s lecture Shift of perspective • Antialiasing in graphics • So far, Antialiasing as signal processing • Sampling patterns • Monte-Carlo Integration • Now, Antialiasing as integration • Probabilities and variance • Analysis of Monte-Carlo Integration • Complementary yet not always the same MIT EECS 6.837 MIT EECS 6.837 6 Why integration? Monte-Carlo computation of π • Simple version: • Take a square compute pixel coverage • Take a random point (x,y) in the square • Test if it is inside the ¼ disc (x2+y2 < 1) • More advanced: • The probability is π /4 Filtering (convolution) is an integral pixel = ∫ filter * color • And integration is useful in tons of places in y graphics x MIT EECS 6.837 MIT EECS 6.837 Monte-Carlo computation of π Why not use Simpson integration? • The probability is π /4 • Yeah, to compute π, • Count the inside ratio n = # inside / total # trials Monte Carlo is not very efficient • π≈n * 4 • But convergence is independent of dimension • The error depends on the number or trials • Better to integrate high-dimensional functions • For d dimensions, Simpson requires Nd domains MIT EECS 6.837 MIT EECS 6.837 Dumbest Monte-Carlo integration Questions? • Compute 0.5 by flipping a coin • 1 flip: 0 or 1=> average error =0.5 • 2 flips: 0, 0.5, 0.5 or 1 =>average error=0. 25 • 4 flips: 0 (*1),0.25 (*4), 0.5 (*6), 0.75(*4), 1(*1) => average error =0.1875 • Does not converge very fast • Doubling the number of samples does not double accuracy MIT EECS 6.837 MIT EECS 6.837 7 Today’s lecture Review of probability (discrete) • Antialiasing in graphics • Random variable can take discrete values xi • Sampling patterns • Probability pi for each xi RE: • Monte-Carlo Integration EWA 0 · pi · 1 B SIDE HS IN • Probabilities and variance MAT If the events are mutually exclusive, Σ pi =1 • Analysis of Monte-Carlo Integration • Expected value • Expected value of function of
Recommended publications
  • Efficient Supersampling Antialiasing for High-Performance Architectures
    Efficient Supersampling Antialiasing for High-Performance Architectures TR91-023 April, 1991 Steven Molnar The University of North Carolina at Chapel Hill Department of Computer Science CB#3175, Sitterson Hall Chapel Hill, NC 27599-3175 This work was supported by DARPA/ISTO Order No. 6090, NSF Grant No. DCI- 8601152 and IBM. UNC is an Equa.l Opportunity/Affirmative Action Institution. EFFICIENT SUPERSAMPLING ANTIALIASING FOR HIGH­ PERFORMANCE ARCHITECTURES Steven Molnar Department of Computer Science University of North Carolina Chapel Hill, NC 27599-3175 Abstract Techniques are presented for increasing the efficiency of supersampling antialiasing in high-performance graphics architectures. The traditional approach is to sample each pixel with multiple, regularly spaced or jittered samples, and to blend the sample values into a final value using a weighted average [FUCH85][DEER88][MAMM89][HAEB90]. This paper describes a new type of antialiasing kernel that is optimized for the constraints of hardware systems and produces higher quality images with fewer sample points than traditional methods. The central idea is to compute a Poisson-disk distribution of sample points for a small region of the screen (typically pixel-sized, or the size of a few pixels). Sample points are then assigned to pixels so that the density of samples points (rather than weights) for each pixel approximates a Gaussian (or other) reconstruction filter as closely as possible. The result is a supersampling kernel that implements importance sampling with Poisson-disk-distributed samples. The method incurs no additional run-time expense over standard weighted-average supersampling methods, supports successive-refinement, and can be implemented on any high-performance system that point samples accurately and has sufficient frame-buffer storage for two color buffers.
    [Show full text]
  • NVIDIA Opengl in 2012 Mark Kilgard
    NVIDIA OpenGL in 2012 Mark Kilgard • Principal System Software Engineer – OpenGL driver and API evolution – Cg (“C for graphics”) shading language – GPU-accelerated path rendering • OpenGL Utility Toolkit (GLUT) implementer • Author of OpenGL for the X Window System • Co-author of Cg Tutorial Outline • OpenGL’s importance to NVIDIA • OpenGL API improvements & new features – OpenGL 4.2 – Direct3D interoperability – GPU-accelerated path rendering – Kepler Improvements • Bindless Textures • Linux improvements & new features • Cg 3.1 update NVIDIA’s OpenGL Leverage Cg GeForce Parallel Nsight Tegra Quadro OptiX Example of Hybrid Rendering with OptiX OpenGL (Rasterization) OptiX (Ray tracing) Parallel Nsight Provides OpenGL Profiling Configure Application Trace Settings Parallel Nsight Provides OpenGL Profiling Magnified trace options shows specific OpenGL (and Cg) tracing options Parallel Nsight Provides OpenGL Profiling Parallel Nsight Provides OpenGL Profiling Trace of mix of OpenGL and CUDA shows glFinish & OpenGL draw calls Only Cross Platform 3D API OpenGL 3D Graphics API • cross-platform • most functional • peak performance • open standard • inter-operable • well specified & documented • 20 years of compatibility OpenGL Spawns Closely Related Standards Congratulations: WebGL officially approved, February 2012 “The web is now 3D enabled” Buffer and OpenGL 4 – DirectX 11 Superset Event Interop • Interop with a complete compute solution – OpenGL is for graphics – CUDA / OpenCL is for compute • Shaders can be saved to and loaded from binary
    [Show full text]
  • Msalvi Temporal Supersampling.Pdf
    1 2 3 4 5 6 7 8 We know for certain that the last sample, shaded in the current frame, is valid. 9 We cannot say whether the color of the remaining 3 samples would be the same if computed in the current frame due to motion, (dis)occlusion, change in lighting, etc.. 10 Re-using stale/invalid samples results in quite interesting image artifacts. In this case the fairy model is moving from the left to the right side of the screen and if we re-use every past sample we will observe a characteristic ghosting artifact. 11 There are many possible strategies to reject samples. Most involve checking whether plurality of pre and post shading attributes from past frames is consistent with information acquired in the current frame. In practice it is really hard to come up with a robust strategy that works in the general case. For these reasons “old” approaches have seen limited success/applicability. 12 More recent temporal supersampling methods are based on the general idea of re- using resolved color (i.e. the color associated to a “small” image region after applying a reconstruction filter), while older methods re-use individual samples. What might appear as a small difference is actually extremely important and makes possible to build much more robust temporal techniques. First of all re-using resolved color makes possible to throw away most of the past information and to only keep around the last frame. This helps reducing the cost of temporal methods. Since we don’t have access to individual samples anymore the pixel color is computed by continuous integration using a moving exponential average (EMA).
    [Show full text]
  • Discontinuity Edge Overdraw Pedro V
    Discontinuity Edge Overdraw Pedro V. Sander Hugues Hoppe John Snyder Steven J. Gortler Harvard University Microsoft Research Microsoft Research Harvard University http://cs.harvard.edu/~pvs http://research.microsoft.com/~hoppe [email protected] http://cs.harvard.edu/~sjg Abstract Aliasing is an important problem when rendering triangle meshes. Efficient antialiasing techniques such as mipmapping greatly improve the filtering of textures defined over a mesh. A major component of the remaining aliasing occurs along discontinuity edges such as silhouettes, creases, and material boundaries. Framebuffer supersampling is a simple remedy, but 2×2 super- sampling leaves behind significant temporal artifacts, while greater supersampling demands even more fill-rate and memory. We present an alternative that focuses effort on discontinuity edges by overdrawing such edges as antialiased lines. Although the idea is simple, several subtleties arise. Visible silhouette edges must be detected efficiently. Discontinuity edges need consistent orientations. They must be blended as they approach (a) aliased original (b) overdrawn edges (c) final result the silhouette to avoid popping. Unfortunately, edge blending Figure 1: Reducing aliasing artifacts using edge overdraw. results in blurriness. Our technique balances these two competing objectives of temporal smoothness and spatial sharpness. Finally, With current graphics hardware, a simple technique for reducing the best results are obtained when discontinuity edges are sorted aliasing is to supersample and filter the output image. On current by depth. Our approach proves surprisingly effective at reducing displays (desktop screens of ~1K×1K resolution), 2×2 supersam- temporal artifacts commonly referred to as "crawling jaggies", pling reduces but does not eliminate aliasing. Of course, a finer with little added cost.
    [Show full text]
  • Study of Supersampling Methods for Computer Graphics Hardware Antialiasing
    Study of Supersampling Methods for Computer Graphics Hardware Antialiasing Michael E. Goss and Kevin Wu [email protected] Visual Computing Department Hewlett-Packard Laboratories Palo Alto, California December 5, 2000 Abstract A study of computer graphics antialiasing methods was done with the goal of determining which methods could be used in future computer graphics hardware accelerators to provide improved image quality at acceptable cost and with acceptable performance. The study focused on supersampling techniques, looking in detail at various sampling patterns and resampling filters. This report presents a detailed discussion of theoretical issues involved in aliasing in computer graphics images, and also presents the results of two sets of experiments designed to show the results of techniques that may be candidates for inclusion in future computer graphics hardware. Table of Contents 1. Introduction ........................................................................................................................... 1 1.1 Graphics Hardware and Aliasing.....................................................................................1 1.2 Digital Images and Sampling..........................................................................................1 1.3 This Report...................................................................................................................... 2 2. Antialiasing for Raster Graphics via Filtering ...................................................................3 2.1 Signals
    [Show full text]
  • Sampling & Anti-Aliasing
    CS 431/636 Advanced Rendering Techniques Dr. David Breen University Crossings 149 Tuesday 6PM → 8:50PM Presentation 5 5/5/09 Questions from Last Time? Acceleration techniques n Bounding Regions n Acceleration Spatial Data Structures n Regular Grids n Adaptive Grids n Bounding Volume Hierarchies n Dot product problem Slide Credits David Luebke - University of Virginia Kevin Suffern - University of Technology, Sydney, Australia Linge Bai - Drexel Anti-aliasing n Aliasing: signal processing term with very specific meaning n Aliasing: computer graphics term for any unwanted visual artifact based on sampling n Jaggies, drop-outs, etc. n Anti-aliasing: computer graphics term for fixing these unwanted artifacts n We’ll tackle these in order Signal Processing n Raster display: regular sampling of a continuous(?) function n Think about sampling a 1-D function: Signal Processing n Sampling a 1-D function: Signal Processing n Sampling a 1-D function: Signal Processing n Sampling a 1-D function: n What do you notice? Signal Processing n Sampling a 1-D function: what do you notice? n Jagged, not smooth Signal Processing n Sampling a 1-D function: what do you notice? n Jagged, not smooth n Loses information! Signal Processing n Sampling a 1-D function: what do you notice? n Jagged, not smooth n Loses information! n What can we do about these? n Use higher-order reconstruction n Use more samples n How many more samples? The Sampling Theorem n Obviously, the more samples we take the better those samples approximate the original function n The sampling theorem: A continuous bandlimited function can be completely represented by a set of equally spaced samples, if the samples occur at more than twice the frequency of the highest frequency component of the function The Sampling Theorem n In other words, to adequately capture a function with maximum frequency F, we need to sample it at frequency N = 2F.
    [Show full text]
  • Aliasing and Supersampling D.A
    Aliasing and Supersampling D.A. Forsyth, with much use of John Hart’s notes Aliasing from Watt and Policarpo, The Computer Image Scaled representations • Represent one image with many different resolutions • Why? • Efficient texture mapping • if the object is tiny in the rendered image, why use a big texture? • many other applications will emerge Carelessness causes aliasing Obtained pyramid of images by subsampling Aliasing is a product of sampling Scanning Display Analog Digital Analog Image Image Image Sampling and reconstruction Continuous Discrete Continuous Sampling Reconstruction Image Samples Image 1 1 p p Sampling Reconstruction Function Kernel Aliasing and fast changing signals More aliasing examples • Undersampled sine wave -> • Color shimmering on striped shirts on TV • Wheels going backwards in movies • temporal aliasing Another aliasing example Continuous function at top • 0 I(x,y) < 0 • Sampled version at bottom • Plot one if I(x,y) ≤ 0, otherwise zero 1 Another aliasing example 1 0.9 0.8 • location of a 0.7 sharp 0.6 change is 0.5 known poorly 0.4 0.3 0.2 0.1 0 0 50 100 150 200 250 300 350 400 Fundamental facts • A sine wave will alias if sampled less often than twice per period 1 0.8 0.6 0.4 0.2 0 ï0.2 ï0.4 ï0.6 ï0.8 ï1 0 10 20 30 40 50 60 70 80 90 100 1 0.8 0.6 0.4 0.2 0 ï0.2 ï0.4 ï0.6 ï0.8 ï1 0 10 20 30 40 50 60 70 80 90 100 1 0.8 0.6 0.4 0.2 0 ï0.2 ï0.4 ï0.6 ï0.8 ï1 0 10 20 30 40 50 60 70 80 90 100 1 0.8 0.6 0.4 0.2 0 ï0.2 ï0.4 ï0.6 ï0.8 ï1 0 10 20 30 40 50 60 70 80 90 100 1 0.8 0.6 0.4 0.2 0 ï0.2 ï0.4 ï0.6 ï0.8 ï1
    [Show full text]
  • Whitepaper NVIDIA Geforce GTX 980
    Whitepaper NVIDIA GeForce GTX 980 Featuring Maxwell, The Most Advanced GPU Ever Made. V1.1 GeForce GTX 980 Whitepaper Table of Contents Introduction .................................................................................................................................................. 3 Extraordinary Gaming Performance for the Latest Displays .................................................................... 3 Incredible Energy Efficiency ...................................................................................................................... 4 Dramatic Leap Forward In Lighting with VXGI .......................................................................................... 5 GM204 Hardware Architecture In-Depth ..................................................................................................... 6 Maxwell Streaming Multiprocessor .......................................................................................................... 8 PolyMorph Engine 3.0 ............................................................................................................................... 9 GM204 Memory Subsystem ................................................................................................................... 10 New Display and Video Engines .............................................................................................................. 11 Maxwell: Enabling The Next Frontier in PC Graphics ................................................................................
    [Show full text]
  • Basic Signal Processing: Sampling, Aliasing, Antialiasing
    CS148: Introduction to Computer Graphics and Imaging Basic Signal Processing: Sampling, Aliasing, Antialiasing No Jaggies Key Concepts Frequency space Filters and convolution Sampling and the Nyquist frequency Aliasing and Antialiasing CS148 Lecture 13 Pat Hanrahan, Fall 2011 Frequency Space Sines and Cosines cos 2πx sin 2πx CS148 Lecture 13 Pat Hanrahan, Fall 2011 Frequencies cos 2πfx 1 f = f =1 T cos 2πx f =2 cos 4πx CS148 Lecture 13 Pat Hanrahan, Fall 2011 Recall Complex Exponentials Euler’s Formula ejx = cos x + j sin x Odd (-x) jx e− = cos x + j sin x = cos x j sin x − − − Therefore jx jx jx jx e + e e e− cos x = − sin x = − 2 2j Hence, use complex exponentials for sines/cosines CS148 Lecture 13 Pat Hanrahan, Fall 2011 Constant Spatial Domain Frequency Domain CS148 Lecture 13 Pat Hanrahan, Fall 2011 sin(2π/32)x Spatial Domain Frequency Domain Frequency = 1/32; 32 pixels per cycle CS148 Lecture 13 Pat Hanrahan, Fall 2011 sin(2π/16)x Spatial Domain Frequency Domain CS148 Lecture 13 Pat Hanrahan, Fall 2011 sin(2π/16)y Spatial Domain Frequency Domain CS148 Lecture 13 Pat Hanrahan, Fall 2011 sin(2π/32)x sin(2π/16)y × Spatial Domain Frequency Domain CS148 Lecture 13 Pat Hanrahan, Fall 2011 r2/162 e− Spatial Domain Frequency Domain CS148 Lecture 13 Pat Hanrahan, Fall 2011 r2/322 e− Spatial Domain Frequency Domain CS148 Lecture 13 Pat Hanrahan, Fall 2011 x2/322 y2/162 e− e− × Spatial Domain Frequency Domain CS148 Lecture 13 Pat Hanrahan, Fall 2011 x2/322 y2/162 Rotate 45 e− e− × Spatial Domain Frequency Domain CS148 Lecture 13 Pat Hanrahan,
    [Show full text]
  • Computer Graphics and Imaging UC Berkeley CS184/284A Lecture 3
    Lecture 3: Intro to Signal Processing: Sampling, Aliasing, Antialiasing Computer Graphics and Imaging UC Berkeley CS184/284A Sampling is Ubiquitous in Computer Graphics and Imaging Video = Sample Time Harold Edgerton Archive, MIT CS184/284A Ren Ng Photograph = Sample Image Sensor Plane CS184/284A Ren Ng Rasterization = Sample 2D Positions CS184/284A Ren Ng Ray Tracing = Sample Rays Viewing Viewing ray Viewingwindowviewing viewingPixel ray windowwindow PixelPixelpixelPixelPixel Pixelposition Viewpoint viewpointViewpoint Jensen CS184/284A Ren Ng Lighting Integrals: Sample Incident Angles Sampling Artifacts in Graphics and Imaging Wagon Wheel Illusion (False Motion) Created by Jesse Mason, https://www.youtube.com/watch?v=QOwzkND_ooU Moiré Patterns in Imaging lystit.com Read every sensor pixel Skip odd rows and columns CS184/284A Ren Ng Jaggies (Staircase Pattern) This is also an example of “aliasing” – a sampling error CS184/284A Ren Ng Jaggies (Staircase Pattern) Retort by Don Mitchell CS184/284A Ren Ng Sampling Artifacts in Computer Graphics Artifacts due to sampling - “Aliasing” • Jaggies – sampling in space • Wagon wheel effect – sampling in time • Moire – undersampling images (and texture maps) • [Many more] … We notice this in fast-changing signals (high frequency), when we sample too slowly CS184/284A Ren Ng Antialiasing Idea: Filter Out High Frequencies Before Sampling Video: Point vs Antialiased Sampling Point in Time Motion Blurred CS184/284A Ren Ng Video: Point Sampling in Time https://youtu.be/NoWwxTktoFs Credit: Aris & cams youtube, Credit: 30 fps video. 1/800 second exposure is sharp in time, causes time aliasing. CS184/284A Ren Ng Video: Motion-Blurred Sampling https://youtu.be/NoWwxTktoFs Credit: Aris & cams youtube, Credit: 30 fps video.
    [Show full text]
  • Sampling Theory
    Sampling Theory • The world is continuous • Like it or not, images are discrete. Intro to Sampling Theory – We work using a discrete array of pixels – We use discrete values for color – We use discrete arrays and subdivisions for specifying textures and surfaces • Process of going from continuous to discrete is called sampling. Sampling Theory Sampling Theory • Signal - function that conveys information • Point Sampling – Audio signal (1D - function of time) – start with continuous signal – Image (2D - function of space) – calculate values of signal at discrete, evenly • Continuous vs. Discrete spaced points (sampling) – Continuous - defined for all values in range – convert back to continuous signal for display or output (reconstruction) – Discrete - defined for a set of discrete points in range. Sampling Theory Sampling Theory • Sampling can be described as creating a set of values representing a function evaluated at evenly spaced samples fn = f (i∆) i = 0,1,2,K,n ∆ = interval between samples = range / n. Foley/VanDam 1 Sampling Theory Issues: • Sampling Rate = number of samples per unit • Important features of a scene may be missed 1 • If view changes slightly or objects move f = slightly, objects may move in and out of ∆ visibility. • Example -- CD Audio • To fix, sample at a higher rate, but how high – sampling rate of 44,100 samples/sec does it need to be? – ∆ = 1 sample every 2.26x10-5 seconds Sampling Theory Sampling Theory • Rich mathematical foundation for sampling • Spatial vs frequency domains theory – Most well behaved functions
    [Show full text]
  • Cs354r Dr Sarah Abraham Materials and Textures Cs354r
    CS354R DR SARAH ABRAHAM MATERIALS AND TEXTURES CS354R IMPROVING VISUAL FIDELITY ▸ Historically games relied on simple, local lighting models ▸ How did they get games to look like this? CS354R TEXTURE MAPPING ▸ Take a “painted” image (texture) and wrap it around a 3D mesh (map) to add more detail ▸ Works for any shading parameters, not just color CS354R BASIC MAPPING ▸ Textures live in a 2D space ▸ Parameterize points in the texture with 2 coordinates: (s, t) ▸ Define the mapping from (x, y, z) in world space to (s, t) in texture space ▸ For polygons: ▸ Specify (s, t) coordinates at vertices ▸ Interpolate (s, t) for other points CS354R BASIC TEXTURING CONCEPTS AND TERMS ▸ Vertices are coordinates that define geometry ▸ Texture coordinates specified at vertices and interpolated across triangles ▸ Texture values for points mapping outside the texture image can be generated in various ways: ▸ REPEAT, CLAMP, etc ▸ Width and height of texture images is often constrained ▸ Powers of two ▸ Sometimes required to be a square CS354R MULTITEXTURING ▸ Multitexturing hardware provides pipeline of texture units to work on fragments ▸ Apply multiple textures to a primitive in the same pass ▸ Example 1. Apply color map 2. Modify illumination to simulate bumps 3. Modify opacity ▸ Note that this is not the same as a multi-pass rendering — done in a single pass! CS354R TEXTURES IN GAMES ▸ Modern game engines provide a lot of texture support ▸ High level of control for importing and editing ▸ Varying resolutions to support hardware performance ▸ Automatic texture
    [Show full text]