Resistance: Fall of Man. Insomniac Games

Size: px
Start display at page:

Download "Resistance: Fall of Man. Insomniac Games"

Transcription

1 Resistance: Fall of Man Insomniac Games

2 Development Started on PC with a small prototype team concurrent with PS2 development Good for prototyping shaders little change Good for prototyping lighting, tools and build process Bad for code development, systems were not written with the Cell in mind Later on, small group handled porting code base to PS3 while others continued working on PC

3 Development Many concepts shared from PS2 Asset types named the same to keep artists happy Structure of the engine is similar Similar tool chain No runtime code shared from PS2 PS3 Resistance and PS2 Ratchet had little in common Lots of ASM on PS2 so not much to use on PS3 Most PS2 systems were considered too simple for PS3

4 Programmer Tools Perforce ProDG SN DBS Visual Studio In house asset control system In house build server In house world tool

5 Art Tools Maya Mental Ray Microwave Photoshop Z Brush SpeedTree

6 Asset Types Kept the same asset names to keep the process familiar U-Frags Ties Mobys Shrubs Foliage Skies Shaders

7 U-Frags Most basic - fastest to render Completely static geometry Vertices stored in world space as locally compressed fragments to keep the precision as high as possible real positions computed in the vertex programs Non-instanceable Lightmapped or vertex baked Memory efficient PVS occlusion

8 Ties Conceptually the same as U-Frag but instanced - vertices defined in local space Completely static geometry Can be nested within each other in the tools, invisible to runtime Lightmapped or vertex baked Made up the majority of a typical scene Stored as two RSX streams, a master and a per instance stream with the lighting info PVS occlusion

9 Mobys Dynamic geometry, most expensive Can have physics, animations, etc. May be rigid (1 bone) or skinned (4 bones) Static lighting from pre-computed spatial lighting volumes Dynamic lighting from runtime lights Crude static LOD

10 Shrubs Very fast to render, used to fill scene Levels would have 10k-20k instances Very basic geometry Simple lighting Didn t cast shadows but could receive them Basic wind like animation Fade out in distance PVS occlusion

11 Foliage Used for leaves on trees Camera facing billboards Used SpeedTree for data generation but wrote our own custom renderer for runtime Could cast and receive shadows Basic wind like animation similar to shrubs PVS occlusion

12 Skies Multiple frequencies of cloud layers composited together Artist driven animation parameters to procedurally control cloud turbulence, drift, formation rates, etc. Simplified geometry could be rendered before or after cloud layers Bloom geometry layers Drawn after opaque geometry PVS occlusion

13 Shaders Base color map, Alpha/Bloom, Normal, Gloss, Incandescence, Parallax, and Detail Fine grain control exposed to artists texture format, filtering modes, etc. Vertex programs abstracted the asset type All assets shared fragment programs - consistent lighting Runtime has specific shader programs to optimally handle the various combinations of shader features Used simple pre-processor #defines to add / exclude program features Reduced texture formats when channels are missing, for example DXT5 can be DXT1 when there is no alpha Normal maps are stored compressed as 2 channels in a DXT5 map LDR Cubemaps created from probes placed in maya

14 Shaders The alpha type is part of the shader Opaque (updates z) Blended (does not update z) Additive (does not update z) Cutout (uses alpha test) Destination alpha used for bloom Shader LOD removed expensive features Shaders use the hardware features of the texture samplers Swizzle to get the inputs in to the place where the fragment program expects them Use the sign extend and force zero/one feature

15 Build Process Each asset type has a stand alone builder PC Command line tool, integrated with our asset control system Single platform, assets are built directly in hardware format PS3 viewer that shows individual built assets Good for debugging assets Good for rough stats on a single asset Viewers show all physics and collision info Viewers allow artists to light and animate out of the context of a level

16 Build Process Engine Data Level Packer A level is a group of assets of different types packed together by the packing tool The level pack tool is what lays optimally in the final format, resolves duplicates, partitions memory, etc. On load, very little copying is done, we just need to patch up pointers RSX data is packed into two chunks, one that ends up in main memory and one in local memory

17 Problems Build Process No backwards/forwards compatibility of data formats Slow asset builds Live data

18 Static Lighting Environments use simplified HL2 style light maps - directional luminance in the lightmaps and a shared chrominance per vertex Environments could also use vertex lighting, in which case there was no lightmaps and the luminance and chrominance are stored per vertex The lightmaps, UVs and vertex components for lighting are stored per instance All lighting computed through Mental Ray Interactive lightmap resolution and format tweaking

