The PixelTransit Image Generator: A Next-Generation Visual Simulation Engine
|
|
- Tamsyn Johnston
- 5 years ago
- Views:
Transcription
1 The PixelTransit Image Generator: A Next-Generation Visual Simulation Engine Robert P. Kuehne*, Sean Carmody** Blue Newt Software, LLC, Ann Arbor, Michigan, USA *(rpk@blue-newt.com), **(sean.carmody@blue-newt.com) Abstract. In 2007 Blue Newt Software began designing and building a new visual rendering system for visual simulation markets. The image generator, PixelTransit is built on our engine called Blue Sprocket. Our rendering technology has been instrumental in demonstrating to new customers how graphics hardware can be used not just to create better images, but to gain better insight into their simulated environments. Blue Sprocket was designed to address four core goals from a rendering perspective: improved performance, higher-quality, scalability, and improved lighting. The engine additionally was redesigned to use standards wherever possible, and to bring a degree of modularity and scalability not available in this domain. This paper will describe the design and implementation of this system and discuss current problems and future work to be done in this space. 1 Overview Blue Newt Software is a software company formed in 2001 as a consultancy performing graphics work around the world. This work has focused primarily on cross-platform OpenGL applications and the company has gained much experience and exposure to the visual simulation market during that time. In late 2007 it became apparent that there was an opportunity within the visual simulation market, and ground-based simulation in particular, to improve visual quality, performance, and take advantage of modern graphics processing units (GPUs). Blue Newt began work on an image generator (IG) product known as PixelTransit based on a simulation engine called Blue Sprocket. This engine was designed to be modular, scalable, and fully cross-platform. Beyond the system architecture, the graphics technologies and techniques chosen to be integrated were to be of the best practices of the present, with an eye towards the future of graphics hardware. At that time, a new graphics architecture was becoming available approximately every two years, and our goal was to design our graphics infrastructure so that simulators could be more easily tuned to the hardware of the day, without a major rewrite. In 2008 our decisions about our direction were validated when Daimler AG chose Blue Newt to replace their visual system with our new engine and IG. In this paper we ll describe the overall simulation engine, the PixelTransit IG, and the design of the core rendering architecture. We ll focus on the graphics and detail the architecture we ve implemented and discuss its scalability and feature set. 2 System Design The Blue Sprocket engine and PixelTransit Image Generator (Figure 2) were designed to address the limitations of simulators on the market in the mid-2000s. There existed three key areas to which
2 we were paying close attention: first, customer needs, second, the state of the image generator business, and third, the evolution of graphics processors. When we began looking at what we might build, even state-of-the-art simulators had relatively simple models, lighting, and shading. Many IGs of that time period had no shading, especially for ground simulation, and some didn t even have lighting. As we worked with clients over the years in a variety of industries we heard again and again how important lighting was becoming to simulation experiments. In conjunction with these trends, GPUs were becoming increasingly powerful, and designed more specifically for fully shaded rendering. We began researching what the state of the art in OpenGL graphics rendering was with an eye towards the needs of the simulation market. As we expected, the most advanced rendering techniques were occurring in games, and much of the Blue Sprocket engine is designed based on extant game engine ideas, patterns, and techniques. Our approach became to take the best ideas from the research and development community of gaming and simulation, and make those techniques available in service of the needs of the simulator market. We built Blue Sprocket based on this research to be fully cross-platform, running on Windows, Linux, and Mac OS X, 64-bit capable, and graphics-vendor independent. We ve built a fully-floating-point deferred lighting renderer, capable of rendering hundreds of lights in-scene at interactive framerates, along with a full post-processing pipeline. We support multiple windows, channels, and inset channels, as well as hardware genlock and framelock. In the next section, we ll begin by exploring the overall framework architecture, the PixelTransit IG, and then explain the rendering architecture. Figure 1: The PixelTransit Image Generator rendering a typical night scene with >80 lights active. 3 Architecture Blue Sprocket is designed to be modular at its core, with key modules supporting various operations as simulations might require. Among these are audio, code, scripting, networking, and of course, rendering. The base engine is coarsely threaded, with individual threads roughly handling tasks permodule. The overall architecture is as seen in Figure 2. 72
3 Figure 2: Blue Sprocket architecture and modules. The core of the Blue Sprocket Engine is a suite of pluggable components for graphics, audio, code, network, and specific features, such as SpeedTree for real-time vegetation, and DIGuy for human kinematic and crowd modeling and rendering. An application built on top of these, in our case, the PixelTransit IG, simply defines how and when these will be run, and how data flows among them. Applications are currently written in C++, though we produce a scene and object editor that utilizes our Python bindings interactively. We deliver our own networking protocol XVIS as well as the industry standard CIGI. We also support a variety of audio engines and pluggable code components. Additionally, we have an architecture that will support arbitrary custom plugins such as physics, audio-communication, etc. Of particular relevance to this paper is that we have implemented several renderers for the engine in recent years, including a traditional low-dynamic-ranged forward renderer, a high-dynamic-range forward renderer, and most recently, and the focus of this paper, a deferred lighting renderer. Application data flows through a threaded architecture in which several phases occur in-order. First, network data is unpacked and used to update objects in the scene, the running IG itself, and any other manipulable state of the application. Next, any objects with update handlers are executed to perform any operations they wish to perform. For example, car objects in our system may turn their lights on dynamically, so in the update phase, the car enables these lights, and informs the lighting subsystem about the new lights in the scene. Next, we enter the rendering phases, beginning with culling. Blue Sprocket contains a variety of culling structures suited to different circumstances. We have written specialized cullers for typical ground-simulation application data, such as binary tree cullers, adaptive kd-tree cullers, and more, as well as more traditional view-frustum cullers, object size cullers, etc. The culling architecture of Blue Sprocket itself is a major undertaking. For purposes of this paper, we ll focus on its results, which are simply a list of objects to submit to the rendering subsystem. Next the rendering system sorts these objects into efficient batches for rendering, and these objects are ready for use by the graphics subsystem described below. 4 Graphics The goal of the Blue Sprocket Engine was to allow for fully shaded, high dynamic range rendering with the capability of running more than the standard eight OpenGL lights. We required shading to be present on all objects in-scene so that we could have fully modern appearances including realist73
4 ic paint shading, bump-mapping, gloss-mapping or most any other surface appearance that could be written in code. OpenGL has, since its inception, supported up to eight hardware lights, however these lights are traditionally linearly expensive. The cost of lighting with two lights is twice as expensive as with one. This performance fall-off proceeds linearly as more lights are added. This is a core problem with traditional fixed-function rendering architectures. The complementary problem with the multiplelight scenario in a shader-based world is that of shader code complexity. The properties of each light (type, position, attenuation, etc) must be available to any shader wishing to light in order to have its contribution added to the final surface color of an object. Thus, for a single sphere in the world, its shader must have access to all lights that could possibly influence it, as well as be able to compute the influence of these lights, be they point lights, spot lights, or some other type of light. Traditional forward rendering requires a lot of complexity for each surface shader to both light and shade the objects. This system might prompt developers to write a shader composition system, how ever this becomes very complex, very quickly. Because of this problem, and a variety of undesirable solutions, our research indicated that a deferred approach and specifically deferred lighting would work best for us because it neatly separates these problems into two separate shaders: one for surface appearance and one for light influence. This decoupling makes our system very flexible in its ability to rapidly introduce new forms of both lighting and surface appearance. One additional benefit is that surface shaders easily fit into an artist s conceptual and technical workflows. Our rendering pipeline is one in which we precompute a variety of required resources for later stages, where they are combined with surface appearance. This architecture can be seen in Figure 3. Figure 3: Blue Sprocket rendering stages and paths. Rendering is performed in five major stages. In the first stage, all scene geometry is rendered to an offscreen buffer. Each shader is responsible for writing depth, normal, and specular power values for the current fragment. This stage and results are visible in Figure 4. 74
5 Figure 4: Blue Sprocket rendering Stage 1: depth, world-space normals, and specular power. Using this offscreen buffer, lighting and shading may be performed in the second stage independent of the geometry itself. For each light, proxy geometry that tightly encloses the light's area of influence is rendered to another offscreen buffer, referred to as the light buffer. For each pixel location covered by proxy geometry, lighting and shading is computed. In this way, a light's contribution is only ever computed for those pixels that are close enough to be influenced by it. Furthermore, lighting is never computed for pixels that end up being occluded. To compute the lighting and shading for a given pixel, the depth value stored in stage one is first read and used to reconstruct that pixel's world-space position. Using this position, along with the pixel normal and specular power, the Phong lighting model may be evaluated. Shadows are computed using stable, cascaded shadow maps. After proxy geometry has been rendered for each light, the light buffer contains the contributions of every light affecting the current view. Figure 5 shows these results. Figure 5: Blue Sprocket rendering stage 2: lit scene with shadows. In stage three, all scene geometry is rendered a second time. Shaders in this stage are responsible for generating color values for each fragment as well as combining this color with the lighting computed in stage two. Though in this stage it is necessary to render scene geometry twice, we are doing so with a depth-buffer that is already filled, and therefore this second pass can use the depth buffer to quickly reject occluded pixels. This means that while we are rendering twice, we re only computing shading on visible pixels, which effectively means once-per-window-pixel. 75
6 Figure 6: Blue Sprocket rendering stage 3: light and albedo combination. After computing the fully lit image, post processing is performed. In this fourth stage, any number of effects may be applied to adjust the image including tonemapping to reduce the image's high dynamic range to one displayable on LDR monitors, fog, color correction, contrast enhancement, depth of field, bloom, and others. Tonemapping in our system can be performed adaptively, taking place over a number of frames to simulate the irising of the eye, or set overall, to allow a uniform balance of detail in shadow and light. The difference between Figure 7 and 6 is subtle in print but when displayed on a monitor, quite striking and obvious. In particular notice the additional detail in shadow in the tall building on the left in Figure 7, and the overall reduction in contrast. Figure 7: Blue Sprocket rendering stage 4: post-processing. Finally, the post-processed image is copied to any window wishing to display it. We output to multiple card outputs to accommodate simultaneous projector and monitor outputs. 76
7 5 Future Work Our next areas of research and development for our engine include three key areas: anti-aliasing, transparent surface lighting, and object blurring. Anti-aliasing is very important in simulation to eliminate visual artifacts which may influence subjects during experiments. However, anti-aliasing poses unique challenges for deferred pipelines. Modern GPUs support hardware features that make a variety of new anti-aliasing techniques possible though little research into these has been done yet. Anti-aliasing is also a popular research topic and papers continue to emerge at a rapid rate [11,12]. We ll are on-track to implement a modified version of a combined version of several of these techniques during our work in late Transparency is of course a requirement in a modern Image Generator. Transparent surfaces have always been difficult to handle in rendering in general, due to their strict sorting requirements for proper blending. In deferred lighting situations, this is even more tricky as each surface must be lit correctly by the nearby lights of influence and then also sorted properly for blending. Recent games research have a few techniques which we ll be adapting to our pipeline for handling not just lighting, but also shadowing, for transparent surfaces as well. Blurring is important specifically to the driving simulator domains as objects suffer from strobing effects where they can, at certain rotational velocities, appear to slow down, stand completely still, or rotate backwards. This is due to the framerate of the IG, and the rotational change of key features in a wheel misaligning by some small amount. Our solution to these and other motion artifacts is to apply blur. Preliminary research indicates that object-specific blur techniques can eliminate these artifacts directly, though our research is at an early stage. Future versions of our engine will explore and productize these results. 6 Acknowledgments Many thanks to the rest of our talented staff at Blue Newt, specifically Jason Elliott who has been instrumental in creating many of the scenes and models shown here. Thanks to our colleagues at Daimler for keeping us challenged to push the boundaries of what s possible. Thanks to our reviewers too, including a special thanks to our colleague Volkhard Schill at VSimulation, GMBH for his encouragement and improvements. Finally thanks to our families, specifically Bob's wife Kim and Sean's wife Sarah, for their support and patience during the long process of bringing this product to market. References [1] Wolfgang Engel: Shader X 7, Charles River Media, 2009 [2] Wolfgang Engel: Shader X 6, Charles River Media, 2008 [3] Randima Fernando, GPU Gems, Addison-Wesley Professional, 2004 [4] Matt Pharr, Randima Fernando, GPU Gems 2, Addison-Wesley Professional, 2005 [5] Hubert Nguyen, GPU Gems 3, Addison-Wesley Professional, 2007 [6] T. Forsyth, Scene Graphs Just Say No, 2006, %20say%20no]] 77
8 [7] T. Forsyth, Linear-Speed Vertex Cache Optimisation, [8] T. Forsyth, blog, [9] W. Engel, blog, [10] Andersson, Tatarchuk, Frostbite Rendering Architecture, Game Developers Conference, 2007 [11] Alexander Reshetov, Morphological Antialiasing, High Performance Graphics, 2009 [12] Konstantine Iourcha, Jason Yang, and Andrew Pomianowski, A Directionally Adaptive Edge Anti-Aliasing Filter, High Performance Graphics,
Advanced Deferred Rendering Techniques. NCCA, Thesis Portfolio Peter Smith
Advanced Deferred Rendering Techniques NCCA, Thesis Portfolio Peter Smith August 2011 Abstract The following paper catalogues the improvements made to a Deferred Renderer created for an earlier NCCA project.
More informationNext-Generation Graphics on Larrabee. Tim Foley Intel Corp
Next-Generation Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationLecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013
Lecture 9: Deferred Shading Visual Computing Systems The course so far The real-time graphics pipeline abstraction Principle graphics abstractions Algorithms and modern high performance implementations
More informationRendering Grass with Instancing in DirectX* 10
Rendering Grass with Instancing in DirectX* 10 By Anu Kalra Because of the geometric complexity, rendering realistic grass in real-time is difficult, especially on consumer graphics hardware. This article
More informationGUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON
Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes
More informationScreen Space Ambient Occlusion TSBK03: Advanced Game Programming
Screen Space Ambient Occlusion TSBK03: Advanced Game Programming August Nam-Ki Ek, Oscar Johnson and Ramin Assadi March 5, 2015 This project report discusses our approach of implementing Screen Space Ambient
More informationBuilding scalable 3D applications. Ville Miettinen Hybrid Graphics
Building scalable 3D applications Ville Miettinen Hybrid Graphics What s going to happen... (1/2) Mass market: 3D apps will become a huge success on low-end and mid-tier cell phones Retro-gaming New game
More informationMany rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.
1 2 Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters. Crowd rendering in large environments presents a number of challenges,
More informationDEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/
DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/2013-11-04 DEFERRED RENDERING? CONTENTS 1. The traditional approach: Forward rendering 2. Deferred rendering (DR) overview 3. Example uses of DR:
More informationCourse Recap + 3D Graphics on Mobile GPUs
Lecture 18: Course Recap + 3D Graphics on Mobile GPUs Interactive Computer Graphics Q. What is a big concern in mobile computing? A. Power Two reasons to save power Run at higher performance for a fixed
More informationHere s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and
1 Here s the general problem we want to solve efficiently: Given a light and a set of pixels in view space, resolve occlusion between each pixel and the light. 2 To visualize this problem, consider the
More informationResolve your Resolves Jon Story Holger Gruen AMD Graphics Products Group
Jon Story Holger Gruen AMD Graphics Products Group jon.story@amd.com holger.gruen@amd.com Introduction Over the last few years it has become common place for PC games to make use of Multi-Sample Anti-Aliasing
More informationReal-Time Universal Capture Facial Animation with GPU Skin Rendering
Real-Time Universal Capture Facial Animation with GPU Skin Rendering Meng Yang mengyang@seas.upenn.edu PROJECT ABSTRACT The project implements the real-time skin rendering algorithm presented in [1], and
More informationApplications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research
Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past
More informationParallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)
Lecture 2: Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Visual Computing Systems Today Finishing up from last time Brief discussion of graphics workload metrics
More informationDominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment
Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field
More informationTSBK03 Screen-Space Ambient Occlusion
TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm
More informationPowerVR Hardware. Architecture Overview for Developers
Public Imagination Technologies PowerVR Hardware Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.
More informationEnhancing Traditional Rasterization Graphics with Ray Tracing. March 2015
Enhancing Traditional Rasterization Graphics with Ray Tracing March 2015 Introductions James Rumble Developer Technology Engineer Ray Tracing Support Justin DeCell Software Design Engineer Ray Tracing
More informationThe Making of Seemore WebGL. Will Eastcott, CEO, PlayCanvas
The Making of Seemore WebGL Will Eastcott, CEO, PlayCanvas 1 What is Seemore WebGL? A mobile-first, physically rendered game environment powered by HTML5 and WebGL 2 PlayCanvas: Powering Seemore WebGL
More informationCMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker
CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection
More informationVulkan Multipass mobile deferred done right
Vulkan Multipass mobile deferred done right Hans-Kristian Arntzen Marius Bjørge Khronos 5 / 25 / 2017 Content What is multipass? What multipass allows... A driver to do versus MRT Developers to do Transient
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects
More informationSimpler Soft Shadow Mapping Lee Salzman September 20, 2007
Simpler Soft Shadow Mapping Lee Salzman September 20, 2007 Lightmaps, as do other precomputed lighting methods, provide an efficient and pleasing solution for lighting and shadowing of relatively static
More informationDeferred Renderer Proof of Concept Report
Deferred Renderer Proof of Concept Report Octavian Mihai Vasilovici 28 March 2013 Bournemouth University 1. Summary This document aims at explaining the methods decide to be used in creating a deferred
More informationCS GAME PROGRAMMING Question bank
CS6006 - GAME PROGRAMMING Question bank Part A Unit I 1. List the different types of coordinate systems. 2. What is ray tracing? Mention some applications of ray tracing. 3. Discuss the stages involved
More informationReal-time Shadow Mapping
Electrical Engineering Faculty Technion Israel Institute of Technology Haifa, ISRAEL Real-time Shadow Mapping Joined Project in Computer Graphics for Rafael Armament Development Authority Igor Naigovzin
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
More informationComputer Graphics. Lecture 02 Graphics Pipeline. Edirlei Soares de Lima.
Computer Graphics Lecture 02 Graphics Pipeline Edirlei Soares de Lima What is the graphics pipeline? The Graphics Pipeline is a special software/hardware subsystem
More informationBeyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline
Beyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline Johan Andersson DICE Overview Give a taste of a few rendering techniques we are using & experimenting with how they interact,
More informationOptimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June
Optimizing and Profiling Unity Games for Mobile Platforms Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June 1 Agenda Introduction ARM and the presenter Preliminary knowledge
More informationCS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute
More informationPOWERVR MBX & SGX OpenVG Support and Resources
POWERVR MBX & SGX OpenVG Support and Resources Kristof Beets 3 rd Party Relations Manager - Imagination Technologies kristof.beets@imgtec.com Copyright Khronos Group, 2006 - Page 1 Copyright Khronos Group,
More informationGame Programming Lab 25th April 2016 Team 7: Luca Ardüser, Benjamin Bürgisser, Rastislav Starkov
Game Programming Lab 25th April 2016 Team 7: Luca Ardüser, Benjamin Bürgisser, Rastislav Starkov Interim Report 1. Development Stage Currently, Team 7 has fully implemented functional minimum and nearly
More informationMali Demos: Behind the Pixels. Stacy Smith
Mali Demos: Behind the Pixels Stacy Smith Mali Graphics: Behind the demos Mali Demo Team: Doug Day Stacy Smith (Me) Sylwester Bala Roberto Lopez Mendez PHOTOGRAPH UNAVAILABLE These days I spend more time
More informationSung-Eui Yoon ( 윤성의 )
CS380: Computer Graphics Ray Tracing Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Class Objectives Understand overall algorithm of recursive ray tracing Ray generations Intersection
More informationCraig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation
Gaming Technologies Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation Overview Games Yesterday & Today Game Components PC Platform & WGF 2.0 Game Trends Big Challenges
More informationEnabling immersive gaming experiences Intro to Ray Tracing
Enabling immersive gaming experiences Intro to Ray Tracing Overview What is Ray Tracing? Why Ray Tracing? PowerVR Wizard Architecture Example Content Unity Hybrid Rendering Demonstration 3 What is Ray
More informationReal-Time Rendering of a Scene With Many Pedestrians
2015 http://excel.fit.vutbr.cz Real-Time Rendering of a Scene With Many Pedestrians Va clav Pfudl Abstract The aim of this text was to describe implementation of software that would be able to simulate
More informationCS427 Multicore Architecture and Parallel Computing
CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:
More informationProgramming Graphics Hardware
Tutorial 5 Programming Graphics Hardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 9:30 10:15 10:45 Introduction to the Hardware Graphics Pipeline
More informationStreaming Massive Environments From Zero to 200MPH
FORZA MOTORSPORT From Zero to 200MPH Chris Tector (Software Architect Turn 10 Studios) Turn 10 Internal studio at Microsoft Game Studios - we make Forza Motorsport Around 70 full time staff 2 Why am I
More informationAdvanced Shading I: Shadow Rasterization Techniques
Advanced Shading I: Shadow Rasterization Techniques Shadow Terminology umbra: light totally blocked penumbra: light partially blocked occluder: object blocking light Shadow Terminology umbra: light totally
More informationEnhancing Traditional Rasterization Graphics with Ray Tracing. October 2015
Enhancing Traditional Rasterization Graphics with Ray Tracing October 2015 James Rumble Developer Technology Engineer, PowerVR Graphics Overview Ray Tracing Fundamentals PowerVR Ray Tracing Pipeline Using
More informationIntroduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics
Introduction to Computer Graphics Knowledge basic concepts 2D and 3D computer graphics 1 Introduction 2 Basic math 3 2D transformations 4 3D transformations 5 Viewing 6 Primitives 7 Geometry 8 Shading
More informationApplications of Explicit Early-Z Culling
Applications of Explicit Early-Z Culling Jason L. Mitchell ATI Research Pedro V. Sander ATI Research Introduction In past years, in the SIGGRAPH Real-Time Shading course, we have covered the details of
More informationPerformance OpenGL Programming (for whatever reason)
Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationScalable multi-gpu cloud raytracing with OpenGL
Scalable multi-gpu cloud raytracing with OpenGL University of Žilina Digital technologies 2014, Žilina, Slovakia Overview Goals Rendering distant details in visualizations Raytracing Multi-GPU programming
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More information3D Rendering Pipeline
3D Rendering Pipeline Reference: Real-Time Rendering 3 rd Edition Chapters 2 4 OpenGL SuperBible 6 th Edition Overview Rendering Pipeline Modern CG Inside a Desktop Architecture Shaders Tool Stage Asset
More informationEvolution of GPUs Chris Seitz
Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing
More informationModule Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series PG Examination 2013-14 COMPUTER GAMES DEVELOPMENT CMPSME27 Time allowed: 2 hours Answer any THREE questions. (40 marks each) Notes are
More informationComputer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping
Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Normal Mapping Store normals in texture
More informationAdaptive Point Cloud Rendering
1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13
More informationWhiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)
Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini
More informationGraphics Processing Unit Architecture (GPU Arch)
Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time
More informationProfiling and Debugging Games on Mobile Platforms
Profiling and Debugging Games on Mobile Platforms Lorenzo Dal Col Senior Software Engineer, Graphics Tools Gamelab 2013, Barcelona 26 th June 2013 Agenda Introduction to Performance Analysis with ARM DS-5
More informationReal Time Rendering of Expensive Small Environments Colin Branch Stetson University
Real Time Rendering of Expensive Small Environments Colin Branch Stetson University Abstract One of the major goals of computer graphics is the rendering of realistic environments in real-time. One approach
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time
More informationHigh-quality Shadows with Improved Paraboloid Mapping
High-quality Shadows with Improved Paraboloid Mapping Juraj Vanek, Jan Navrátil, Adam Herout, and Pavel Zemčík Brno University of Technology, Faculty of Information Technology, Czech Republic http://www.fit.vutbr.cz
More informationReal-Time Shadows. Computer Graphics. MIT EECS Durand 1
Real-Time Shadows Computer Graphics MIT EECS 6.837 Durand 1 Why are Shadows Important? Depth cue Scene Lighting Realism Contact points 2 Shadows as a Depth Cue source unknown. All rights reserved. This
More informationShadows. COMP 575/770 Spring 2013
Shadows COMP 575/770 Spring 2013 Shadows in Ray Tracing Shadows are important for realism Basic idea: figure out whether a point on an object is illuminated by a light source Easy for ray tracers Just
More informationCOMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.
COMP 4801 Final Year Project Ray Tracing for Computer Graphics Final Project Report FYP 15014 by Runjing Liu Advised by Dr. L.Y. Wei 1 Abstract The goal of this project was to use ray tracing in a rendering
More informationDeus Ex is in the Details
Deus Ex is in the Details Augmenting the PC graphics of Deus Ex: Human Revolution using DirectX 11 technology Matthijs De Smedt Graphics Programmer, Nixxes Software Overview Introduction DirectX 11 implementation
More informationIntroduction. What s New in This Edition
Introduction Welcome to the fourth edition of the OpenGL SuperBible. For more than ten years, we have striven to provide the world s best introduction to not only OpenGL, but 3D graphics programming in
More informationOptimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager
Optimizing for DirectX Graphics Richard Huddy European Developer Relations Manager Also on today from ATI... Start & End Time: 12:00pm 1:00pm Title: Precomputed Radiance Transfer and Spherical Harmonic
More informationRender-To-Texture Caching. D. Sim Dietrich Jr.
Render-To-Texture Caching D. Sim Dietrich Jr. What is Render-To-Texture Caching? Pixel shaders are becoming more complex and expensive Per-pixel shadows Dynamic Normal Maps Bullet holes Water simulation
More informationDeferred Splatting. Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE.
Deferred Splatting Gaël GUENNEBAUD Loïc BARTHE Mathias PAULIN IRIT UPS CNRS TOULOUSE FRANCE http://www.irit.fr/~gael.guennebaud Plan Complex Scenes: Triangles or Points? High Quality Splatting: Really
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More informationAutodesk Fusion 360: Render. Overview
Overview Rendering is the process of generating an image by combining geometry, camera, texture, lighting and shading (also called materials) information using a computer program. Before an image can be
More informationRender all data necessary into textures Process textures to calculate final image
Screenspace Effects Introduction General idea: Render all data necessary into textures Process textures to calculate final image Achievable Effects: Glow/Bloom Depth of field Distortions High dynamic range
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationShadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions.
1 2 Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions. 3 We aim for something like the numbers of lights
More informationDistributed Virtual Reality Computation
Jeff Russell 4/15/05 Distributed Virtual Reality Computation Introduction Virtual Reality is generally understood today to mean the combination of digitally generated graphics, sound, and input. The goal
More informationIntroduction to the OpenGL Shading Language
Introduction to the OpenGL Shading Language Randi Rost Director of Developer Relations, 3Dlabs 08-Dec-2005 1 Why use graphics programmability? Graphics hardware has changed radically Fixed functionality
More informationA Trip Down The (2011) Rasterization Pipeline
A Trip Down The (2011) Rasterization Pipeline Aaron Lefohn - Intel / University of Washington Mike Houston AMD / Stanford 1 This talk Overview of the real-time rendering pipeline available in ~2011 corresponding
More informationWed, October 12, 2011
Practical Occlusion Culling in Killzone 3 Michal Valient Lead Tech, Guerrilla B.V. Talk takeaway Occlusion culling system used in Killzone 3 The reasons why to use software rasterization (Some) technical
More informationMORPHOLOGICAL ANTIALIASING AND TOPOLOGICAL RECONSTRUCTION
MORPHOLOGICAL ANTIALIASING AND TOPOLOGICAL RECONSTRUCTION Keywords: Abstract: antialiasing, mlaa, topology, realtime, gpu. Morphological antialiasing is a post-processing approach which does note require
More informationComputer Graphics Shadow Algorithms
Computer Graphics Shadow Algorithms Computer Graphics Computer Science Department University of Freiburg WS 11 Outline introduction projection shadows shadow maps shadow volumes conclusion Motivation shadows
More informationComputergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in
More informationEECS 487: Interactive Computer Graphics
Shadow Mapping EECS 487: Interactive Computer Graphics Lecture 32: Interactive Visual Effects Shadow Map Ambient Occlusion A point is lit if it is visible from the light source similar to visible surface
More informationThe Vegetation of Horizon Zero Dawn. Gilbert Sanders Principal Artist, Guerrilla Games
The Vegetation of Horizon Zero Dawn Gilbert Sanders Principal Artist, Guerrilla Games Welcome Topics Simulation Shading Creation Shadow Casting Summary Introduction Our Renderer Artist Node-Based Shader
More informationChapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control
Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control Pedro V. Sander ATI Research John R. Isidoro ATI Research Jason L. Mitchell ATI Research Introduction In last year s course,
More informationObject Space Lighting. Dan Baker Founder, Oxide Games
Object Space Lighting Dan Baker Founder, Oxide Games Ashes of the Singularity Nitrous Engine/Oxide Games New studio founded from industry vets Firaxis, Zenimax, Stardock Ground up, custom engine Several
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world
More informationCS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19
CS 498 VR Lecture 19-4/9/18 go.illinois.edu/vrlect19 Review from previous lectures Image-order Rendering and Object-order Rendering Image-order Rendering: - Process: Ray Generation, Ray Intersection, Assign
More informationCGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing
CGDD 4113 Final Review Chapter 7: Maya Shading and Texturing Maya topics covered in this chapter include the following: Shader Types Shader Attributes Texturing the Axe Life, Love, Textures and Surfaces
More informationCom S 336 Final Project Ideas
Com S 336 Final Project Ideas Deadlines These projects are to be done in groups of two. I strongly encourage everyone to start as soon as possible. Presentations begin four weeks from now (Tuesday, December
More informationThe Application Stage. The Game Loop, Resource Management and Renderer Design
1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data
More informationProject report Augmented reality with ARToolKit
Project report Augmented reality with ARToolKit FMA175 Image Analysis, Project Mathematical Sciences, Lund Institute of Technology Supervisor: Petter Strandmark Fredrik Larsson (dt07fl2@student.lth.se)
More informationHello, Thanks for the introduction
Hello, Thanks for the introduction 1 In this paper we suggest an efficient data-structure for precomputed shadows from point light or directional light-sources. Because, in fact, after more than four decades
More informationVulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics.
Vulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics www.imgtec.com Introduction Who am I? Kevin Sun Working at Imagination Technologies
More informationFRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS
FRUSTUM-TRACED RASTER SHADOWS: REVISITING IRREGULAR Z-BUFFERS Chris Wyman, Rama Hoetzlein, Aaron Lefohn 2015 Symposium on Interactive 3D Graphics & Games CONTRIBUTIONS Full scene, fully dynamic alias-free
More informationMattan Erez. The University of Texas at Austin
EE382V: Principles in Computer Architecture Parallelism and Locality Fall 2008 Lecture 10 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should we
More informationPowerVR Performance Recommendations. The Golden Rules
PowerVR Performance Recommendations Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution
More information