Hello various rendering dudes. Hello, I m Per. Hello, I m Sam. Etc.
|
|
- Julia Copeland
- 7 years ago
- Views:
Transcription
1 1
2 Hello various rendering dudes. Hello, I m Per. Hello, I m Sam. Etc. We (DICE and Geomerics) have been working together to incorporate Enlighten2 into Frostbite engine. The experience shaped the development of both Enlighten and Frostbite, and the resulting architecture and workflows are what we intend to discuss today. 2
3 INTRODUCTION (Sam) Radiosity has always been an exciting topic! There are a massive number of papers on the subject. The sheer number of papers that exist gives a near-continuum of algorithmic options, in which we can see some common categories of algorithms emerging as clusters. (eg. Photon-mapping, VPLs, voxel-grid based methods). If you have an idea for an awesome radiosity algorithm, you can probably find a paper somewhere that does something similar and learn the lessons from them. Or another good approach is to start by gluing together ideas from different papers. In recent years, it s probably fair to say most focus has been on finding new novel algorithms, particularly ones focusing on fully dynamic real time solutions, and again particularly ones primarily based on the GPU (e.g. Crytech, LPB2 (Evans), VPL-based, instant radiosity, etc). I won t be adding to this stack in this talk. This talk is less about demonstrating an algorithm and more about discussing the surrounding architecture and its use in practice. I am also going to claim that the architecture is the more important element to get right. So what do I even mean by radiosity architecture? It s the structure within which the algorithms operate. This is orthogonal to algorithmic category in some sense. You should be able to change your algorithm independently of your architecture. This is very true of Enlighten which fairly regularly undergoes algorithmic changes, while it s overall structure remains static. For example, the first version of Enlighten ran on a GPU. Enlighten 2 runs on a CPU. Enlighten 3 might go back the other way again. We may remove the precompute, or we may add Wii support. I m not sure yet, but these are things that only affect the algorithm, not the architecture. The key point for this talk is that the architecture is itself a very power tool, which I will illustrate with examples. If you bear in mind that if you have an awesome idea for a new radiosity algorithm that will blow everyone away, do consider the architecture as well. And I would expect that if you implemented the 4 architectural features I will cover, you ll get a reasonable and workable solution for even fairly basic algorithms. DICE and Geomerics have been working together since close to the birth of Enlighten. The integration into Frostbite showcases the use of real time radiosity. We will describe how our pipeline & runtime have been set up to work with Enlighten, and show the workflows we have created to use dynamic radiosity. 3
4 AGENDA This talk is essentially me then Per. I ll do an overview of Enlighten then talk about its architecture. Per will then demonstrate how and why Enlighten was integrated into Frostbite, and how it shows up in the art workflows. 4
5 ENLIGHTEN OVERVIEW 1/2 All good projects need a solid direction, and this is a summary of what Enlighten is trying to achieve which is ultimately reflected in the architectural decisions we made. You can expect the architecture we use to change if you alter these working assumptions. Current console cycle - constrained by hardware The main feedback we got from pre-release versions of Enlighten running on GPU was that GPU wasn t a viable resource to use. It s already over-utilised on the consoles, isn t actually that powerful. In addition, the DX9-class hardware the consoles uses constrains our algorithmic options. Memory also very limited. So multi-core is clearly the best target for us. Another point to note is the huge range of abilities between the 3 targets so scalability of our solution is vital (both up and down). Always trading off quality with flexibility There is some imaginary line with two poles. At one end you have offline lighting great quality, terrible iteration time, not real time. And at the other you have real time without precomputation great iteration and gameplay, but low quality lighting. Note you don t get to have your cake and eat it. Real time costs visual quality, but so does poor iteration time. So Enlighten2 is a midpoint. We do some pre-processing to keep visual quality up, so our lighting does not fully reflect moving geometry without the addition of some smoke and mirrors. But we do provide fast iteration through real time lighting. In short, we focus on good quality, scalability and flexibility, not fully dynamic at all costs. Frostbite wanted a lighting solution with fast iteration times and support for dynamic environments. Previous static techniques DICE used gave great results, but were painful to wait for lightmaps to build. They wanted to give artist more creative freedom. Art controls There are many points at which artists can add value. The end goal is always to create beautiful, emotive, believable images, not physical realism. So where ever possible we allow artists control over all aspects of indirect lighting. For example, there are per-light indirect scaling/colouring controls so they can tweak the radiosity effect from each light source. There are also global direct/indirect balance controls and radiosity tonemapping controls, amongst many others. 5
6 ENLIGHTEN DECISIONS These are the 4 key architectural features I d like to dig into further today. Point to bear in mind is that if you were to implement some algorithm that had these architectural features, it d most likely either be realtime or very close to realtime. Will now walk through each in turn. 6
7 This is the asset I will use as an example. It s similar to the sponza atrium. We built it internally and ship it in our SDK. 7
8 ENLIGHTEN Pipeline This is a high level summary of the Enlighten pipeline. Precompute There are a number of new terms I will attempt to unpack them as we proceed. The precompute in Enlighten is essentially a problem-distillation stage. We attempt to put as much magic into this as possible. Some details to be aware of now: We break up the scene into systems a system is a locally solveable problem but taken together they still provide a global solution. Each system outputs a small lightmap for part of the scene. The precompute also setup relighting information I will cover this in more detail later on. Precomputing information is a tough compromise to make, but very important to getting near-tooffline lighting quality for our target platforms. Runtime The key point (and one of my 4 architectural features) is that our runtime separates indirect lighting work from direct lighting work. The direct lighting is done on the GPU as usual, while all indirect lighting is done on the CPU (the current best place for target platforms). Both can run asyncronously, so you get good parallelism. And most significantly, the previous output of Enlighten is always available. So our output is cacheable. The GPU just composites with the latest results off the carousel. This is a massive optimisation, largely independent of algorithm that simply comes from using the right architecture. I ll describe this further in a few slides time. A final point: The separation is not just an optimisation also allows a lot of creative freedom different integration options. Per will talk a bit more about this in his half of the talk. 8
9 LIGHTMAP OUTPUT We shall walk through an example shot in our runtime pipeline. Note the split of direct and indirect lighting paths, with the dependence on a common description of the lighting in the scene. We have all the usual lighting types, plus some new ones. Environment is essentially a very low detail cube map. It gives you the same effect a simple image-based light would: Soft shadows, directional lighting. Nothing sharp. Area lights are easy in Enlighten. Our tech essentially allows you to make surfaces glow and compute the bounce result. So an area light is pretty much the simplest form of input lighting for us. Enlighten is careful to not restrict the API to predefined light sources. If you can describe the lighting incident on your geometry surface and point sample it, you can put it into Enlighten. For example, anything you can shade in a deferred renderer on the GPU can immediately be put into Enlighten. 9
10 This is the traditional direct lighting in this shot. It s a simple cascade shadow map based directional light, computed on the GPU. This bit is nothing to do with Enlighten. The choice of light and its implementation is essentially arbitrary. Note the lack of direct environment lighting. Environment lighting (and other area lights) are handled entirely within Enlighten. 10
11 This is the corresponding input to Enlighten. In this example, the two sets of data are computed entirely independently. The main runtime operation in Enlighten is to map a point sampled description of the lighting over the target mesh surface (shown above), to a lightmap or lightprobe output. This is the bounce. Anything you can express in these terms is valid input to Enlighten. When generating the point sampled input, we provide several fast paths for common light types. Directional lights with precomputed visibility to static geometry is one of these options, which we use in this example. This provides a fast efficient method of generating the input lighting that does not require any interaction with the GPUrendered sunlight, although we could have chosen to point sample that lighting instead. You may note that as well as the directional light, there is also radiosity lighting in the point sampled data. This is the previous lightmap output being fed to enlighten as an input light to generate a second bounce. This is how we generate multiple bounces. I ll return to this later on. 11
12 This is what the previous point sampled data is mapped to. In some sense, this is the raw lightmap output from Enlighten, before any interpolation, albedo modulation or directional relighting is applied. The shot shows the generated lightmap over the target mesh for this scene. Note how low resolution the output is. You can see the effect of the skylight (blue) and the bounced directional light. Although low detail this resolution captures the essence of the indirect lighting. Significant soft shadows are present, and the lighting gradients can be seen quite clearly. 12
13 This shows exactly the same lighting data, but applied to the (white untextured) detailed geometry, together with normal maps and indirect specular. Note how much the basic lightmap output gives you when taken together with these additions. In particular, hardware interpolation gives you a lot as long as your output lightmap is very clean. This cleanness is important - we scale linearly with output texels, so each texel really has to work for it s place in the lightmap. If you want a very dense output format, as we have, you can t afford noise. Much of the detail is filled in by the off-axis relighting. Simple variation in normals gives you a lot of lighting variation. There are multiple output formats for Enlighten. This particular screenshot is using our directional irradiance technique which is a mid point between a full spherical output (e.g. Spherical harmonics complete spherical lighting data) and direction-less irradiance. We support all 3, but prefer the directional irradiance as a good balance point in practice. The specular effect is a simple imaginary specular effect generated in the final shader. Think of it as a phong specular model parametised by the strongest lighting direction. You only get one specular highlight, but your eye is very intolerant to errors in specular term. Believable specular results are far easier to obtain than accurate ones. So we prefer to give as much control to the user/artist as possible here. 13
14 And here we see the final composite. I ve just added the textures and direct lighting back. This was a brief introduction to our runtime radiosity pipeline. Per will talk through its use in Frostbite later on. But now I want to move to the next architectural point: the modelling of a single bounce... 14
15 ENLIGHTEN SINGLE BOUNCE The key point here is that this is a big algorithmic simplification, and actually adds rather than takes away. Capturing the converged radiosity output is important a single bounce is not enough. But I d claim that modelling them through a feedback loop is just The Right Way. Why is it a big win algorithmically? 1. Easy dynamic albedo. This is now modelled by modulation of the input lighting and independent of everything else. 2. Visibility/light transport much simpler to compute and compress. Both of these points are consequences of avoiding the cross-terms that occur when you attempt to compute bounce terms beyond the first, or the converged integral. There are some very elegant methods for computing the fully converged integral (based around the geometric series solution S = (1-T)^-1), and if you never intended to update some aspect of that solution (including the lighting!) maybe this would start to look more attractive. But in practice I don t expect this to be important enough. It s worth noting that convergence for radiosity is quick. We typically see convergence in 4 frames or less. So, if you were to update one bounce a frame at 60fps you d get a lag of 4*1000/60 = 66 ms. You can t see this in practice. The decoupled direct lighting also helps you here, as this is correct even if the indirect lighting is still changing. Even if there is a lag, your direct lights are always lag-free. It s harder to perceive the lag in indirect lighting in this setting, and only becomes apparent with momentary light sources (grenades, muzzle flash, etc). 15
16 The word Lightmap does tend to conjure up images of large pages of memory-hogging textures. Enlighten lightmaps are actually really very small and very densely packed there is very little wastage. This is important as memory footprint and bandwidth usage for our output are low. The smallness primarily comes from only storing indirect lighting, and secondly, from using target geometry to simplify the uv surface area. The target mesh lightmap is not a 1-1 mapping of the original detailed surface and the low numbers of charts allow us to get very high coverage. We also support a number of different output texture formats that all share the same layout. So you can swap algorithms easily. As well as cheap interpolation, and as I mentioned earlier, the key property lightmaps give us a cacheable output that allows us to amortise or completely avoid the cost of computing the indirect lighting. This is in contrast to many gpu solutions that are temporary or view-frustum only and incur a fixed cost regardless. This property gives us a wide range of scalability options. This is the real point of using lightmaps. If you consider the different kinds of lighting environment you might encounter in a video game it becomes more apparent why this is helpful: Modelling outdoor time-of-day lighting Moving the sun motion triggers global lighting update (expensive), but the sun moves slowly so we can stagger updates across frames. Essentially, lots of work but we can do it gradually. This makes large outdoor works feasible. Intimate indoor lighting In a more detailed enclosed environment with rapidly updating lighting you will have to update more detailed radiosity more rapidly, but the restricted visibility helps you. You only need update visible areas. Streaming also becomes viable. A zero-order integration Another use to only use Enlighten offline. Turn all the quality dials up in your editor, and run everything in realtime there, then simply only store the output lightmaps for use at runtime. Enlighten effectively becomes a real time light baking solution. This also allows you to target any platform that supports textures (wii, etc). Parametised lighting descriptions It s fairly common to re-use the same level, but with different lighting (time of day, weather changes, etc). Particularly in MMOs. Here you only need re-compute the radiosity on level load. 16
17 Lets take a closer look at the target/detail mesh projection. This is the target geometry authored for our arches scene. Unfortunately, I don t have time to cover the algorithm used in any detail, but it s quite a simple algorithm. In this area we ve found that the simple approach is often the best. Artists need to be able to predict the behaviour, so complex rocket-science algorithms full of awesomeness that sometimes have unpredictable behaviour can actually make your tools harder to use! The target geometry does two things: 1. It allows us to control and capture lighting at the resolution we choose, and not be bound by the geometry we actually want to relight. 2. It allows us to reducing the surface area and chart count which is a major optimisation. You can see that the mesh itself is very basic. The key thing is to get a mesh that has a simple uv surface area (low chart counts). This mesh happens to have a low tri count, but this is not important. Collision geometry or a low LOD is usually a good starting point, but they have slightly different requirements. 17
18 This is the detail geometry with the lighting from the target mesh lifted onto it. The lifting operation is actually an offline mesh-to-mesh projection, which as I said, is deliberately simple. A big plus of this approach is that there is no need to author uvs for the detail geometry. These are generated for you during the projection. This is a rather cool property that may have other uses: by modelling easy to author target geometry you can skip uv authoring on complex detail geometry. The downside of target geometry is that, despite being simple, is still an additional authoring overhead. We already have a set of UV authoring tools to simplify the process and are investigating automated approaches to generating this information. 18
19 To recap, these are the 4 architectural features we ve just covered. Separate lighting pipeline: Radiosity calculated independently of and asyncronously to rendering engine. Single bounce: Big algorithmic simplification Lightmaps: Compact, controllable and cacheable indirect lighting representation Target geometry: Separate lighting resolution from geometric detail I ll now hand over Per to discuss their use in Frostbite... 19
20 So I m going to go through how we ve set up the Frostbite Engine to run with Enlighten and how our pipeline and runtime support this architecture. But first I m going to talk about why we started to work with Geomerics, and why we decided to go for a real-time radiosity solution in Frostbite. 20
21 So why do we want real-time radiosity in a game engine? For us the main argument was to improve the workflows and iteration times. We ve been working with traditional lightmap techniques at Dice, and even if the results can look amazing in the end, it was just a very painful way of creating content. It s not unusual that artists spend hours waiting for lightmap renders to finish. So we thought, if artist can spend their time working on actually lighting the game instead of waiting for lightmaps to compute, then perhaps the end results will look more interesting? Another main argument is to support for dynamic environments. Video games are becoming more dynamic, so if we change the lighting in the game, we should also be able to update the bounce light dynamically. And finally, the architecture that came out of integrating Enlighten into Frostbite turned out to be pretty flexible. The direct and indirect lighting pipeline is completely separate, so the architecture is pretty robust to general changes to the rendering engine. 21
22 Before we can run the game with dynamic radiosity, we have to do a few things in our precompute pipeline. I ll go through these steps one by one. 22
23 Enlighten provides two ways of representing the bounce light. Either via lightmaps, or via lightprobes. The first thing we do is to decide how each object should be lit. Static geometry is parameterized and lit with dynamic lightmaps. This geometry can bounce light, and is typically large objects that don t move. Dynamic objects can only receive bounce light by sampling lightprobes, so they are typically moving around in the scene or just small and don t affect the lighting to much themselves. In this scene you can see how we ve separated static and dynamic objects. The underlying geometry is used to bounce light, which is then transferred to all objects in the scene. 23
24 One of the key features in Enlighten is to group objects into systems. A system is a collection of meshes that can be processed independently, and this really makes the radiosity a more local problem. Each system can be processed in parallel, the precompute can be distributed and runtime updates can be separated. We automatically define input dependencies to each system, which is a way to put restrictions on the light transport. So when we update the yellow system here, we only read bounce light from the green systems and we can forget about the rest. We also use systems to control update performance. Large systems will have many pixels and it will take longer to compute, so by creating many small systems, we can spread out radiosity updates on several frames if we like. We typically update one system per CPU core every frame. 24
25 We need to parametrize the world to get lightmaps uvs, and we do this semiautomatically. For each static mesh we also have a low-poly target mesh that we use for lighting. The target mesh is manually parametrized, and we project the detail mesh onto the target mesh to generate uvs for the detail mesh. We also pack a uv atlas for each system. Each system atlas is independent of all other systems, so we end up with one lightmap per system. 25
26 When we have generated systems and parametrized the geometry, we can generate runtime data in our precompute pipeline. The runtime data has information about geometry and form factors that we need to update the radiosity in real time. There s one data set per system, which is very nice if we want to stream data from disk. All systems can be processed in parallel, so we use Incredibuild s XGI to distribute this build step. This is the only time consuming step of the precompute, but it scales pretty well with incredibuild. A typical final game level takes about min to precompute. Since this data only contains geometry information, so we only have to regenerate it when we change the geometry, not the lighting or the colors in the scene. 26
27 Let s take a look at the runtime. A key thing with this architecture is that we have a separate render pipeline for direct and indirect radiosity. In fact, we update the radiosity on the CPU and we do the direct light & compositing on the GPU. Frostbite uses deferred rendering, so can we can render many light sources every frame. Each light source is fed to Enlighten and part of the radiosity bounce light. Another thing we do is to separate the rendering of lightmaps and lightprobes. Lightmaps are rendered in the forward pass, but lightprobes are added to 3D textures so we can render them deferred in screen. The reason we do this is so we don t have to upload a unique lightprobe for every object we render, which tends to quite a few objects if you consider foliage, vegetation, particle effect and decals, so adding lightprobes deferred in screenspace is just simpler for us. 27
28 The complete render pipeline looks like this. First, we update lightmaps & lightprobes on the CPU, and we lift lightprobes into 3d textures. These 3d textures cover the entire scene. Next, we run the geometry pass, where we add bounce light from the lightmaps to a separate g-buffer which we LogLuv encode. We also use the stencil buffer to mask out all dynamic objects, so we know what to light with lightprobes later. Finally, in the light pass, we first render all deferred lights, we then add the lightmaps from the g-buffer, and finally we add the lightprobe 3d textures deferred in screen space. 28
29 Let s take a look at an example scene. This is the lightmaps and lightprobes generated on the CPU. 29
30 First we render the direct light sources deferred. 30
31 Then we add the lightmap bounce light. 31
32 Then we add bounce light from the lightprobes. We add them all together, to get the final compposite. 32
33 Final composite 33
34 (This is where we ran the video Per gave a commentary over it during the talk). 34
35 For people ing: Please note the lack of the t in Geomerics! Geometrics is a different company. I don t know if they have a sam.martin there, but if they do they might be a bit confused by now. 35
Making Dreams Come True: Global Illumination with Enlighten. Graham Hazel Senior Product Manager Sam Bugden Technical Artist
Making Dreams Come True: Global Illumination with Enlighten Graham Hazel Senior Product Manager Sam Bugden Technical Artist About Me Grew up in Cambridge, UK, with Acorn computers in the house Programmer
More informationCUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS
ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut
More informationHi everyone, my name is Michał Iwanicki. I m an engine programmer at Naughty Dog and this talk is entitled: Lighting technology of The Last of Us,
Hi everyone, my name is Michał Iwanicki. I m an engine programmer at Naughty Dog and this talk is entitled: Lighting technology of The Last of Us, but I should have called it old lightmaps new tricks 1
More informationINTRODUCTION TO RENDERING TECHNIQUES
INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature
More informationShader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group
Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control
More informationSilverlight for Windows Embedded Graphics and Rendering Pipeline 1
Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,
More informationLighting Options for elearning Video (Sep 11)
Lighting Options for elearning Video (Sep 11) By Stephen Haskin September 5, 2011 Light. Without it, you can t make video. Heck, without light you can t see! Two pretty simple and obvious statements, right?
More informationAdvanced Visual Effects with Direct3D
Advanced Visual Effects with Direct3D Presenters: Mike Burrows, Sim Dietrich, David Gosselin, Kev Gee, Jeff Grills, Shawn Hargreaves, Richard Huddy, Gary McTaggart, Jason Mitchell, Ashutosh Rege and Matthias
More informationRecent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005
Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex
More informationCREATIVE S SKETCHBOOK
Session Plan for Creative Directors CREATIVE S SKETCHBOOK THIS SKETCHBOOK BELONGS TO: @OfficialSYP 1 WELCOME YOUNG CREATIVE If you re reading this, it means you ve accepted the We-CTV challenge and are
More informationReal-Time BC6H Compression on GPU. Krzysztof Narkowicz Lead Engine Programmer Flying Wild Hog
Real-Time BC6H Compression on GPU Krzysztof Narkowicz Lead Engine Programmer Flying Wild Hog Introduction BC6H is lossy block based compression designed for FP16 HDR textures Hardware supported since DX11
More informationImage Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg
Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing
More informationMaking natural looking Volumetric Clouds In Blender 2.48a
I think that everyone using Blender has made some trials about making volumetric clouds. The truth is that a kind of volumetric clouds is already available in Blender for a long time, thanks to the 3D
More informationGrid Computing for Artificial Intelligence
Grid Computing for Artificial Intelligence J.M.P. van Waveren May 25th 2007 2007, Id Software, Inc. Abstract To show intelligent behavior in a First Person Shooter (FPS) game an Artificial Intelligence
More informationWhy Catalyst Production Suite? The post-production process
Why Catalyst Production Suite? You ve heard it already: The Catalyst Production Suite fuses powerful media preparation and fast, focused video editing to provide the backbone for your video productions.
More informationLesson 26: Reflection & Mirror Diagrams
Lesson 26: Reflection & Mirror Diagrams The Law of Reflection There is nothing really mysterious about reflection, but some people try to make it more difficult than it really is. All EMR will reflect
More informationREAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS
REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS Tommy Jensen, Mikkel S. Andersen, Claus B. Madsen Laboratory for Computer Vision and Media
More informationHow To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)
Improved Alpha-Tested Magnification for Vector Textures and Special Effects Chris Green Valve (a) 64x64 texture, alpha-blended (b) 64x64 texture, alpha tested (c) 64x64 texture using our technique Figure
More informationExample Chapter 08-Number 09: This example demonstrates some simple uses of common canned effects found in popular photo editors to stylize photos.
08 SPSE ch08 2/22/10 11:34 AM Page 156 156 Secrets of ProShow Experts: The Official Guide to Creating Your Best Slide Shows with ProShow Gold and Producer Figure 8.18 Using the same image washed out and
More informationOptimizing AAA Games for Mobile Platforms
Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo
More informationOptimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify
More informationCG Cookie Workshop:! Mastering Mesh Modeling!
CG Cookie Workshop: Mastering Mesh Modeling By: Jonathan Williamson This CG Cookie workshop is intended to provide an in-depth study of the key theories, fundamentals, and techniques you need to know about
More informationComputer Graphics Hardware An Overview
Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and
More informationGPU Architecture. Michael Doggett ATI
GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super
More informationModern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com
Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision
More informationMulti-GPU Load Balancing for Simulation and Rendering
Multi- Load Balancing for Simulation and Rendering Yong Cao Computer Science Department, Virginia Tech, USA In-situ ualization and ual Analytics Instant visualization and interaction of computing tasks
More informationImage Synthesis. Transparency. computer graphics & visualization
Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,
More informationWelcome to Northern Lights A film about Scotland made by you.
Welcome to Northern Lights A film about Scotland made by you. As part of the Year Of Creative Scotland 2012 we want you to take out a camera and show us what you can see. We are not sure what you will
More informationPage 18. Using Software To Make More Money With Surveys. Visit us on the web at: www.takesurveysforcash.com
Page 18 Page 1 Using Software To Make More Money With Surveys by Jason White Page 2 Introduction So you re off and running with making money by taking surveys online, good for you! The problem, as you
More informationGOD S BIG STORY Week 1: Creation God Saw That It Was Good 1. LEADER PREPARATION
This includes: 1. Leader Preparation 2. Lesson Guide GOD S BIG STORY Week 1: Creation God Saw That It Was Good 1. LEADER PREPARATION LESSON OVERVIEW Exploring the first two chapters of Genesis provides
More informationEp #19: Thought Management
Full Episode Transcript With Your Host Brooke Castillo Welcome to The Life Coach School podcast, where it s all about real clients, real problems and real coaching. And now your host, Master Coach Instructor,
More informationBroken Shard. Alpha Report. Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann. TUM Computer Games Laboratory
Broken Shard Alpha Report Benjamin Schagerl, Dominik Dechamps, Eduard Reger, Markus Wesemann TUM Computer Games Laboratory Desired Target Desired Target Network Server and Client One of our priority desired
More informationCAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM
CAD/ CAM Prof. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 03 What is CAD/ CAM Now this lecture is in a way we can say an introduction
More informationPART 1 CROSSING EMA. I will pause between the two parts for questions, but if I am not clear enough at any stage please feel free to interrupt.
PART 1 CROSSING EMA Good evening everybody, I d like to start by introducing myself. My name is Andrew Gebhardt and I am part of Finex LLP, a small Investment Manager which amongst other endeavours also
More informationWebsites & Design. Custom web designs and proven development. info@compvert.com www.compvert.com. Copyright CompVert. All rights reserved.
Websites & Design Custom web designs and proven development Introduction The Internet is an ever changing environment that demands that you keep up with the latest trends. Your website is the first impression
More informationElaboration of Scrum Burndown Charts.
. Combining Control and Burndown Charts and Related Elements Discussion Document By Mark Crowther, Empirical Pragmatic Tester Introduction When following the Scrum approach a tool frequently used is the
More informationMaterials in NX Render
Materials in NX Render Overview Where materials are stored in NX Render Internal material definition and the NX interface Material types and their characteristics Material components Colour Pattern Reflectance
More informationPerformance Optimization and Debug Tools for mobile games with PlayCanvas
Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with
More informationABS 731 Lighting Design & Technology. Spring 2006
ABS 731 Lighting Design & Technology Spring 2006 AGI32 is used to predict the photometric performance of selected luminaires or daylight penetration in a simulated environment. The environments that can
More informationFilters for Black & White Photography
Filters for Black & White Photography Panchromatic Film How it works. Panchromatic film records all colors of light in the same tones of grey. Light Intensity (the number of photons per square inch) is
More informationSelf-Positioning Handheld 3D Scanner
Self-Positioning Handheld 3D Scanner Method Sheet: How to scan in Color and prep for Post Processing ZScan: Version 3.0 Last modified: 03/13/2009 POWERED BY Background theory The ZScanner 700CX was built
More informationHow to create PDF maps, pdf layer maps and pdf maps with attributes using ArcGIS. Lynne W Fielding, GISP Town of Westwood
How to create PDF maps, pdf layer maps and pdf maps with attributes using ArcGIS Lynne W Fielding, GISP Town of Westwood PDF maps are a very handy way to share your information with the public as well
More informationThe Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA
The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques
More information7tipsforsofter. lookinglight. Beginners Digital Photography - Tutorial 03. Making Photography Easier. www. DIGITAL Beginners.com
7tipsforsofter lookinglight Beginners Digital Photography - Tutorial 03 Tel: 00353 1 620 5156 Email: info@digitalbeginners.com www.digitalbeginners.com All text, photographs and illustrations David McKane
More informationHardware design for ray tracing
Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex
More informationThea Omni Light. Thea Spot Light. Light setup & Optimization
Light setup In this tutorial we will learn how to setup lights inside Thea Studio and how to create mesh lights and optimize them for faster rendering with less noise. Let us have a look at the different
More information(Refer Slide Time: 2:03)
Control Engineering Prof. Madan Gopal Department of Electrical Engineering Indian Institute of Technology, Delhi Lecture - 11 Models of Industrial Control Devices and Systems (Contd.) Last time we were
More informationYour guide to email marketing
Your guide to email marketing Precept 2016 Entering the world of email marketing can seem pretty daunting. Especially if your business has never done email marketing. But emails are actually a great way
More informationScheduling. Getting Started. Scheduling 79
Scheduling 9 Scheduling An event planner has to juggle many workers completing different tasks, some of which must be completed before others can begin. For example, the banquet tables would need to be
More informationScanners and How to Use Them
Written by Jonathan Sachs Copyright 1996-1999 Digital Light & Color Introduction A scanner is a device that converts images to a digital file you can use with your computer. There are many different types
More informationCOVERAGE You re going to have to edit your film later. How do you make sure you get enough footage for that to work?
MAKE IT YOUR STORY CINEMATOGRAPHY Film is a visual medium - which just means it s a story you consume through your eyeballs. So, when you ve got your story figured out, you need to think about the best
More informationCONTEXT AWARE CONTENT MARKETING
CONTEXT AWARE CONTENT MARKETING FOUR STEPS TO THE FUTURE OF CONTENT, CONTEXT AND MARKETING SUCCESS Introduction Managing, delivering and consuming web content has changed. Yes, again. The universe of options
More informationOpenGL Performance Tuning
OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer
More informationDolby Vision for the Home
Dolby Vision for the Home 1 WHAT IS DOLBY VISION? Dolby Vision transforms the way you experience movies, TV shows, and games with incredible brightness, contrast, and color that bring entertainment to
More informationAdvanced Diploma of Professional Game Development - Game Art and Animation (10343NAT)
The Academy of Interactive Entertainment 201 Advanced Diploma of Professional Game Development - Game Art and Animation (10343NAT) Subject Listing Online Campus 0 Page Contents 3D Art Pipeline...2 Grasping
More informationExcel Formatting: Best Practices in Financial Models
Excel Formatting: Best Practices in Financial Models Properly formatting your Excel models is important because it makes it easier for others to read and understand your analysis and for you to read and
More informationCS 378: Computer Game Technology
CS 378: Computer Game Technology http://www.cs.utexas.edu/~fussell/courses/cs378/ Spring 2013 University of Texas at Austin CS 378 Game Technology Don Fussell Instructor and TAs! Instructor: Don Fussell!
More informationThe Dennis Technique for SketchUp Models in Photoshop
The Dennis Technique for SketchUp Models in Photoshop The big concept is to put a Black & White drawing over a coloured one and then artistically erase just enough of the top Black and White so that essential
More informationLinear Programming Notes VII Sensitivity Analysis
Linear Programming Notes VII Sensitivity Analysis 1 Introduction When you use a mathematical model to describe reality you must make approximations. The world is more complicated than the kinds of optimization
More informationSHOOTING AND EDITING DIGITAL VIDEO. AHS Computing
SHOOTING AND EDITING DIGITAL VIDEO AHS Computing Digital Video Capture, Edit, Deliver This presentation will guide you through a basic digital video workflow: Capture using a video recording device, arrange
More informationThe Scientific Data Mining Process
Chapter 4 The Scientific Data Mining Process When I use a word, Humpty Dumpty said, in rather a scornful tone, it means just what I choose it to mean neither more nor less. Lewis Carroll [87, p. 214] In
More informationRepublic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation.
Republic Polytechnic School of Information and Communications Technology C391 Animation and Visual Effect Automation Module Curriculum This document addresses the content related abilities, with reference
More informationDARMADI KOMO: Hello, everyone. This is Darmadi Komo, senior technical product manager from SQL Server marketing.
Microsoft SQL Server 2012 for Private cloud (Part 1) Darmadi Komo - Senior Technical Product Manager DARMADI KOMO: Hello, everyone. This is Darmadi Komo, senior technical product manager from SQL Server
More informationWednesday, March 30, 2011 GDC 2011. Jeremy Ernst. Fast and Efficient Facial Rigging(in Gears of War 3)
GDC 2011. Jeremy Ernst. Fast and Efficient Facial Rigging(in Gears of War 3) Fast and Efficient Facial Rigging in Gears of War 3 Character Rigger: -creates animation control rigs -creates animation pipeline
More informationWater Flow in. Alex Vlachos, Valve July 28, 2010
Water Flow in Alex Vlachos, Valve July 28, 2010 Outline Goals & Technical Constraints How Artists Create Flow Maps Flowing Normal Maps in Left 4 Dead 2 Flowing Color Maps in Portal 2 Left 4 Dead 2 Goals
More informationQULU VMS AND SERVERS Elegantly simple, Ultimately scalable
QULU VMS AND SERVERS Elegantly simple, Ultimately scalable E nter a new era of power, performance and freedom with Vista s video management software, qulu. Designed to offer the most efficient performance
More informationtop tips to help you save on travel and expenses
5 top tips to help you save on travel and expenses Save money Increase control Free up staff Our 5 top tips for saving time and money on T&E Travel and Expenses (T&E) are amongst some of the highest costs
More informationHealth Care Vocabulary Lesson
Hello. This is AJ Hoge again. Welcome to the vocabulary lesson for Health Care. Let s start. * * * * * At the beginning of the conversation Joe and Kristin talk about a friend, Joe s friend, whose name
More informationDeferred Shading & Screen Space Effects
Deferred Shading & Screen Space Effects State of the Art Rendering Techniques used in the 3D Games Industry Sebastian Lehmann 11. Februar 2014 FREESTYLE PROJECT GRAPHICS PROGRAMMING LAB CHAIR OF COMPUTER
More informationTEACHER S GUIDE TO RUSH HOUR
Using Puzzles to Teach Problem Solving TEACHER S GUIDE TO RUSH HOUR Includes Rush Hour 2, 3, 4, Rush Hour Jr., Railroad Rush Hour and Safari Rush Hour BENEFITS Rush Hour is a sliding piece puzzle that
More informationACTION AND PEOPLE PHOTOGRAPHY
ACTION AND PEOPLE PHOTOGRAPHY These notes are written to complement the material presented in the Nikon School of Photography Action and People Photography class. Helpful websites: Nikon USA Nikon Learn
More informationProcess / Operation Symbols
Flowchart s and Their Meanings Flowchart s Defined By Nicholas Hebb The following is a basic overview, with descriptions and meanings, of the most common flowchart symbols - also commonly called flowchart
More informationUsability Test Results
Usability Test Results Task: Starting Position: 1 Home Scene Lauren DiVito March 6, 2014 Moderator Script: Evaluation Measures: Notes to Moderator: Task: Starting Position: Moderator Script: Evaluation
More informationGPGPU Computing. Yong Cao
GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power
More informationThe Top 10 Reasons Why Your Website Should Be on the Cloud
HOME CLOUD HOSTING DEDICATED SERVERS COLOCATION HOSTING RESELLERS VPS «Say Hello to Google s Little Cloud Friend: DataFlow How to Save Money on Cloud Storage» The Top 10 Reasons Why Your Website Should
More informationGas Dynamics Prof. T. M. Muruganandam Department of Aerospace Engineering Indian Institute of Technology, Madras. Module No - 12 Lecture No - 25
(Refer Slide Time: 00:22) Gas Dynamics Prof. T. M. Muruganandam Department of Aerospace Engineering Indian Institute of Technology, Madras Module No - 12 Lecture No - 25 Prandtl-Meyer Function, Numerical
More informationA Short Introduction to Computer Graphics
A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical
More informationWriting Applications for the GPU Using the RapidMind Development Platform
Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...
More informationEasy Casino Profits. Congratulations!!
Easy Casino Profits The Easy Way To Beat The Online Casinos Everytime! www.easycasinoprofits.com Disclaimer The authors of this ebook do not promote illegal, underage gambling or gambling to those living
More informationTemporal Sampling and Interpolation
Temporal Sampling and Interpolation Billy Biggs 30 May 2003 http://scanline.ca/deinterlacing/ Temporal Sampling and Interpolation - 30 May 2003 1 Software tvtime: A realtime video deinterlacer. http://tvtime.sourceforge.net/
More informationRendering Microgeometry with Volumetric Precomputed Radiance Transfer
Rendering Microgeometry with Volumetric Precomputed Radiance Transfer John Kloetzli February 14, 2006 Although computer graphics hardware has made tremendous advances over the last few years, there are
More informationWhat is a DSLR and what is a compact camera? And newer versions of DSLR are now mirrorless
1 2 What is a DSLR and what is a compact camera? And newer versions of DSLR are now mirrorless 3 The Parts Your camera is made up of many parts, but there are a few in particular that we want to look at
More informationLow power GPUs a view from the industry. Edvard Sørgård
Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today
More informationTHE HYPER-CONVERGENCE EFFECT: DO VIRTUALIZATION MANAGEMENT REQUIREMENTS CHANGE? by Eric Siebert, Author and vexpert
THE HYPER-CONVERGENCE EFFECT: DO VIRTUALIZATION MANAGEMENT REQUIREMENTS CHANGE? by Eric Siebert, Author and vexpert THE HYPER-CONVERGENCE EFFECT: DO VIRTUALIZATION MANAGEMENT REQUIREMENTS CHANGE? There
More informationGetting Started with BIM (Building Information Modeling)
Getting Started with BIM (Building Information Modeling) Curt Egli Synergis Building Solutions Engineer Session Summary This session will walk you through issues you should consider when strategizing,
More information9 Principles of Killer Dashboards SELL. SERVICE. MARKET. SUCCEED.
9 Principles of Killer Dashboards SELL. SERVICE. MARKET. SUCCEED. The information provided in this e-book is strictly for the convenience of our customers and is for general informational purposes only.
More informationWhat is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game
1 2 3 4 What is GPUOpen? Currently, we have divided console & PC development Black box libraries go against the philosophy of game development Game developers are smart and inquisitive Game devs extract
More informationBALANCED SCORECARD What is the Balanced Scorecard?
BALANCED SCORECARD What is the Balanced Scorecard? January 2014 Table of Contents Table of Contents... 1 The Balanced Scorecard... 2 The Four Perspectives... 3 Key Performance Indicators (KPIs)... 4 Scorecard
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
More informationUsing sentence fragments
Lesson 8 Descriptive Essays Description is not a distinct mode of writing, like expository, narrative, and persuasive, but the ability to write descriptively is essential to a host of writing genres. Many
More informationH ello, I ll be demonstrating
Magnetic Pulser MP6 How-to Video Transcription H ello, I ll be demonstrating the use of the SOTA Magnetic Pulser. The latest model is shown here, our Model MP6. Before we get started I just want to draw
More informationCustomer Success Story
Client: Industry: Products: Akama Studio Animation & VFX V-Ray for ds Max October 011 Working with V-Ray has changed our way of conceiving images. In an industry where clients demand ever more beautiful
More informationHello. What s inside? Ready to build a website?
Beginner s guide Hello Ready to build a website? Our easy-to-use software allows you to create and customise the style and layout of your site without having to understand any coding or HTML. In this guide
More informationRawson Internet Marketing
Introduction: Connect Connecting with the right prospects is the first step to sales and marketing automation success. Let s cover how to identify your ideal buyer and connect with leads that come to your
More informationWhitepaper. Image stabilization improving camera usability
Whitepaper Image stabilization improving camera usability Table of contents 1. Introduction 3 2. Vibration Impact on Video Output 3 3. Image Stabilization Techniques 3 3.1 Optical Image Stabilization 3
More informationSP500 September 2011 Outlook
SP500 September 2011 Outlook This document is designed to provide the trader and investor of the Standard and Poor s 500 with an overview of the seasonal tendency as well as the current cyclic pattern
More informationThe Car Tutorial Part 1 Creating a Racing Game for Unity
The Car Tutorial Part 1 Creating a Racing Game for Unity Introduction 3 We will show 3 Prerequisites 3 We will not show 4 Part 1: Assembling the Car 5 Adding Collision 6 Shadow settings for the car model
More informationTHE 10 MOST POWERFUL CHANGES THAT WILL INCREASE SALES IN YOUR COMPANY IMMEDIATELY!
THE 10 MOST POWERFUL CHANGES THAT WILL INCREASE SALES IN YOUR COMPANY IMMEDIATELY! LEADS X CONVERSIONS = SALES Most companies put all their efforts into generating more leads to generate more sales. In
More informationQuick Tutorial. Overview. The NVIDIA Software Improvement Program. Creating an Effect
Quick Tutorial Overview This chapter presents a very short FX Composer 2.5 tutorial to quickly introduce you to several convenient and powerful new features. We highly recommend this tutorial, particularly
More information