19 Static Lighting Mobys and moveable objects use a static environment lighting database that is pre-computed from artist placed lighting volumes Luminance is stored per sample along 6-axes with a shared chrominance Data is stored as a grid and interpolated Code could query a single point or a cube and locally interpolate etc. Uniform grids do not catch shadow edges very accurately without consuming lots of memory

20 Dynamic Lighting Dynamic lights are rendered as a separate pass per light Only the individual geometry fragments affected by the lights are rendered in the light passes All lighting is per pixel, typical light types supported (Point, spot, etc.) Lighting model is the same for all assets so they all light the same Shadow maps are pre-rendered at the start of the frame, there is an 8mb limit for shadow maps Shadow maps are 16-bit linear depth and range controlled for best accuracy

21 Static occlusion Static occlusion is a PVS system Database is computed offline using the PS3 to render the scene using queries and the PC to quantize/pack the results usually an overnight process At runtime given a camera position you get a bit array of the visible nodes and the max visible distance Each asset fragment belongs to a node and a simple runtime logic op determines if the node is visible There is a limited number of nodes, each represented by a single bit

22 Frame Buffer Setup Display Buffers 2 x 1280x bit RGBA Both display buffers share a single tile to reduce wasted memory We did not support 1080, couldn t afford the memory Render Buffer 1280x720, 32bit, 2xMSAA 32-bit depth buffer Color and depth in their own tiles with compression enabled Always render 1280x720 down sample for NTSC and PAL

23 Frame Buffer Setup Alternate Render Buffer 1280x704, 32bit, 2xMSAA 704 is the magic height as it obeys all the restrictions of depth and color tiles Center on the 720 front buffer, giving 8 pixels of black top and bottom No wasted memory due to alignment. Over 1Mb saved from using 1280x720 and 2% faster Idea was too late to be useful on Resistance

24 Frame Render Order Statically lit opaque geometry Sky Statically lit alpha geometry Dynamically lighting passes on opaque geometry Dynamically lighting passes on alpha geometry Effects, Water, Ground fog Resolve multisampling to display buffer, apply color correction (contrast, brightness and saturation) Apply post effects on the off screen display buffer Draw HUD directly to display Draw the system OSD Flip the display buffers

25 Video Memory Budget Vram is almost exclusively pixel data, some verts may be in vram for memory balancing 21Mb Frame buffers 512K Fragment programs 8Mb Scratch memory (non-tiled) 50-70Mb Lightmaps Mb Textures Scratch memory is used for shadow buffers, effects, and post effect working buffers etc.

26 Main Memory No CRT allocations Allocate our own memory segment Allocate all free memory as 1mb pages Individually commit pages to the segment Map everything in the segment to the RSX We do leave a couple of Mb slop for the CRT because its used by other CRT functions (printf) and networking code

27 Memory Allocators Low level allocator is an allocate at end type allocator with no ability to free memory The allocator has checkpoints which we can use to rollback main and video memory Reliable clean up without concern about destructors being called There are checkpoints inserted at the various points during load so we can quickly reload when a player dies or restarts the level Systems that needed true dynamic memory dealt with it with an optimal allocator specific to that system

28 Main Memory Budget Elf+System Setup Code and Data 2mb of embedded SPU elf data 2+mb of PRX modules BSS CRT Heap SPU Thread group swap space 17Mb 8Mb 1Mb 2Mb

29 Core engine Main Memory Budget Push buffers Scratch memory Global Textures and HUD Misc 6-10Mb 9Mb 8Mb 2Mb SPU DMA buffers, vertex programs, RT light setup buffers, FIOS init, Sound init etc

30 Main Memory Budget Level Data Effects Geometry Collision Anim Enviroment Instance Occlusion/PVS Sound Dialog Physics Nav+AI Moby Instance Gameplay/Scripts 11Mb 50Mb 9Mb 30Mb 2Mb 4Mb 30Mb 12Mb 9Mb 4Mb 6Mb 10Mb

31 2 Raw mode SPUs SPU Configuration One SPU running broad collision One SPU running narrow collision These run all the time 3 [Job Manager] SPUs In a thread group running SPURS [Job Manager] policy module All jobs go on these 1 Unused This is for the OS to steal for AC3 Encode etc This should be used with its own job manager instance in the future for jobs that don t mind getting interrupted by the OS

