3D Authoring Tool BS Content Studio supports Deferred Rendering for improved visual quality

Similar documents
GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

Render all data necessary into textures Process textures to calculate final image

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

A bit more Deferred - CryEngine 3. Triangle Game Conference 2009 Martin Mittring Lead Graphics Programmer

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment

Deferred Rendering Due: Wednesday November 15 at 10pm

Vulkan Multipass mobile deferred done right

Graphics and Interaction Rendering pipeline & object modelling

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

Deferred Renderer Proof of Concept Report

Photoshop PSD Export. Basic Tab. Click here to expand Table of Contents... Basic Tab Additional Shading Tab Material Tab Motion Tab Geometry Tab

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping

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

Me Again! Peter Chapman. if it s important / time-sensitive

Advanced Deferred Rendering Techniques. NCCA, Thesis Portfolio Peter Smith

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Adaptive Point Cloud Rendering

Evolution of GPUs Chris Seitz

Ultimate Graphics Performance for DirectX 10 Hardware

Programming Graphics Hardware

X 2 -Toon: An Extended X-Toon Shader

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Game Programming Lab 25th April 2016 Team 7: Luca Ardüser, Benjamin Bürgisser, Rastislav Starkov

Object Space Lighting. Dan Baker Founder, Oxide Games

Shaders (some slides taken from David M. course)

Lecture 2. Shaders, GLSL and GPGPU

rendering rasterization based rendering pipelined architecture, parallel mostly triangles (lines and points possible too)

TSBK03 Screen-Space Ambient Occlusion

Resolve your Resolves Jon Story Holger Gruen AMD Graphics Products Group

There are many kinds of surface shaders, from those that affect basic surface color, to ones that apply bitmap textures and displacement.

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

Computer Graphics. Shadows

Ch 10: Game Event Management. Quiz # 4 Discussion

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Computer Graphics (CS 563) Lecture 4: Advanced Computer Graphics Image Based Effects: Part 2. Prof Emmanuel Agu

Computer Science 175. Introduction to Computer Graphics lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba

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

Rendering 13 Deferred Shading

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Open Game Engine Exchange Specification

SAMPLING AND NOISE. Increasing the number of samples per pixel gives an anti-aliased image which better represents the actual scene.

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig)

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

PowerVR Performance Recommendations The Golden Rules. October 2015

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Real-Time Graphics / C++ Programming and Design

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker

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

Methodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010)

Shadows. COMP 575/770 Spring 2013

Beyond Programmable Shading Course ACM SIGGRAPH 2010 Bending the Graphics Pipeline

AGDC Per-Pixel Shading. Sim Dietrich

8/5/2012. Introduction. Transparency. Anti-Aliasing. Applications. Conclusions. Introduction

AGGREGATE G-BUFFER ANTI-ALIASING

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

Real-Time Rendering of a Scene With Many Pedestrians

Georgios (George) Papaioannou

Screen Space Ambient Occlusion. Daniel Kvarfordt & Benjamin Lillandt

Optimizing and Profiling Unity Games for Mobile Platforms. Angelo Theodorou Senior Software Engineer, MPG Gamelab 2014, 25 th -27 th June

CS451Real-time Rendering Pipeline

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013

CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

Rendering in games. Rendering. Video Game Dev 2017/2018 Univ. Insubria. rendering. Video Game Dev - Univ Insubria 2017/ /12/2017.

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

CS GAME PROGRAMMING Question bank

Shaders. Slide credit to Prof. Zwicker

Game Graphics Programmers

Applications of Explicit Early-Z Culling

HARDWARE ACCELERATED 3D/2D RENDERING

Rendering Grass with Instancing in DirectX* 10

A Trip Down The (2011) Rasterization Pipeline

Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation

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

Underwater Manager (Optional)

CS 464 Review. Review of Computer Graphics for Final Exam

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

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

Optimized Rendering Techniques Based on Local Cubemaps

ECMA st Edition / December Universal 3D File Format

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

Wednesday, July 24, 13

of the NVIDIA Demo Team Eugene d Eon 2008 NVIDIA Corporation.

Life on the Bleeding Edge: More Secrets of the NVIDIA Demo Team Eugene d Eon NVIDIA Corporation.

Tiled shading: light culling reaching the speed of light. Dmitry Zhdan Developer Technology Engineer, NVIDIA

Canonical Shaders for Optimal Performance. Sébastien Dominé Manager of Developer Technology Tools

Craig Peeper Software Architect Windows Graphics & Gaming Technologies Microsoft Corporation

Improved Deep Image Compositing Using Subpixel Masks

Graphics for VEs. Ruth Aylett

High-Quality Surface Splatting on Today s GPUs

Computer Graphics: Programming, Problem Solving, and Visual Communication

CHAPTER 1 Graphics Systems and Models 3

Deus Ex is in the Details

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

Com S 336 Final Project Ideas

Point Sample Rendering

Transcription:

3D Authoring Tool BS Content Studio supports Deferred Rendering for improved visual quality Oliver Neubauer Project Manager 02.07.2013

BS Content Studio BS Content Studio manages hundreds of lights WYSIWYG editor to create, manipulate and enrich your 3D models authoring tool facilitates content generation visualisation in integrated 3D engine BS Contact Deferred Rendering reduces complexity of 3D scene

