Project Plan for May08-38 - Interactive Ray Tracer on the Playstation 3

Total Page:16

File Type:pdf, Size:1020Kb

Project Plan for May08-38 - Interactive Ray Tracer on the Playstation 3 Project Plan for May08-38 - Interactive Ray Tracer on the PlayStation 3 Brendan Campbell, Daniel Risse, Aaron Westphal, Sean Godinez November 25, 2007 Figure 1: IBM's iRT Produces beautiful results Abstract The PlayStation 3 uses a new processor called the Cell Broadband Engine, developed by IBM. This report discusses a software application to run on the PlayStation 3 that utilizes the computational performance-enhancing features of the Cell Broadband Engine for the purposes of ray tracing. Terms: CBE Cell Broadband Engine A processor developed by IBM that is the CPU of Sony's PlayStation 3 gaming console. It is also referred to as the Cell Processor. SIMD Single Instruction, Multiple Data. A SIMD command is an instruction that tells a processor to work on several data items with the same operation applied to each. This is also sometimes known as a vector operation. PPE Power Processing Element. This is the main core of the Cell Processor. SPE Synergistic Processing Element. This is a co-processor that specializes in SIMD instructions and is a supplemental part of the Cell Processor. IBM's iRT A team at IBM produced an interactive ray tracer to showcase the capabilities of the Cell Broadband Engine. Their ray tracer is known as iRT. 1 Contents 1 Design and Requirements Specication 4 1.1 Problem Statement . 4 1.2 Solution Concept . 5 1.3 System Description . 5 1.4 Operating Environment . 7 1.5 User Interface Description . 7 1.6 Market and Literature Survey . 7 1.6.1 Desirable Features for an Interactive Ray Tracer . 7 1.6.1.1 High Frame Rate . 7 1.6.1.2 Low-latency from user input . 7 1.6.1.3 Color . 8 1.6.1.4 Diuse Shading . 8 1.6.1.5 Specular Shading . 8 1.6.1.6 Shadows . 8 1.6.1.7 Reections . 8 1.6.1.8 Refraction . 8 1.6.1.9 Anti-aliasing . 9 1.6.1.10 Textures . 9 1.6.1.11 Bump-mapping . 9 1.6.1.12 Ambient Occlusion . 9 1.6.1.13 Global Illumination . 9 1.6.2 Means to Achieve Features . 10 1.6.2.1 Hierarchies . 10 1.6.2.2 Grouping of Similar Tasks. 10 1.6.2.3 Iterative vs. Recursive Design . 10 1.6.3 Impact for This Project . 10 1.6.4 Originality . 11 1.7 Requirements . 11 1.7.1 Functional Requirements: . 11 1.7.2 Non-Functional Requirements . 12 1.8 Deliverables . 12 2 2 Project Plan 13 2.1 Work Breakdown Structure . 13 2.2 Budget . 14 2.3 Project Schedule . 14 3 Chapter 1 Design and Requirements Specication 1.1 Problem Statement Our client, Dr. Joseph Zambreno, is interested in achieving a real-time Ray Tracing Graphics application on a PlayStation 3 (PS3). Traditionally, Ray Tracing is a very computationally intensive process, often requiring highly par- allelized supercomputers or clusters for real-time interactivity. The PlayStation 3 uses a parallel processing architecture of IBM's design known as Cell Broad- band Engine. Implementing interactive ray tracing on the Cell architecture is an area of only limited research so far, and it is believed that there is room improvement in ² the detail of renders the number of features implemented, ² the speed of interaction and frame-rate of image generation, and ² the scalability of such applications through clustering. ² There is also room for taking greater advantage of the parallelism inherent in the Cell's multiple SPE (Synergistic Processing Element) design, and SIMD (Single Instruction Multiple Data) vector handling. Our client's goal for us is to implement a well-featured interactive Ray Tracer for Linux on the PS3. This includes producing a working end program, ecient and readable source code for future development, and complete documentation. It is also desired to make it scalable to multiple PS3s, and potentially publish this work in an academic journal. We will be approaching the problem by taking the following steps: 1 Thorough research, studying the previous implementations and the Cell Broadband Engine Architecture 4 2 Implementing a prototype that uses modular code for a Ray Tracer. 3 Iteratively add features. 4 Testing, optimization and documentation. 1.2 Solution Concept Ray Tracing is a set of algorithms that simulate the interactions of light rays with objects within a given, possibly dynamic, scene. It is based on the inverse of how actual light rays behave: instead of tracing all rays from luminous sources, it traces each pixel of a camera window to objects visible in the scene, and from each of those backwards, almost recursively (but implemented more eciently), until some termination point or recursion-depth limit. Many aspects of physical phenomena are common in typical Ray Tracing applications, including reec- tion, refraction, shading, shadows, textured and/or bump-mapped surfaces, and others. Scenes to render can be specied using natural shapes such as spheres and not just triangles as in common but faster rasterization algorithms. This can result in far more realistic looking models than rasterization, however the time to compute the render is typically orders of magnitude greater for Ray Tracing. Nonetheless, with parallel architectures, fast processors, ecient and optimized code, achieving real-time renders with low-latency user input to move the camera or objects in the scene is close at hand. 1.3 System Description The purpose of the program is to take a model le into the PPE and divide its ray tracings into each SPE for side-by-side run time. The PPE and SPEs use real-time interactive ray tracing algorithms to generate output which is sent to the frame buer for viewing. When a new model le or the camera angle is changed, the algorithm must be run again with a new origin for the tracing rays. The generated image uses shadows, refraction, reection, and illumination to simulate life-like scenes. 5 Figure 1.1: System Block Diagram. Shows the ow of actions and data as the software runs. Camera Input Device Scene File File Load Raytrace PS3 PPE Raytrace Raytrace Raytrace SPE SPE Raytrace Raytrace SPE SPE SPE SPE Memory Bus Memory Output The program takes in a model le to the PPE, which is then divided into tasks to be traced by the individual SPEs. Each SPE and the PPE have access to a shared memory bus, as well as the output buer, to which each SPE sends its results. The input controller sends a new origin for the rays of the ray-tracing to the PPE, which then updates each SPE as necessary. 6 1.4 Operating Environment The operating environment for our application will be a PS3 console connected to some type of display and having a USB keyboard input. There will be a distribution of Linux already installed and running on the PS3, and this will be the software environment in which our application will run. There are constraints of hardware availability within the Linux environment on the PS3, for instance, many dedicated graphics capabilities of the hardware are crippled when not using the PS3s native OS. However, Ray Tracing is not well suited to this kind of processing hardware and will instead run on the Cell Processor?s Primary Processing Element (PPE) and the 5 available SPEs. The application will be written to take advantage of these units by running sequences in parallel, in addition to using SIMD instructions to parallelize vector and array operations. 1.5 User Interface Description The user interface for our application will be very simple. The display will consist entirely of the scene to be rendered, being sent through the PS3s video outputs to a compatible display. The interactivity will be achieved through a USB keyboard, for which Linux on the PS3 already has support. Key controls will enable such actions as moving the camera window around, and potentially manipulating the scene being rendered. The interface will not allow editing of the original scene data. Scene les will have to be created and modied with existing design tools. 1.6 Market and Literature Survey 1.6.1 Desirable Features for an Interactive Ray Tracer 1.6.1.1 High Frame Rate Interactive Ray Tracers, by denition, have to be able to display an ever- changing 3D scene at a frame-rate that is fast enough to seem smooth (20+ fps). The greatest obstacle to achieving such frame-rates is the amount of com- putation required to render a single frame. At a normal resolution (720x1280 aka 720p)[2], nearly one million rays are generated initially, and these rays have to do several intersection tests each. Furthermore, each ray must spawn more rays in order to calculate shadows and reections. It's easy to tell that the number of calculations is on the order of several million, per frame. 1.6.1.2 Low-latency from user input An Interactive Ray Tracer must be able to provide near-immediate response to user input. Otherwise, the utility of the input, as well as the pace at which a user manipulates the scene, decrease substantially. The sort of changes based on user input can include: 7 ² Changing the geometries (shape/distances of objects in the scene) ² Changing Lights ² Moving the camera Of these changes, changing the geometry is generally the most dicult to do quickly. This is due to the techniques that are traditionally used to speed up ray tracing. 1.6.1.3 Color Full-color renders (24-bit, usually) are generally expected from Ray Tracers. Interactive Ray Tracers are no exception. 1.6.1.4 Diuse Shading Diuse shading is calculated based on the angle at which a light source hits a surface.
Recommended publications
  • Raytracing Prefiltered Occlusion for Aggregate Geometry
    Raytracing Prefiltered Occlusion for Aggregate Geometry Dylan Lacewell1,2 Brent Burley1 Solomon Boulos3 Peter Shirley4,2 1 Walt Disney Animation Studios 2 University of Utah 3 Stanford University 4 NVIDIA Corporation Figure 1: Computing shadows using a prefiltered BVH is more efficient than using an ordinary BVH. (a) Using an ordinary BVH with 4 shadow rays per shading point requires 112 seconds for shadow rays, and produces significant visible noise. (b) Using a prefiltered BVH with 9 shadow rays requires 74 seconds, and visible noise is decreased. (c) Reducing noise to a similar level with an ordinary BVH requires 25 shadow rays and 704 seconds (about 9.5× slower). All images use 5 × 5 samples per pixel. The scene consists of about 2M triangles, each of which is semi-opaque (α = 0.85) to shadow rays. ABSTRACT aggregate geometry, it suffices to use a prefiltering algorithm that is We prefilter occlusion of aggregate geometry, e.g., foliage or hair, linear in the number of nodes in the BVH. Once built, a prefiltered storing local occlusion as a directional opacity in each node of a BVH does not need to be updated unless geometry changes. bounding volume hierarchy (BVH). During intersection, we termi- During rendering, we terminate shadow rays at some level of the nate rays early at BVH nodes based on ray differential, and compos- BVH, dependent on the differential [10] of each ray, and return the ite the stored opacities. This makes intersection cost independent of stored opacity at the node. The combined opacity of the ray is com- geometric complexity for rays with large differentials, and simulta- puted by compositing the opacities of one or more nodes that the neously reduces the variance of occlusion estimates.
    [Show full text]
  • Fast Precomputed Ambient Occlusion for Proximity Shadows
    INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE Fast Precomputed Ambient Occlusion for Proximity Shadows Mattias Malmer — Fredrik Malmer — Ulf Assarsson — Nicolas Holzschuch N° 5779 Décembre 2005 Thème COG apport de recherche ISRN INRIA/RR--5779--FR+ENG ISSN 0249-6399 Fast Precomputed Ambient Occlusion for Proximity Shadows Mattias Malmer∗ , Fredrik Malmer∗ , Ulf Assarsson† ‡ , Nicolas Holzschuch‡ Thème COG — Systèmes cognitifs Projets ARTIS Rapport de recherche n° 5779 — Décembre 2005 — 19 pages Abstract: Ambient occlusion is used widely for improving the realism of real-time lighting simulations. We present a new, simple method for storing ambient occlusion values, that is very easy to implement and uses very little CPU and GPU resources. This method can be used to store and retrieve the percentage of occlusion, either alone or in combination with the average occluded direction. The former is cheaper in memory costs, while being slightly less accurate. The latter is slightly more expensive in memory, but gives more accurate results, especially when combining several occluders. The speed of our algorithm is independent of the complexity of either the occluder or the receiving scene. This makes the algorithm highly suitable for games and other real-time applications. Key-words: ∗ Syndicate Ent., Grevgatan 53, SE-114 58 Stockholm, Sweden. † Chalmers University of Technology, SE-412 96 Göteborg, Sweden. ‡ ARTIS/GRAVIR – IMAG INRIA Rhône-Alpes, France. Unité de recherche INRIA Rhône-Alpes 655, avenue de l’Europe, 38334 Montbonnot Saint Ismier (France) Téléphone : +33 4 76 61 52 00 — Télécopie +33 4 76 61 52 52 Fast Precomputed Ambient Occlusion for Proximity Shadows Résumé : L’Ambient Occlusion est fréquemment utilisée pour améliorer le réalisme de simulations de l’éclairage en temps-réel.
    [Show full text]
  • Combining Screen-Space Ambient Occlusion and Cartoon Rendering on Graphics Hardware
    Combining Screen-Space Ambient Occlusion and Cartoon Rendering on Graphics Hardware Brett Lajzer Dan Nottingham Figure 1: Four visualizations of the same scene: a) no SSAO or outlining, b) SSAO, no outlines, c) no SSAO, outlines, d) SSAO and outlines 1. Motivation Screen-Space Ambient Occlusion Screen-space ambient occlusion (SSAO) is a further Methods for non-photorealistic rendering of 3D scenes have approximation of this technique, which was developed by become more popular in recent years for computer CryTek for their game Crysis and its engine. This version animation and games. We were interested in combining computes ambient occlusion for each pixel visible on the two particular NPR techniques: ambient occlusion and screen, by generating random points in the hemisphere cartoon shading. Ambient occlusion is an approach to around that pixel, and determining occlusion for each point global lighting that assumes that a point on the surface of by comparing its depth to a depth map of the scene. The an object receives less ambient light if there are many other sample is considered occluded if it is further from the objects occupying the space nearby in the hemisphere camera than the depth of the nearest visible object at that around that point. Screen-space ambient occlusion point, unless the difference in depth is greater than the approximates this on the GPU using the depth buffer to test sample radius. The advantage of this method is that it can occlusion of sample points. We combine this with cartoon be implemented on graphics hardware and run in real time, shading, which draws dark outlines on objects based on making it more suited to dynamic, interactive scenes due to depth and normal discontinuities, and thresholds lighting its dependence only upon screen resolution rather than intensity to several discreet values.
    [Show full text]
  • Fast Image-Based Ambient Occlusion IBAO
    The International Journal of Virtual Reality, 2011, 10(4):61-65 61 Fast Image-Based Ambient Occlusion IBAO Robert Sajko and Zeljka Mihajlovic University of Zagreb, Faculty of Electrical Engineering and Computing,Department of Electronics, Microelectronics, Computer and Intelligent Systems Ambient lighting is an approximation of the light reflected from Abstract— The quality of computer rendering and perception other objects in the scene. Its presence reveals the spatial of realism greatly depend on the shading method used to relationship between objects, their shape, depth and surface implement the interaction of light with the surfaces of objects in a complexity details. Ambient lighting can be locally occluded scene. Ambient occlusion (AO) enhances the realistic impression by nearby object or a fold in the surface. Ambient occlusion of rendered objects and scenes. Properties that make Screen produces only subtle visual cues, however, they are very Space Ambient Occlusion (SSAO) interesting for real-time important in natural perception and thus also in a convincing, graphics are scene complexity independence, and support for fully dynamic scenes. However, there are also important issues with realistic lighting model. current approaches: poor texture cache use, introduction of noise, Modern consumer GPUs offer impressive computational and performance swings. power which has allowed the use of various techniques and In this paper, a straightforward solution is presented. Instead algorithms in real-time computer graphics that were previously of a traditional, geometry-based sampling method, a novel, possible in offline rendering only. One such technique is image-based sampling method is developed, coupled with a ambient occlusion, which approximates soft shadows due to revised heuristic function for computing occlusion.
    [Show full text]
  • Neural Network Ambient Occlusion
    Neural Network Ambient Occlusion Daniel Holden∗ Jun Saitoy Taku Komuraz University of Edinburgh Method Studios University of Edinburgh Figure 1: Comparison showing Neural Network Ambient Occlusion enabled and disabled inside a game engine. Abstract which is more accurate than existing techniques, has better perfor- mance, no user parameters other than the occlusion radius, and can We present Neural Network Ambient Occlusion (NNAO), a fast, ac- be computed in a single pass allowing it to be used as a drop-in curate screen space ambient occlusion algorithm that uses a neural replacement for existing techniques. network to learn an optimal approximation of the ambient occlu- sion effect. Our network is carefully designed such that it can be 2 Related Work computed in a single pass allowing it to be used as a drop-in re- placement for existing screen space ambient occlusion techniques. Screen Space Ambient Occlusion Screen Space Ambient Oc- clusion (SSAO) was first introduced by Mittring [2007] for use in Keywords: neural networks, machine learning, screen space am- Cryengine2. The approach samples around the depth buffer in a bient occlusion, SSAO, HBAO view space sphere and counts the number of points which are in- side the depth surface to estimate the occlusion. This method has seen wide adoption but often produces artifacts such as dark halos 1 Introduction around object silhouettes or white highlights on object edges. Fil- ion and McNaughton [2008] presented SSAO+, an extension which Ambient Occlusion is a key component in the lighting of a scene samples in a hemisphere oriented in the direction of the surface nor- but expensive to calculate.
    [Show full text]
  • Real-Time Ray Traced Ambient Occlusion and Animation Image Quality and Performance of Hardware- Accelerated Ray Traced Ambient Occlusion
    DEGREE PROJECTIN COMPUTER SCIENCE AND ENGINEERING, SECOND CYCLE, 30 CREDITS STOCKHOLM, SWEDEN 2021 Real-time Ray Traced Ambient Occlusion and Animation Image quality and performance of hardware- accelerated ray traced ambient occlusion FABIAN WALDNER KTH ROYAL INSTITUTE OF TECHNOLOGY SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE Real-time Ray Traced Ambient Occlusion and Animation Image quality and performance of hardware-accelerated ray traced ambient occlusion FABIAN Waldner Master’s Programme, Industrial Engineering and Management, 120 credits Date: June 2, 2021 Supervisor: Christopher Peters Examiner: Tino Weinkauf School of Electrical Engineering and Computer Science Swedish title: Strålspårad ambient ocklusion i realtid med animationer Swedish subtitle: Bildkvalité och prestanda av hårdvaruaccelererad, strålspårad ambient ocklusion © 2021 Fabian Waldner Abstract | i Abstract Recently, new hardware capabilities in GPUs has opened the possibility of ray tracing in real-time at interactive framerates. These new capabilities can be used for a range of ray tracing techniques - the focus of this thesis is on ray traced ambient occlusion (RTAO). This thesis evaluates real-time ray RTAO by comparing it with ground- truth ambient occlusion (GTAO), a state-of-the-art screen space ambient occlusion (SSAO) method. A contribution by this thesis is that the evaluation is made in scenarios that includes animated objects, both rigid-body animations and skinning animations. This approach has some advantages: it can emphasise visual artefacts that arise due to objects moving and animating. Furthermore, it makes the performance tests better approximate real-world applications such as video games and interactive visualisations. This is particularly true for RTAO, which gets more expensive as the number of objects in a scene increases and have additional costs from managing the ray tracing acceleration structures.
    [Show full text]
  • Light Propagation Volumes in Cryengine 3 Anton Kaplanyan1
    Light Propagation Volumes in CryEngine 3 Anton Kaplanyan1 1 [email protected] 1 | P a g e Figure 1. Examples of current technique in CryEngine® 3. Top: Cornell box-like environment, middle left: indoor environment without global illumination, middle right indoor environment with global illumination, bottom: outdoor environment with foliage. Note the indirect lighting in shadow areas. 2 | P a g e 1 Abstract This chapter introduces a new technique for approximating the first bounce of diffuse global illumination in real-time. As diffuse global illumination is very computationally intensive, it is usually implemented only as static precomputed solutions thus negatively affecting game production time. In this chapter we present a completely dynamic solution using spherical harmonics (SH) radiance volumes for light field finite-element approximation, point-based injective volumetric rendering and a new iterative radiance propagation approach. Our implementation proves that it is possible to use this solution efficiently even with current generation of console hardware (Microsoft Xbox® 360, Sony PlayStation® 3). Because this technique does not require any preprocessing stages and fully supports dynamic lighting, objects, materials and view points, it is possible to harmoniously integrate it into an engine as complex as the cross-platform engine CryEngine® 3 with a large set of graphics technologies without requiring additional production time. Additional applications and combinations with existing techniques are dicussed in details in this chapter. 2 Introduction Some details on rendering pipeline of CryEngine 2 and CryEngine 3 G-Buffer 4 could be found in [MITTRING07], [MITTRING09]. However this paper is dedicated to diffuse global illumination solution in the engine.
    [Show full text]
  • Ambient Occlusion Fields Janne Kontkanen∗ Samuli Laine, Helsinki University of Technology Helsinki University of Technology and Hybrid Graphics, Ltd
    Ambient Occlusion Fields Janne Kontkanen∗ Samuli Laine, Helsinki University of Technology Helsinki University of Technology and Hybrid Graphics, Ltd. Abstract We present a novel real-time technique for computing inter-object ambient occlusion. For each occluding object, we precompute a field in the surrounding space that encodes an approximation of the occlusion caused by the object. This volumetric information is then used at run-time in a fragment program for quickly determining the shadow cast on the receiving objects. According to our results, both the computational and storage requirements are low enough for the technique to be directly applicable to computer games running on the current graphics hardware. CR Categories: I.3.7 [Computer Graphics]: Three-Dimensional Graphics and Realism—Color, shading, shadowing, and texture Keywords: shadowing techniques, games & GPUs, interactive global illumination, reflectance models & shading Figure 1: A tank casts shadows on the surrounding environment. 1 Introduction The shadows are rendered using the method described in this paper. The scene runs 136 fps at 1024 × 768 resolution on a Pentium 4 with ATI Radeon 9800XT graphics board. The idea of ambient occlusion is a special case of the obscurances technique which was first presented by Zhukov et al. [1998], but overhead. For this reason, ambient occlusion is gaining interest half of the credit belongs to the movie industry and the produc- also in the real-time graphics community [Pharr 2004]. However, tion rendering community for refining and popularizing the tech- the inter-object occlusion has to be re-evaluated whenever spatial nique [Landis 2002; Christensen 2002]. Ambient occlusion refers relationships of the objects change.
    [Show full text]
  • Hybrid Rendering for Real- Time Ray Tracing
    CHAPTER 25 Hybrid Rendering for Real- Time Ray Tracing Colin Barré-Brisebois, Henrik Halén, Graham Wihlidal, Andrew Lauritzen, Jasper Bekkers, Tomasz Stachowiak, and Johan Andersson SEED / Electronic Arts ABSTRACT This chapter describes the rendering pipeline developed for PICA PICA, a real-time ray tracing experiment featuring self-learning agents in a procedurally assembled world. PICA PICA showcases a hybrid rendering pipeline in which rasterization, compute, and ray tracing shaders work together to enable real-time visuals approaching the quality of offline path tracing. The design behind the various stages of such a pipeline is described, including implementation details essential to the realization of PICA PICA’s hybrid ray tracing techniques. Advice on implementing the various ray tracing stages is provided, supplemented by pseudocode for ray traced shadows and ambient occlusion. A replacement to exponential averaging in the form of a reactive multi-scale mean estimator is also included. Even though PICA PICA’s world is lightly textured and small, this chapter describes the necessary building blocks of a hybrid rendering pipeline that could then be specialized for any AAA game. Ultimately, this chapter provides the reader with an overall good design to augment existing physically based deferred rendering pipelines with ray tracing, in a modular fashion that is compatible across visual styles. 25.1 HYBRID RENDERING PIPELINE OVERVIEW PICA PICA [2, 3] features a hybrid rendering pipeline that relies on the rasterization and compute stages of the modern graphics pipeline, as well as the recently added ray tracing stage [23]. See Figure 25-1. The reader can see such results via a video available online [10].
    [Show full text]
  • Rendering Techniques of Final Fantasy XV Your Logo on White Centered in This Space
    © 2016 SQUARE ENIX CO., LTD. All Rights Reserved. Rendering Techniques of Final Fantasy XV Your logo on white centered in this space. Masayoshi MIYAMOTO Remi DRIANCOURT Square Enix Co., Ltd. © 2016 SQUARE ENIX CO., LTD. All Rights Reserved. Authors Sharif Elcott Advanced Technology Division Kay Chang Advanced Technology Division Masayoshi Miyamoto * Business Division 2 Napaporn Metaaphanon Advanced Technology Division Remi Driancourt * Advanced Technology Division * presenters Other SESSIONS ANGRY EFFECTS SALAD Visual Effects of Final Fantasy XV: Concept, Environment, and Implementation Monday, 25 July, 2-3:30 pm BUILDING CHARACTER Character Workflow of Final Fantasy XV Tuesday, 26 July, 2-3:30 pm BRAIN & BRAWN Final Fantasy XV: Pulse and Traction of Characters Tuesday, 26 July, 3:45-5:15 pm PLAYING GOD Environment Workflow of Final Fantasy XV Wednesday, 27 July, 3:45-5:15 pm ELECTRONIC THEATER The Universe of Final Fantasy XV Mon, 25 July, 6-8 pm / Wed, 27 July, 8-10 pm REAL-TIME LIVE Real-Time Technologies of FINAL FANTASY XV Battles Tuesday, 26 July, 5:30-7:15 pm Final Fantasy XV • Action role-playing game • PlayStation4, XBoxOne • Release date: Sept 30, 2016 • Demos – Episode Duscae – Platinum Demo Final Fantasy XV • The most “open-world” FF – Indoor & outdoor – Day/night cycles – Dynamic weather – Sky and weather are a big part of storytelling Agenda • Basic Rendering • Global Illumination • Sky • Weather Basic features • Modern AAA-class engine Tools & Authoring • The usual suspects – Physically-Based Shading – Linear workflow – Deferred & forward – Tile-based light culling – IES lights Picture CG – Cascaded Shadow maps – Temporal Antialiasing – Use of Async Compute Pre-render Real-time – Node based authoring – etc.
    [Show full text]
  • Deep Shading
    Deep Shading Team Cucumbers Joey Chiu, Subash Chebolu, Mirkamil Mijit, Bharat Suri 1 Object Representation in Computer Graphics http://www.cmap.polytechnique.fr/~peyre/ geodesic_computations/ 2 Graphic Pipeline: Terminology 1. Local space. 2. Object space. (World space) 3. View space. 4. Clip Space. 5. Screen Space. 3 https://tayfunkayhan.wordpress.com/2018/12/16/rasterization-in-one-weekend-part-ii/ 4 https://tayfunkayhan.wordpress.com/2018/12/16/rasterization-in-one-weekend-part-ii/ 5 Phong Lighting 6 Graphic Pipeline http://web.cse.ohio-state.edu/~shen.94/5542/Site/Slides_files/hardware5542.pdf 7 Forward Shading VS Deferred Shading 8 More about Deferred Shading 9 More about Deferred Shading 10 Deferred Shading 1. Lighter Calculation 2. Heavy Memory Usage 3. No Transparent Object 11 Ray Tracing ● Completely different from GPU graphics pipeline previously mentioned ● Can capture global illumination effects ● Computationally expensive 12 Features 13 Effects ● Certain effects make rendered images appear more realistic ○ Ambient Occlusion (AO) ○ Directional Occlusion (DO) ○ Indirect Light (GI) ○ Subsurface Scattering (SSS) ○ Depth-of-Field (DOF) ○ Motion Blur (MB) ○ Image-based lighting (IBL) ○ Anti-aliasing (AAA) ● These effects are generally produced during rendering and require significant computational resources 14 Directional Occlusion (Indirect Light) ● Generalized application of Ambient Occlusion ● Accounts for the direction of light when approximating global illumination ● Screen Space Directional Occlusion (SSD0, RGS09) ○ Direction
    [Show full text]
  • Ambient Occlusion Volumes
    High Performance Graphics (2010) M. Doggett, S. Laine, and W. Hunt (Editors) Ambient Occlusion Volumes M. McGuire NVIDIA and Williams College Abstract This paper introduces a new approximation algorithm for the near-field ambient occlusion problem. It combines known pieces in a new way to achieve substantially improved quality over fast methods and substantially improved performance compared to accurate methods. Intuitively, it computes the analog of a shadow volume for ambient light around each polygon, and then applies a tunable occlusion function within the region it encloses. The algo- rithm operates on dynamic triangle meshes and produces output that is comparable to ray traced occlusion for many scenes. The algorithm’s performance on modern GPUs is largely independent of geometric complexity and is dominated by fill rate, as is the case with most deferred shading algorithms. 1. Introduction for evaluating the error in AO approximation algorithms. As elaborated in that section, it is common practice to compute Ambient illumination is an approximation to the light re- a specific variant called obscurance or near-field occlusion, flected from the sky and other objects in a scene. Ambient in which the effective occlusion distance of each surface is occlusion (AO) is the darkening that occurs when this illu- limited to some small artist-selected distance, e.g., d = 1m mination is locally blocked by another object or a nearby for human-scale scenes. This is desirable because it allows a fold in a surface. Both ambient illumination and occlusion combination of local and global illumination, whether from a are qualitatively important to perception of shape and depth precomputed ambient or environment map term or truly dy- in the real world.
    [Show full text]