32 SPU Configuration Initially we had [Job Manager] using 4 SPUs When we finally got a OS that was stealing an SPU it was more expensive to have [Job Manager] on 4 SPUs than on 3 With AC3 Encode active Total SPU Time for [Job Manager] of 4 Total SPU Time for [Job Manager] of ms ms Multiple instances of SPURS/[Job Manager] came too late for us to use

33 SPU Systems Animation Audio (NextSynth and LR1) Bucketer sort Collision (separate broad and narrow) Dynamic DB Dynamic joint FX update Geom Cull Clip (for shadows and decals) Glass Moby constants Physics collision Physics simulation Particle (weather fx) Render mats Static DB Water (FFT)

34 SPUs All our systems started off as RAW mode The only long term (not finished this frame) asynchronous processing is the collision on the raw SPUs We use [Job Manager] but not all systems use it in the typical way of fire and forget. Most of our system require the SPU to be running a particular system at the same time as the PPU. To ensure the SPU is doing what we want at the correct time we send [Job Manager] the job and use our own thin synchronization and job buffering schemes using the locked-line for communication 10-20% total SPU utilization

35 Collision Overview Dedicated 2 raw SPUs one for broad and narrow phases We support immediate and deferred queries PPU can directly issue broad or narrow queries Broad and narrow overlap, so narrow is processing as soon as the first broad phase result is available There are two kinds of deferred collision operations, standard priority which has to done this frame and low priority which has until the end of the next frame Immediate requests from the PPU are higher priority than any deferred collision Getting game code to optimally use the deferred collision was an issue

36 Animation Overview Approx 400 Joint limit, 15 blended clips Full body animations or partials with per joint weights Stack driven system similar to ICE No blend shapes or set driven key support at present While the SPU is computing the animation for a given moby the PPU is updating the next moby and computing its anim stack Animation time is typically completely hidden, only time we stall is when waiting for the last anim to complete Animation data is compressed in memory and temporarily decompressed before use by SPU

37 Animation Overview Low level animation system is driven by a high level move system which builds the anim stack End result of the animation is a set of local space matrices Subset of skeletal joints called dynamic joints which can be modified on post animated data physics, IK, rag doll, gameplay procedural movement, etc. operate on these Any modifications are multiplied back down the hierarchy only for those leaves of the tree by an SPU job Finally all resultant local space matrices are sent to another SPU job which builds the world space matrices and pushbuffer which uploads them to RSX All skinning is done on the RSX

38 The End Questions?

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

GUERRILLA 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 information

RSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog

RSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices About libgcm Using the SPUs with the RSX Brief overview of GCM Replay December 7 th, 2004

More information

The Vegetation of Horizon Zero Dawn. Gilbert Sanders Principal Artist, Guerrilla Games

The 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 information

Ratchet and Clank Future: Tools of Destruction Technical Debriefing. February 2008

Ratchet and Clank Future: Tools of Destruction Technical Debriefing. February 2008 Ratchet and Clank Future: Tools of Destruction Technical Debriefing February 2008 60Hz Tech Goals Visuals that appeal to casual and experienced players Look and feel of a CG movie Lots of action on screen

More information

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Building 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 information

Lecture 16. Introduction to Game Development IAP 2007 MIT

Lecture 16. Introduction to Game Development IAP 2007 MIT 6.189 IAP 2007 Lecture 16 Introduction to Game Development Mike Acton, Insomiac Games. 6.189 IAP 2007 MIT Introduction to Game Development (on the Playstation 3 / Cell ) Mike Acton Engine Director, Insomniac

More information

Dominic 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 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 information

Streaming Massive Environments From Zero to 200MPH

Streaming 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 information

The Making of Seemore WebGL. Will Eastcott, CEO, PlayCanvas

The 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 information

Game Development for

Game Development for Game Development for Who am I? Harry Krueger Senior Programmer at Housemarque Games Lead Programmer on Resogun Presentation Flow Intro to Housemarque and Resogun Housemarque Engine and Tools Platform-specific

More information

igmobybspheres jonathan garrett 3/7/08

igmobybspheres jonathan garrett 3/7/08 igmobybspheres jonathan garrett 3/7/08 introduction mobys have a bounding-sphere (bsphere) rough approximation to the extents of the character moves with the character approximation used as a faster alternative

More information

Optimizing Mobile Games with Gameloft and ARM