BS Content Studio

Concept Improve the lighting Get rid of the light limitation (8 HW lights) More light more realism Decouple the lighting of object from the rendering of object www.bitmanagement.com

History Inventor 1988 Michael Deering et al. Pixel colour calculation after resolving depth Current concept from 1990 Saito and Takahashi Introduce the G-Buffer

Forward rendering Classical forward rendering for each pixel per object Determine depth (culled or not) Normals + diffuse color + light color = final color Each pixel has to be rendered for every light Complexity O(m*n) m number of object n number of lights

Forward rendering Shading is done in place HW lighting depends on vertex density

Deferred Lighting 1. Pass collects geometry information G-Buffer (Geometry Buffer) contains information Depth Diffuse colour Normal G-Buffer are MRT (multiple render targets) textures

Deferred Lighting DEPTH COLOUR NORMALS

Deferred Lighting 2. Pass collects Light information Directional light

Deferred Lighting 3. Pass combine light and geometry information

Transparency Transparency is complicated Transparent object receive light and blends with scene Transparent object use the old forward rendering style

Transparency Scene with transparent object Light on transparent object use forward shading Transparent blends with deferred rendered object

Pro & Contra Pros multiple lights for objects complexity O(m+n) m = Object; n = lights No limits of hardware lighting Only visible geometry get lighted Shadow maps easier to maintain Post effects easy to add

Pro & Contra Contra Transparent objects hard to handle Driver and graphic cards need MRT support Shader Model 3 required DX9 OGL version 2 Currently not available for OGLES 2.0

BS Contact 3D Engine New node DeferredNode in X3D Syntax

BS Contact Children contains nodes for deferred lighting MRT must have same bit rate A8R8G8B8 R32F G16R16 GlobalShader field for MRT shader writer MRT's are filled in one pass

BS Contact DX9 HLSL pixel shader example for material MRT PO PS_Colors_material(in VO input) { PO result = (PO)0; result.normal = 0.5f * (normalize(input.normal) + 1.0f); result.depth = input.depth.x / input.depth.y; result.normal.a = material.power/128; result.diffuse.rgb = material.diffusecolor.rgb*input.color.rgb; result.diffuse.a = 1; return result; }

BS Contact 1. RT is depth with 32 bit precision 2. RT is colour 8bit for each RGB channel Last 8 bit are free to use (emissive colour factor?) 3. RT is normal 8bit precision for each axis xyz Lead to quantization Solution 16bit for x and y axis reconstruct z axis

BS Contact DEPTH COLOUR NORMALS

BS Contact LightShader field for light colour calculation Light is rendered as geometry For each light type seperate shader Result Shader information stored in render target

BS Contact DX HLSL pixel shader for directional light float4 PixelShaderDirectionalFunction(VertexShaderOutput input) : COLOR0 { //get normal data from the normalmap half4 normaldata = tex2d(normalsampler,input.texcoord); //tranform normal back into [-1,1] range half3 normal = 2.0f * normaldata.xyz - 1.0f; //get specular power, and get it into [0,255] range] half specularpower = normaldata.a*128; //read depth float depthval = tex2d(depthsampler,input.texcoord).r; //compute screen-space position float4 position; position.x = input.texcoord.x * 2.0f - 1.0f; position.y = -(input.texcoord.y * 2.0f - 1.0f); position.z = depthval; position.w = 1.0f; //transform to world space position = mul(position, g_mviewprojinvers); position /= position.w;

BS Contact //surface-to-light vector float3 lightvector = -normalize(light.direction); //compute diffuse light half NdL = max(0,dot(normal,lightvector)); half3 diffuselight = NdL * light.diffusecolor; //reflexion vector half3 reflectionvector = (reflect(lightvector, normal)); //camera-to-surface vector half3 directiontocamera = normalize(camerapos - position); //compute specular light half dotprod = dot(reflectionvector, directiontocamera); half specularlight= 0; if(specularpower>0 && NdL >0) specularlight = /*specularintensity * */ pow( saturate(dot(reflectionvector, -directiontocamera)), specularpower); //output the two light values return float4(diffuselight.rgb, max(0,specularlight)) ; }

BS Contact LightRenderTarget field contains result from shader 32 bit texture RGB channels contains light colour 8 bit Alpha channel for specularity

BS Contact Light RT with 98 Lights and random colour All lights

BS Contact combinepostprocess field for PostProcess node to process results from colour RT and light RT PostProcess node contains shader for combine process Chaining of PostProcess nodes are flexible to add own effects

BS Contact

BS Contact Post process effects simple to implement using the already computed RT SSAO Shadow Blur Bloom Motion Blur

BS Contact SSAO Buffer

BS Contact SSAONoexample SSAO SSAO

BS Contact BS Contact can handle hundreds of lights from different types Performance depends on size and range of light Directional light is costly because full scene lighting Small point lights could be cheap

BS Contact 100 point lights 98 spot lights all animated

BS Content Studio Deferred Rendering effects simply applied (placing of lights in interactive 3D scene): BS Content Studio Result

Demo Scene available on http://www.bitmanagement.de/en/company/research-development