Overview [See Video file] Architecture Overview.

Slides:



Advertisements
Similar presentations
A Real Time Radiosity Architecture for Video Games
Advertisements

Introduction to Direct3D 10 Course Porting Game Engines to Direct3D 10: Crysis / CryEngine2 Carsten Wenzel.
Firaxis LORE And other uses of D3D11.
Perspective aperture ygyg yryr n zgzg y s = y g (n/z g ) ysys y s = y r (n/z r ) zrzr.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Mali Instruction Set Architecture
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Lecture 38: Chapter 7: Multiprocessors Today’s topic –Vector processors –GPUs –An example 1.
Solving Some Common Problems in a Modern Deferred Rendering Engine
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Bump Mapping CSE 781 Roger Crawfis.
Graphics Pipeline.
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
Graphics Hardware CMSC 435/634. Transform Shade Clip Project Rasterize Texture Z-buffer Interpolate Vertex Fragment Triangle A Graphics Pipeline.
Advanced Rendering MATERIALS, POSTEFFECTS AND SCENE COMPOSITION GDC
Pixel Shader Vertex Shader The Real-time Graphics Pipeline Input Assembler Rasterizer Output Merger.
Status – Week 260 Victor Moya. Summary shSim. shSim. GPU design. GPU design. Future Work. Future Work. Rumors and News. Rumors and News. Imagine. Imagine.
Computer Science – Game DesignUC Santa Cruz Adapted from Jim Whitehead’s slides Shaders Feb 18, 2011 Creative Commons Attribution 3.0 (Except copyrighted.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Week 1 - Friday.  What did we talk about last time?  C#  SharpDX.
OPTIMIZING AND DEBUGGING GRAPHICS APPLICATIONS WITH AMD'S GPU PERFSTUDIO 2.5 GPG Developer Tools Gordon Selley Peter Lohrmann GDC 2011.
Basic 3D Graphics Chapter 5. Bird’s Eye View  Basic 3D Graphics –Basic concepts of 3D graphics, rendering pipeline, Java 3D programming, scene graph,
Cg Kevin Bjorke GDC NVIDIA CONFIDENTIAL A Whole New World with Cg Graphics Program Written in Cg “C” for Graphics Compiled & Optimized Low Level,
GPU Programming Robert Hero Quick Overview (The Old Way) Graphics cards process Triangles Graphics cards process Triangles Quads.
Real-time Graphical Shader Programming with Cg (HLSL)
Geometric Objects and Transformations. Coordinate systems rial.html.
Shading CMSC 435/634. RenderMan Light Displacement Surface Volume Imager.
Next-Generation Graphics APIs: Similarities and Differences Tim Foley NVIDIA Corporation
Porting Unity to new APIs Aras Pranckevičius Unity Technologies.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
Shadow Mapping Chun-Fa Chang National Taiwan Normal University.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
Shader Study 이동현. Vision engine   Games Helldorado The Show Warlord.
The Cg Runtime Cyril Zeller. Cg Pipeline Graphics programs are written in Cg and compiled to low-level assembly code... Cg Runtime API...
Shader Program in Gamebryo. Introduction Shader?  A complete Rendering Effect to apply to an object  Shader Program – Vertex/Pixel Shader Shader Programs.
M. Jędrzejewski, K.Marasek, Warsaw ICCVG, Multimedia Chair Computation of room acoustics using programable video hardware Marcin Jędrzejewski.
CSE 381 – Advanced Game Programming GLSL. Rendering Revisited.
A 3-D Rendering System Final Project Ben Hebert & Mayur Desai Spring 2005.
2009 GRAPHICS : PROJECT 1 BASED ON DX9 BASICS. Documented by Dongjoon Kim SNU CS Ph.D Course Student Contact : NOTE.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
GPU Functional Simulator Yi Yang CDA 6938 term project Orlando April. 20, 2008.
Advanced D3D10 Shader Authoring Presentation/Presenter Title Slide.
CgFX Sébastien Dominé, NVIDIA. Overview What is CgFX? CgFX runtime Production pipeline with CgFX CgFX Tools set Demo.
Computer Science – Game DesignUC Santa Cruz Tile Engine.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
How to use a Pixel Shader CMT3317. Pixel shaders There is NO requirement to use a pixel shader for the coursework though you can if you want to You should.
Lecture Rendering pipeline, shaders and effects 1Elias Holmlid.
TensorFlow– A system for large-scale machine learning
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Week 2 - Monday CS361.
Reflective Shadow Mapping By: Mitchell Allen.
The Basics: HTML5, Drawing, and Source Code Organization
Graphics Processing Unit
Deferred Lighting.
Chapter 6 GPU, Shaders, and Shading Languages
The Graphics Rendering Pipeline
Navigating huge (UE4 (rendering)) code
Chapter VI OpenGL ES and Shader
Graphics Processing Unit
HW for Computer Graphics
Current Research in VR Display Technology
Computer Graphics Practical Lesson 10
UE4 Vulkan Updates & Tips
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
Graphics Processing Unit
03 | Creating, Texturing and Moving Objects
An Incremental Rendering VM
Peter Oostema & Rajnish Aggarwal 6th March, 2019
Presentation transcript:

Overview [See Video file]

Architecture Overview

Asynchronous Resource Loading Handle Based Default Resources always available Game Thread Device Ressource Tracker Background Loading System RenderDevice

Stateless Rendering Architecture 64 bit Source Key Draw Command ViewportPassDepth Shader Mesh Texture

Stateless Rendering Architecture 64 bit Source Key Draw Command ViewportPassShader Mesh Texture Depth

Shader Cross Compilation System Mix of Custom Description Language and HLSL Heavy use of Preprocessor Macros

.shader2 (texture_input (texture_2d diffuse_texture) texture_input) (sampler_input (sampler_state diffuse_texture_sampler) sampler_input) PSSL struct SRT_PerMaterial { Texture2D diffuse_texture_srt; SamplerState diffuse_texture_sampler_srt; }; #define diffuse_texture (srt_data.per_material ->diffuse_texture_srt) #define diffuse_texture_sampler (srt_data.per_material ->diffuse_texture_sampler_srt)

float4 PS( PS_INPUT input, SRT_Global srt_data ) { output = TEXTURE_2D_SAMPLE_RGBA( diffuse_texture, diffuse_texture_sampler, IL_PIXEL_INPUT(tex) ); }

All resources are bound by convention at runtime Constants organized by Frequency Frame, Camera, Material, Object Textures in the order they are defined

Changes since Submission Support for 3D Textures Changed from 64x64x4 -> 32x32x16 clusters Optimized Forward Clustered Shader GPU Time: ms -> 7.86 ms

Changes since Submission Fixed incorrect cotangent-frame construction in the normal mapping shader Added Tonemapping Fixed synchronization issues in the GPU allocator

Restructured Rendering Loop Old SchemeNew Scheme Input Latency:3 / 4 frames 2 / 3 frames

Demonstration

Planned Changes Add support for Pipeline objects (D3D12, Mantle, Metal) Restructure the Stateless Draw Command implementation – Add Passes, one pass per logical operation – Reduces overhead from hazard tracking – Reduces sorting overhead, only need to sort local in a pass Improve Light Clustering Implement Deferred Rendering Scheme, compare to current Clustered Forward Better Shading Language, maybe based on the ideas of Spark?

Questions? Jendrik Illner