Optimizing Mobile Games with Gameloft and ARM Optimizing Mobile Games with Gameloft and ARM Stacy Smith Senior Software Engineer, ARM Adrian Voinea World Android Technical Lead, Gameloft Victor Bernot Lead Visual Effects Developer, Gameloft 1 ARM

More information

Insomniac Physics. Eric Christensen GDC 2009

Insomniac Physics. Eric Christensen GDC 2009 Insomniac hysics Eric Christensen GDC 2009 Overview Go over the evolution of IG physics system Shaders Library Shaders Custom event shaders Original Design Resistance: Fall of Man orted From C to S3 U

More information

Black Desert Online. Taking MMO Development to the Next Level. Dongwook Ha Gwanghyeon Go

Black Desert Online. Taking MMO Development to the Next Level. Dongwook Ha Gwanghyeon Go Black Desert Online Taking MMO Development to the Next Level Dongwook Ha (dongwook@pearlabyss.com) Gwanghyeon Go (xdotdt@pearlabyss.com) 2018-03-23 Black Desert Online Challenges Massive data and contents

More information

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games Bringing AAA graphics to mobile platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Platform team at Epic Games Unreal Engine 15 years in the industry 30 years of programming

More information

Optimizing 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 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 information

CS 354R: Computer Game Technology

CS 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 information

PLAYSTATION Edge. Mark Cerny Jon Olick Vince Diesi

PLAYSTATION Edge. Mark Cerny Jon Olick Vince Diesi PLAYSTATION Edge PLAYSTATION Edge Mark Cerny Jon Olick Vince Diesi Tools and Technology WWS America ICE Team WWS America Mark Cerny Jon Olick Advanced Technology Group WWS Europe Vince Diesi GCM Replay

More information

The Application Stage. The Game Loop, Resource Management and Renderer Design

The 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 information

PowerVR Performance Recommendations The Golden Rules. October 2015

PowerVR Performance Recommendations The Golden Rules. October 2015 PowerVR Performance Recommendations The Golden Rules October 2015 Paul Ly Developer Technology Engineer, PowerVR Graphics Understanding Your Bottlenecks Based on our experience 3 The Golden Rules 1. The

More information

Render-To-Texture Caching. D. Sim Dietrich Jr.

Render-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 information

Working with Metal Overview

Working with Metal Overview Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

PowerVR Series5. Architecture Guide for Developers

PowerVR Series5. Architecture Guide for Developers Public Imagination Technologies PowerVR Series5 Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind.

More information

Michal Valient Lead Tech Guerrilla Games

Michal Valient Lead Tech Guerrilla Games Michal Valient Lead Tech Guerrilla Games Intro Guerrilla is based in Amsterdam and we re part of Sony since 2005 We re working on two titles Unannounced new IP Killzone: Shadow Fall The new Killzone is

More information

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Next-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 information

Broken Age's Approach to Scalability. Oliver Franzke Lead Programmer, Double Fine Productions

Broken Age's Approach to Scalability. Oliver Franzke Lead Programmer, Double Fine Productions Broken Age's Approach to Scalability Oliver Franzke Lead Programmer, Double Fine Productions Content Introduction Platform diversity Game assets Characters Environments Shaders Who am I? Lead Programmer

More information

Advanced Maya Texturing and Lighting

Advanced Maya Texturing and Lighting Advanced Maya Texturing and Lighting Lanier, Lee ISBN-13: 9780470292730 Table of Contents Introduction. Chapter 1 Understanding Lighting, Color, and Composition. Understanding the Art of Lighting. Using

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

Deferred 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 information

BitSquid Tech Benefits of a data-driven renderer. Tobias Persson GDC 2011

BitSquid Tech Benefits of a data-driven renderer. Tobias Persson GDC 2011 BitSquid Tech Benefits of a data-driven renderer Tobias Persson GDC 2011 Agenda An introduction to BitSquid Key design principles of BitSquid Tech Benefits of having a data-driven rendering pipe BitSquid

More information

MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer

MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer MAXIS-mizing Darkspore*: A Case Study of Graphic Analysis and Optimizations in Maxis Deferred Renderer A New Gaming Experience Made Possible With Processor Graphics Released in early 2011, the 2nd Generation

More information

CocoVR - Spherical Multiprojection

CocoVR - Spherical Multiprojection CocoVR - Spherical Multiprojection Luke Schloemer Lead 3D Artist Xavier Gonzalez Senior Rendering Engineer Image(s) courtesy of Disney/Pixar Production Prototype 3 Months 3-5 Team Members Full development

