Subpixel Reconstruction Antialiasing for Deferred Shading
Total Page:16
File Type:pdf, Size:1020Kb
Load more
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. -
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 -
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). -
Evolution of Programmable Models for Graphics Engines (High
Hello and welcome! Today I want to talk about the evolution of programmable models for graphics engine programming for algorithm developing My name is Natalya Tatarchuk (some folks know me as Natasha) and I am director of global graphics at Unity I recently joined Unity… 4 …right after having helped ship the original Destiny @ Bungie where I was the graphics lead and engineering architect … 5 and lead the graphics team for Destiny 2, shipping this year. Before that, I led the graphics research and demo team @ AMD, helping drive and define graphics API such as DirectX 11 and define GPU hardware features together with the architecture team. Oh, and I developed a bunch of graphics algorithms and demos when I was there too. At Unity, I am helping to define a vision for the future of Graphics and help drive the graphics technology forward. I am lucky because I get to do it with an amazing team of really talented folks working on graphics at Unity! In today’s talk I want to touch on the programming models we use for real-time graphics, and how we could possibly improve things. As all in the room will easily agree, what we currently have as programming models for graphics engineering are rather complex beasts. We have numerous dimensions in that domain: Model graphics programming lives on top of a very fragmented and complex platform and API ecosystem For example, this is snapshot of all the more than 25 platforms that Unity supports today, including PC, consoles, VR, mobile platforms – all with varied hardware, divergent graphics API and feature sets. -
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. -
Rendering 13, Deferred Shading, a Unity Tutorial
Catlike Coding Unity C# Tutorials Rendering 13 Deferred Shading Explore deferred shading. Fill Geometry Bufers. Support both HDR and LDR. Work with Deferred Reflections. This is part 13 of a tutorial series about rendering. The previous installment covered semitransparent shadows. Now we'll look at deferred shading. This tutorial was made with Unity 5.5.0f3. The anatomy of geometry. 1 Another Rendering Path Up to this point we've always used Unity's forward rendering path. But that's not the only rendering method that Unity supports. There's also the deferred path. And there are also the legacy vertex lit and the legacy deferred paths, but we won't cover those. So there is a deferred rendering path, but why would we bother with it? After all, we can render everything we want using the forward path. To answer that question, let's investigate their diferences. 1.1 Switching Paths Which rendering path is used is defined by the project-wide graphics settings. You can get there via Edit / Project Settings / Graphics. The rendering path and a few other settings are configured in three tiers. These tiers correspond to diferent categories of GPUs. The better the GPU, the higher a tier Unity uses. You can select which tier the editor uses via the Editor / Graphics Emulation submenu. Graphics settings, per tier. To change the rendering path, disable Use Defaults for the desired tier, then select either Forward or Deferred as the Rendering Path. 1.2 Comparing Draw Calls I'll use the Shadows Scene from the Rendering 7, Shadows tutorial to compare both approaches. -
Real-Time Lighting Effects Using Deferred Shading
Real-time Lighting Effects using Deferred Shading Michal Ferko∗ Supervised by: Michal Valient† Faculty of Mathematics, Physics and Informatics Comenius University Bratislava / Slovakia Abstract We are targeting OpenGL 3 capable hardware, because we require the framebuffer object features as well as mul- Rendering realistic objects at interactive frame rates is a tiple render targets. necessary goal for many of today’s applications, especially computer games. However, most rendering engines used in these games induce certain limitations regarding mov- 2 Related Work ing of objects or the amount of lights used. We present a rendering system that helps overcome these limitations There are many implementations of Deferred Shading and while the system is still able to render complex scenes at this concept has been widely used in modern games [15] 60 FPS. Our system uses Deferred Shading with Shadow [12] [5], coupled with techniques used in our paper as well Mapping for a more efficient way to synthesize lighting as certain other. coupled with Screen-Space Ambient Occlusion to fine- Deferred Shading does not directly allow rendering of tune the final shading. We also provide a way to render transparent objects and therefore, we need to use a differ- transparent objects efficiently without encumbering the ent method to render transparent objects. There are several CPU. approaches to hardware-accelerated rendering of transpar- ent objects without the need to sort geometry. This group Keywords: Real-time Rendering, Deferred Shading, of algorithms is referred to as Order-Independent Trans- High-dynamic range rendering, Tone-mapping, Order- parency. Independent Transparency, Ambient Occlusion, Screen- An older approach is Depth Peeling [7] [4], which re- Space Ambient Occlusion, Stencil Routed A-Buffer quires N scene rendering passes to capture N layers of transparent geometry. -
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 -
More Efficient Virtual Shadow Maps for Many Lights
1 More Efficient Virtual Shadow Maps for Many Lights Ola Olsson1;2, Markus Billeter1;3, Erik Sintorn1, Viktor Kampe¨ 1, and Ulf Assarsson1 (Invited Paper) Abstract—Recently, several algorithms have been introduced for shading is much more important. To this end we use that enable real-time performance for many lights in applications Clustered Deferred Shading [3], as our starting point. This such as games. In this paper, we explore the use of hardware- algorithm offers the highest light-culling efficiency among supported virtual cube-map shadows to efficiently implement high-quality shadows from hundreds of light sources in real time current real-time many-light algorithms and the most robust and within a bounded memory footprint. In addition, we explore shading performance. Moreover, clustered shading provides the utility of ray tracing for shadows from many lights and tight 3D bounds around groups of samples in the frame present a hybrid algorithm combining ray tracing with cube buffer and therefore can be viewed as a fast voxelization of maps to exploit their respective strengths. Our solution supports the visible geometry. Thus, as we will show, these clusters real-time performance with hundreds of lights in fully dynamic high-detail scenes. provide opportunities for efficient culling of shadow casters and allocation of shadow map memory. Index Terms—Computer graphics, GPU, real-time shading, shadows, virtual texturing. A. Contributions We contribute an efficient culling scheme, based on clusters, I. INTRODUCTION which is used to render shadow-casting geometry to many cube In recent years, several techniques have been presented shadow maps. We demonstrate that this can enable real-time that enable real-time performance for applications such as rendering performance using shadow maps for hundreds of games using hundreds to many thousands of lights. -
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. -
A Novel Multithreaded Rendering System Based on a Deferred Approach
VIII Brazilian Symposium on Games and Digital Entertainment Rio de Janeiro, RJ – Brazil, October, 8th-10th 2009 A Novel Multithreaded Rendering System based on a Deferred Approach Jorge Alejandro Lorenzon Esteban Walter Gonzalez Clua Universidad Austral, Argentina Media Lab – UFF, Brazil [email protected] [email protected] Figure 1: Mix of the final illuminated picture, the diffuse color buffer and the normal buffer Abstract Therefore, the architecture of newer game engines must include fine-grained multithreaded algorithms This paper presents the architecture of a rendering and systems. Fortunately for some systems like physics system designed for multithreaded rendering. The and AI this can be done. However, when it comes to implementation of the architecture following a deferred rendering there is one big issue: All draw and state rendering approach shows gains of 65% on a dual core calls must go to the graphics processing unit (GPU) in 1 machine. a serialized manner . This limits game engines as only one thread can actually execute draw calls to the Keywords : multithreaded rendering, deferred graphics card. Adding to the problem, draw calls and rendering, DirectX 11, command buffer, thread pool state management of the graphics pipeline are expensive for the CPU as there is a considerable overhead created by the API and driver. For this 1. Introduction reason, most games and 3D applications are CPU Game engines and 3D software are constantly bound and rely on batching 3D models to feed the changing as the underlying hardware and low level GPU. APIs evolve. The main driving force of change is the pursuit of greater performance for 3D software, which Microsoft, aware of this problem, is pushing means, pushing more polygons with more realistic forward a new multithreaded graphics API for the PC, models of illumination and shading techniques to the Direct3D11. -
Efficient Virtual Shadow Maps for Many Lights
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TVCG.2015.2418772, IEEE Transactions on Visualization and Computer Graphics 1 More Efficient Virtual Shadow Maps for Many Lights Ola Olsson1;2, Markus Billeter1;3, Erik Sintorn1, Viktor Kampe¨ 1, and Ulf Assarsson1 (Invited Paper) Abstract—Recently, several algorithms have been introduced algorithm offers the highest light-culling efficiency among that enable real-time performance for many lights in applications current real-time many-light algorithms and the most robust such as games. In this paper, we explore the use of hardware- shading performance. Moreover, clustered shading provides supported virtual cube-map shadows to efficiently implement high-quality shadows from hundreds of light sources in real time tight 3D bounds around groups of samples in the frame and within a bounded memory footprint. In addition, we explore buffer and therefore can be viewed as a fast voxelization of the utility of ray tracing for shadows from many lights and the visible geometry. Thus, as we will show, these clusters present a hybrid algorithm combining ray tracing with cube provide opportunities for efficient culling of shadow casters maps to exploit their respective strengths. Our solution supports and allocation of shadow map memory. real-time performance with hundreds of lights in fully dynamic high-detail scenes. A. Contributions I. INTRODUCTION We contribute an efficient culling scheme, based on clusters, In recent years, several techniques have been presented which is used to render shadow-casting geometry to many cube that enable real-time performance for applications such as shadow maps.