More information

Progressive Mesh. Reddy Sambavaram Insomniac Games

Progressive Mesh. Reddy Sambavaram Insomniac Games Progressive Mesh Reddy Sambavaram Insomniac Games LOD Schemes Artist made LODs (time consuming, old but effective way) ViewDependentMesh (usually used for very large complicated meshes. CAD apps. Probably

More information

Many rendering scenarios, such as battle scenes or urban environments, require rendering of large numbers of autonomous characters.

Many 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 information

Guide Contents Introduction Useful Information Navigating the Scene Hotkeys Placing and Manipulating Objects The Builder Cube Builder Cube Edit

Guide Contents Introduction Useful Information Navigating the Scene Hotkeys Placing and Manipulating Objects The Builder Cube Builder Cube Edit Guide Contents Introduction Useful Information Navigating the Scene Hotkeys Placing and Manipulating Objects The Builder Cube Builder Cube Edit Geometry Builder Cube Edit UVs Static Meshes Materials Mat.

More information

Wed, October 12, 2011

Wed, 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 information

Realistic and Fast Cloud Rendering in Computer Games. Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video

Realistic and Fast Cloud Rendering in Computer Games. Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video Realistic and Fast Cloud Rendering in Computer Games Niniane Wang Software Engineer Microsoft Flight Simulator (now at Google Inc) Intro Video 1 Agenda Previous Work 3-D Modeling + Art Pipeline Performance

More information

Advanced Maya e Texturing. and Lighting. Second Edition WILEY PUBLISHING, INC.

Advanced Maya e Texturing. and Lighting. Second Edition WILEY PUBLISHING, INC. Advanced Maya e Texturing and Lighting Second Edition Lee Lanier WILEY PUBLISHING, INC. Contents Introduction xvi Chapter 1 Understanding Lighting, Color, and Composition 1 Understanding the Art of Lighting

More information

Bringing Hollywood to Real Time. Abe Wiley 3D Artist 3-D Application Research Group

Bringing Hollywood to Real Time. Abe Wiley 3D Artist 3-D Application Research Group Bringing Hollywood to Real Time Abe Wiley 3D Artist 3-D Application Research Group Overview > Film Pipeline Overview and compare with Games > The RhinoFX/ATI Relationship > Ruby 1 and 2 The Movies > Breakdown

More information

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo

Computer Graphics. Bing-Yu Chen National Taiwan University The University of Tokyo Computer Graphics Bing-Yu Chen National Taiwan University The University of Tokyo Hidden-Surface Removal Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm

More information

Rendering Grass Terrains in Real-Time with Dynamic Lighting. Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006

Rendering Grass Terrains in Real-Time with Dynamic Lighting. Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006 Rendering Grass Terrains in Real-Time with Dynamic Lighting Kévin Boulanger, Sumanta Pattanaik, Kadi Bouatouch August 1st 2006 Goal Rendering millions of grass blades, at any distance, in real-time, with:

More information

Adaptive Point Cloud Rendering

Adaptive 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 information

Ruby: Dangerous Curves Effects Breakdown: How d they do that? Dan Ginsburg 3D Application Research Group

Ruby: Dangerous Curves Effects Breakdown: How d they do that? Dan Ginsburg 3D Application Research Group Ruby: Dangerous Curves Effects Breakdown: How d they do that? Dan Ginsburg 3D Application Research Group Overview > RhinoFX/ATI relationship > Ruby shot-by-shot breakdown > Glows > Motion Blur > Reflections

More information

SPU Render. Arseny Zeux Kapoulkine CREAT Studios

SPU Render. Arseny Zeux Kapoulkine CREAT Studios SPU Render Arseny Zeux Kapoulkine CREAT Studios arseny.kapoulkine@gmail.com http://zeuxcg.org/ Introduction Smash Cars 2 project Static scene of moderate size Many dynamic objects Multiple render passes

More information

Creating Flood Effects in Uncharted 3. Eben Cook VFX Naughty Dog

Creating Flood Effects in Uncharted 3. Eben Cook VFX Naughty Dog Creating Flood Effects in Uncharted 3 Eben Cook VFX Artist @ Naughty Dog Me me me BA in Communication Design from UNT Computer Science minor 11 years in the industry. EALA, Naughty Dog I ve been: Concept

More information

Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond

Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond Attention to Detail! Creating Next Generation Content For Radeon X1800 and beyond Callan McInally Manager, 3D Application Research Group Overview In order to fully take advantage of next generation hardware,

More information

Developing Technology for Ratchet and Clank Future: Tools of Destruction

Developing Technology for Ratchet and Clank Future: Tools of Destruction Developing Technology for Ratchet and Clank Future: Tools of Destruction Mike Acton, Engine Director with Eric Christensen, Principal Programmer Sideline:

More information

Applications of Explicit Early-Z Culling

Applications 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 information

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Mali Developer Resources. Kevin Ho ARM Taiwan FAE Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture

More information

CS4620/5620: Lecture 14 Pipeline

CS4620/5620: Lecture 14 Pipeline CS4620/5620: Lecture 14 Pipeline 1 Rasterizing triangles Summary 1! evaluation of linear functions on pixel grid 2! functions defined by parameter values at vertices 3! using extra parameters to determine

More information

The Graphics Pipeline

The Graphics Pipeline The Graphics Pipeline Ray Tracing: Why Slow? Basic ray tracing: 1 ray/pixel Ray Tracing: Why Slow? Basic ray tracing: 1 ray/pixel But you really want shadows, reflections, global illumination, antialiasing

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics 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 information

Optimizing Mobile Games with ARM. Solo Chang Staff Applications Engineer, ARM

Optimizing Mobile Games with ARM. Solo Chang Staff Applications Engineer, ARM Optimizing Mobile Games with ARM Solo Chang Staff Applications Engineer, ARM 1 ARM Ecosystem My first role in ARM was in Developer Relations Developers came to us to ask for help We couldn t share their

More information

CS GAME PROGRAMMING Question bank

CS 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 information

Enabling immersive gaming experiences Intro to Ray Tracing

Enabling 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 information

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural

Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural 1 Point based global illumination is now a standard tool for film quality renderers. Since it started out as a real time technique it is only natural to consider using it in video games too. 2 I hope that

More information

CGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing

CGDD 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 information

LOD and Occlusion Christian Miller CS Fall 2011

LOD and Occlusion Christian Miller CS Fall 2011 LOD and Occlusion Christian Miller CS 354 - Fall 2011 Problem You want to render an enormous island covered in dense vegetation in realtime [Crysis] Scene complexity Many billions of triangles Many gigabytes

More information

GeForce4. John Montrym Henry Moreton

GeForce4. John Montrym Henry Moreton GeForce4 John Montrym Henry Moreton 1 Architectural Drivers Programmability Parallelism Memory bandwidth 2 Recent History: GeForce 1&2 First integrated geometry engine & 4 pixels/clk Fixed-function transform,

More information

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Enhancing 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 information

Profiling and Debugging Games on Mobile Platforms

Profiling 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 information

Vulkan: 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. 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 information

Optimisation. CS7GV3 Real-time Rendering

Optimisation. CS7GV3 Real-time Rendering Optimisation CS7GV3 Real-time Rendering Introduction Talk about lower-level optimization Higher-level optimization is better algorithms Example: not using a spatial data structure vs. using one After that

More information

Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead

Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead Jack Porter Engine Development & Support Team Lead for Korea UE4 Mobile Team Lead I ve worked on Unreal Engine development since 1998! Contributed to Unreal Tournament & Gears of War series Introduction

More information

Integrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object:

Integrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object: Integrating Physics into a Modern Game Engine Object Collision Various types of collision for an object: Sphere Bounding box Convex hull based on rendered model List of convex hull(s) based on special

More information

Opaque. Flowmap Generator 3

Opaque. Flowmap Generator   3 Flowmap Shaders Table of Contents Opaque... 3 FlowmapGenerator/Opaque/Water... 4 FlowmapGenerator /Opaque/Water Foam... 6 FlowmapGenerator /Opaque/Solid... 8 Edge Fade... 9 Depth Fog... 12 Opaque The opaque

More information

1 INTRoduCTIon to BLENDER 1. 3 PREPARATIon 19

1 INTRoduCTIon to BLENDER 1. 3 PREPARATIon 19 INTRoduCTIoN xv 2 INTRoduCTIon to GIMP 13 Topics Covered... xv What Isn t Covered...xvi Requirements....xvi The Projects....xvi The Bat Creature... xvii The Spider Bot... xvii The Jungle Temple... xvii

More information

GLOBAL SNOW Reference Guide

GLOBAL SNOW Reference Guide GLOBAL SNOW Reference Guide Contents Introduction... 3 How it works... 3 Demo Scene... 4 Quick Start... 4 Global Snow Parameters... 5 Scene Setup (Forward Rendering)... 5 Scene Setup (Deferred Rendering)...

More information

Scanline Rendering 2 1/42

Scanline Rendering 2 1/42 Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms

More information

PowerVR Performance Recommendations. The Golden Rules

PowerVR Performance Recommendations. The Golden Rules PowerVR Performance Recommendations Copyright Imagination Technologies Limited. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied

More information

Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead

Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics. Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Understanding M3G 2.0 and its Effect on Producing Exceptional 3D Java-Based Graphics Sean Ellis Consultant Graphics Engineer ARM, Maidenhead Introduction M3G 1.x Recap ARM M3G Integration M3G 2.0 Update

More information

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Parallelizing 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 information

Textures. Texture coordinates. Introduce one more component to geometry

Textures. Texture coordinates. Introduce one more component to geometry Texturing & Blending Prof. Aaron Lanterman (Based on slides by Prof. Hsien-Hsin Sean Lee) School of Electrical and Computer Engineering Georgia Institute of Technology Textures Rendering tiny triangles

More information

Computer Graphics. Bing-Yu Chen National Taiwan University

Computer Graphics. Bing-Yu Chen National Taiwan University Computer Graphics Bing-Yu Chen National Taiwan University Visible-Surface Determination Back-Face Culling The Depth-Sort Algorithm Binary Space-Partitioning Trees The z-buffer Algorithm Scan-Line Algorithm

More information

New BFME2 World Builder Features Addendum to the BFME1 World Builder Manual

New BFME2 World Builder Features Addendum to the BFME1 World Builder Manual New BFME2 World Builder Features Addendum to the BFME1 World Builder Manual 1. To help organize World Builder, we ve added the Logical Tab and the Sound Tab to the Object Properties. a. The Logical Tab

More information

PowerVR Hardware. Architecture Overview for Developers

PowerVR 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 information

Vulkan Multipass mobile deferred done right

Vulkan 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 information

Game Graphics Programmers

Game Graphics Programmers Graphics INTRODUCTION - A Glimpse into what Game Graphics Programmers do - System level view of Graphics Architectures & Pipeline - Intro to Commonly used Rendering Techniques in Games Game Graphics Programmers

More information

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager

Optimizing DirectX Graphics. Richard Huddy European Developer Relations Manager Optimizing DirectX Graphics Richard Huddy European Developer Relations Manager Some early observations Bear in mind that graphics performance problems are both commoner and rarer than you d think The most

More information

Adobe Flash Course Syllabus

Adobe Flash Course Syllabus Adobe Flash Course Syllabus A Quick Flash Demo Introducing the Flash Interface Adding Elements to the Stage Duplicating Library Items Introducing Keyframes, the Transform Tool & Tweening Creating Animations

More information

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal Graphics Hardware, Graphics APIs, and Computation on GPUs Mark Segal Overview Graphics Pipeline Graphics Hardware Graphics APIs ATI s low-level interface for computation on GPUs 2 Graphics Hardware High

More information

MODELING AND HIERARCHY

MODELING AND HIERARCHY MODELING AND HIERARCHY Introduction Models are abstractions of the world both of the real world in which we live and of virtual worlds that we create with computers. We are all familiar with mathematical

More information

gltf 2.0: Status and Outlook

gltf 2.0: Status and Outlook gltf 2.0: Status and Outlook 31st July 2018 by Norbert Nopper (nopper@ux3d.io, @McNopper) Content Status (15 minutes) Outlook (35 minutes) Questions & Answers (10 minutes) Status gltf 2.0 What we currently

More information

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

Enhancing 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 information

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017 Getting fancy with texture mapping (Part 2) CS559 Spring 2017 6 Apr 2017 Review Skyboxes as backdrops Credits : Flipmode 3D Review Reflection maps Credits : NVidia Review Decal textures Credits : andreucabre.com

More information

EECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing

EECE 478. Learning Objectives. Learning Objectives. Rasterization & Scenes. Rasterization. Compositing EECE 478 Rasterization & Scenes Rasterization Learning Objectives Be able to describe the complete graphics pipeline. Describe the process of rasterization for triangles and lines. Compositing Manipulate

More information

Chapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions.

Chapter Answers. Appendix A. Chapter 1. This appendix provides answers to all of the book s chapter review questions. Appendix A Chapter Answers This appendix provides answers to all of the book s chapter review questions. Chapter 1 1. What was the original name for the first version of DirectX? B. Games SDK 2. Which

More information

Ultimate Graphics Performance for DirectX 10 Hardware

Ultimate Graphics Performance for DirectX 10 Hardware Ultimate Graphics Performance for DirectX 10 Hardware Nicolas Thibieroz European Developer Relations AMD Graphics Products Group nicolas.thibieroz@amd.com V1.01 Generic API Usage DX10 designed for performance

More information

3D Rendering Pipeline

3D 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 information

Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation

Craig 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 information

LEVEL 1 ANIMATION ACADEMY2010

LEVEL 1 ANIMATION ACADEMY2010 1 Textures add more realism to an environment and characters. There are many 2D painting programs that can be used to create textures, such as Adobe Photoshop and Corel Painter. Many artists use photographs

More information

Game Architecture. 2/19/16: Rasterization

Game Architecture. 2/19/16: Rasterization Game Architecture 2/19/16: Rasterization Viewing To render a scene, need to know Where am I and What am I looking at The view transform is the matrix that does this Maps a standard view space into world

More information

Animation Essentially a question of flipping between many still images, fast enough

Animation Essentially a question of flipping between many still images, fast enough 33(70) Information Coding / Computer Graphics, ISY, LiTH Animation Essentially a question of flipping between many still images, fast enough 33(70) Animation as a topic Page flipping, double-buffering

More information

Lecture 25: Board Notes: Threads and GPUs

Lecture 25: Board Notes: Threads and GPUs Lecture 25: Board Notes: Threads and GPUs Announcements: - Reminder: HW 7 due today - Reminder: Submit project idea via (plain text) email by 11/24 Recap: - Slide 4: Lecture 23: Introduction to Parallel

More information

Advanced Gemstone Shaders

Advanced Gemstone Shaders Advanced Gemstone Shaders Introduction: I am fascinated from crystals and minerals and gemstones. As a game developer, I always look for solutions to simulate such precious stones. When most people hear

More information

The Illusion of Motion Making magic with textures in the vertex shader. Mario Palmero Lead Programmer at Tequila Works

The Illusion of Motion Making magic with textures in the vertex shader. Mario Palmero Lead Programmer at Tequila Works The Illusion of Motion Making magic with textures in the vertex shader Mario Palmero Lead Programmer at Tequila Works Dark Ages before Textures in the Vertex Shader What is the Vertex Shader? A programmable

More information

Physically Based Shading in Unity. Aras Pranckevičius Rendering Dude

Physically Based Shading in Unity. Aras Pranckevičius Rendering Dude Physically Based Shading in Unity Aras Pranckevičius Rendering Dude Outline New built-in shaders in Unity 5 What, how and why And all related things Shaders in Unity 4.x A lot of good things are available

More information

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil

Real-Time Hair Simulation and Rendering on the GPU. Louis Bavoil Real-Time Hair Simulation and Rendering on the GPU Sarah Tariq Louis Bavoil Results 166 simulated strands 0.99 Million triangles Stationary: 64 fps Moving: 41 fps 8800GTX, 1920x1200, 8XMSAA Results 166

More information

NVSG NVIDIA Scene Graph

NVSG NVIDIA Scene Graph NVSG NVIDIA Scene Graph Leveraging the World's Fastest Scene Graph Agenda Overview NVSG Shader integration Interactive ray tracing Multi-GPU support NVIDIA Scene Graph (NVSG) The first cross-platform scene

More information

Creative Web Designer Course

Creative Web Designer Course Creative Web Designer Course Photoshop 1. Getting to Know the Work Area Starting to work in Adobe Photoshop Using the tools Setting tool properties Undoing actions in Photoshop More about panels and panel

More information

VISIT FOR THE LATEST UPDATES, FORUMS & MORE ASSETS.

VISIT  FOR THE LATEST UPDATES, FORUMS & MORE ASSETS. Gargoyle VISIT WWW.SFBAYSTUDIOS.COM FOR THE LATEST UPDATES, FORUMS & MORE ASSETS. 1. INTRODUCTION 2. QUICK SET UP 3. PROCEDURAL VALUES 4. SCRIPTING 5. ANIMATIONS 6. LEVEL OF DETAIL 7. CHANGE LOG 1. Introduction

More information