Greeting I like to give you a Introduction to Shader Scripting within Unity Show how the shaders you use and how to adapt to your project Give you

Size: px
Start display at page:

Download "Greeting I like to give you a Introduction to Shader Scripting within Unity Show how the shaders you use and how to adapt to your project Give you"

Transcription

1 Greeting I like to give you a Introduction to Shader Scripting within Unity Show how the shaders you use and how to adapt to your project Give you basic understanding how they works Hope you can start to create you own shaders! How many people still using build-in shaders? How many people already have experience with own custom shaders? About myself: Level Designer at InnoGames since over a year working on a non Announced project Also currently working on a side project with Unity have working experience over serveral year in Unity, Unreal and some other relic SKDs 1

2 Content New Standard shader vs. Legacy Shaders Framework Surface Shader Code Structure Profiling & Anayling Extra: Workflow: Copy, Combine, Transform Pratice This talk is not about: 3rd party tools into unity How does it works on hardware My learnings also apart of my opinion, so please take it with a pinch of salt 2

3 Technical solution to: Give the player Feedback Give the player the right amount of information at the right time, communicate with a visual language to the player Objects with interaction Highlight and set attention Unique Art Style stand out the rest Fit to your concept design Performance optimization every project is unique, has differnet requirements and goals Build-In shader sometime just overkill Recommendation: Makin' Stuff Look Good: Simonschreibt: 3

4 New Standard Shader New standard and go-to option more realistic shading (since unity5) Looks better out of the box -> pushes on the competitors Phyically Based Shading (PBS), Don t reflect more light than they receive Uniform and consistant approach, because based on one complex Shader, Energy conservation More Requirements for the Input data, set up Light & Reflection probes Specular and Fresnel everywhere -> Surface becomes more reflective at grazing angles streamlined inspector Costs more -> PC / Console, negligible Legacy Shaders For specific & unique shading -> easy to fuck up Unity Look -> Basic shader is simple and plain PBS can be repreduced -> Unity 4 had most of options already, but needs lot of graphics knowledge Many very specific shader Easier to understand und to start with faster 4

5 Mobile non-negligible -> use Legacy Recommendation: Aras Pranckevičius blog <- Rendering plumber at Unity 4

6 Pipeline / Framework Very rudimentary and simplified of the render pipeline, to keep it understandable Materials -> definitions of how a surface should be rendered, including the references to textures used, other parameters, depends on shader Shaders -> Excecution, small scripts, contain the mathematical calculations, algorithms for calculating the colour of each pixel rendered, based on the lighting input and the Material configuration. Textures are bitmap images. Used by Material s shader to calculating the surface property of an object. basic colour (albedo), reflectivity or roughness, combined in channels Unity ShaderLab: improved Cg/HLSL (additional render parameter & alternative hardware / platforms) Allows the compatible with OpenGL / Direct X API Output: Different Data Channels Rendered Object: Cg Handbock: HLSL (supports DirectX) -> High Level Shading Language Language is Cg (Nvidia) or HLSL(Microsoft), 5

7 5

8 You can find the Example code here: aring Code Structure of a Surface Shader Using legacy shader example: Transparent Bumped Specular Close to the new Standard Shader No vert() here Geometry / Fragment Shading We don t change vertex here or use them 6

9 Let break down the code: Properties SubShader (where the fun starts, the actual render path), add a simpler SubShader CGPROGRAM..ENDCG Block inside, what to compile Picks first subshader which works on the user s graphics card You can use Pass Blocks like Pass, UsePass and GrabPass Tags Lighting() -> & Shader Model Initialize Variables Input Struct Extended Out Struct -> missing here (Emission & Specular Color) Surf() FallBack Shader 7

10 Load other fuctions from different files // #include "./relative/path/to/yourshader.cginc" // Shader "directory/name/subname" can be used to sort your shaders Properties: public input of values and textures by the editor user variables needs to start with a underscore so CG can they identify as given // name ("display name", type) = default_value {} MainTex: this texture has 4 channels, RGB (1.,2. & 3) for the pure color infomation, A (4.) for th e transparency (alpha) a texture is a array of texels (boxes with infomation in it), textures using UV mapping t o coordinate the information // different Tags setting can be used for set up the proper render order (amount of interpolations) // pragma surface surf indicate it s a surface shader which is using the BlinnPhong lightingfunction Different lightction needs different output structs Alpha:fade is Optional parameters Enable traditional fade-transparency. 8

11 Initialize Variables // use the data type you really need // transfrom Properties into SubShader variables, they need the same name to identif y for CG // or thedeclaration of variables // type _variablename; Struct Input //using for data transfer (messenger), value types, no reference Normal // UnpackNormal();calculate texture informations into vectors, to fake surface geome try 9

12 own lighting function Idea of a HalfLambert Lighting, unrealistic but give more details Needs Lighting Prefix and also has to change at pragma line // helping function, takes two vectors and calculates the dot product calmping from (-1 to 1) to (0 to 1), much smoother shading to dot(vector1,vector2); tells you how two vectors directed to each other, dot self giv es range -1 to 1 normalize(): reduce the vector length (magnitude) to 1 we could only use between 0 and 1, so cut in half and add a half, so it get everytim es possitv or 0 Prefix Lighting, returns the color of texel as displayed on the sceen, runs for ever texel an d ever lightsource!, needs to assigned in CGProgramm SurfaceOutput: informations of the texel, provided byour surf function lightdir: the direction of the current light source (vector) viewdir: the looking direction of the camera (vector) atten: attenuation of the lightsource (distance and intensity), falloff 10

13 LightColor0: color value of the current lightsoucre 10

14 My Workflow: Remix iteration, Inspired by Kirby Ferguson: Copy, Combine, Transform Copy Reference Research: Stylization with a Purpose: The Illustrative World of TEAM FORTRESS 2 by Jason Mitchell, APurpose_TF2.pdf Paper: inginteamfortress2.pdf Audio Talk: The TF2 Shader Shaderpipeline of INSIDE Complexity-High-Fidelity-INSIDE Recommendation: Check out the the publication by Valve on Shader Community 11

15 Unifycommunity Wikibooks Unity Surface Shader Examples SurfaceShaderExamples.html Tools / Marketplace Shader Forge Substance Database Skyshop Toolbag Alloy Combine Combine shader functionality and calculation you need to a new one Try out new combinations of mathematical calculations and algorithms Transfrom Ajust to your needs and to the need of your project -> Repeat and Iterate 11

16 Use the data type you really need -> you don t need precision everytime: Convert Procedurals to constants Convert Master Shader to various specific shader Reduce the amount of different Materials -> Draw Call Batching Cut down unnecessary code -> Bought shaders or build-in, there is alway something to cut out, avoid complex mathematical operations Use Fallback shaders & SubShaders Be aware of render order and overlaping objects overdraw Opacity vs Masked vs Translucent -> Occlusion Culling? Cut down Test on target device / platform -> result will be different Know your bottleneck: GPU vs CPU Set up your Project right -> Which shaders should loaded and which not: Use GPU Profiling tools -> Buffer Creation, Frame by Frame, Draw Call by Draw Call Analyzer, Vertex Count, Copy reverse Engineer shaders script Intel GPA -> PC, Nvidia Nsight -> Android 12

17

18 Practice examples shader scripting: Create Surface Shader without using any textures Recreate a build-in surface shader and compare your work with them Recreate the Photoshop Blend Modes as blending functions: Deconstract & Recreate a Shader form the last game you played 13

19 Conclusion: I hope i could show you Build-In Shaders are not enough Know the fundamentals to change it on your demand Optimize and Adapt them to your project 14

20 Thank you guys Did you have question? Or just write me -> 15

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

Forward rendering. Unity 5's rendering paths. Which lights get what treatment?

Forward rendering. Unity 5's rendering paths. Which lights get what treatment? Unity 5's rendering paths Introduction to Surface Shaders Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology Deferred Shading: Deferred pass Forward Rendering:

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

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved Avi Shapira Graphic Remedy Copyright Khronos Group, 2009 - Page 1 2004 2009 Graphic Remedy. All Rights Reserved Debugging and profiling 3D applications are both hard and time consuming tasks Companies

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

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

Could you make the XNA functions yourself?

Could you make the XNA functions yourself? 1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which

More information

CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1 Markus Hadwiger, KAUST Reading Assignment #4 (until Feb. 23) Read (required): Programming Massively Parallel Processors book, Chapter

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

Graphics Hardware. Instructor Stephen J. Guy

Graphics Hardware. Instructor Stephen J. Guy Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!

More information

Property of: Entrada Interactive. PBR Workflow. Working within a PBR-based environment

Property of: Entrada Interactive. PBR Workflow. Working within a PBR-based environment Property of: Entrada Interactive PBR Workflow Working within a PBR-based environment Ryan Manning 8/24/2014 MISCREATED PBR WORKFLOW CryDocs on Physically Based Shading/Rendering: http://docs.cryengine.com/display/sdkdoc4/physically+based+rendering

More information

Module 13C: Using The 3D Graphics APIs OpenGL ES

Module 13C: Using The 3D Graphics APIs OpenGL ES Module 13C: Using The 3D Graphics APIs OpenGL ES BREW TM Developer Training Module Objectives See the steps involved in 3D rendering View the 3D graphics capabilities 2 1 3D Overview The 3D graphics library

More information

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

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology Graphics Performance Optimisation John Spitzer Director of European Developer Technology Overview Understand the stages of the graphics pipeline Cherchez la bottleneck Once found, either eliminate or balance

More information

Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V

Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V Prospects for a more robust, simpler and more efficient shader cross-compilation pipeline in Unity with SPIR-V 2015/04/14 - Christophe Riccio, OpenGL Democratizing games development Monument Valley by

More information

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11 Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

More information

Rendering 13 Deferred Shading

Rendering 13 Deferred Shading Catlike Coding Unity C# Tutorials Rendering 13 Deferred Shading Explore deferred shading. Fill Geometry Buffers. Support both HDR and LDR. Work with Deferred Reflections. This is part 13 of a tutorial

More information

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic.

Lets assume each object has a defined colour. Hence our illumination model is looks unrealistic. Shading Models There are two main types of rendering that we cover, polygon rendering ray tracing Polygon rendering is used to apply illumination models to polygons, whereas ray tracing applies to arbitrary

More information

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

rendering rasterization based rendering pipelined architecture, parallel mostly triangles (lines and points possible too) Rendering Scena 3D rendering Immagine screen buffer ( array 2D di pixel ) Rendering in games Real-time (20 or) 30 or 60 FPS Algorithm: rasterization based rendering Hardware based pipelined architecture,

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

Efficient and Scalable Shading for Many Lights

Efficient and Scalable Shading for Many Lights Efficient and Scalable Shading for Many Lights 1. GPU Overview 2. Shading recap 3. Forward Shading 4. Deferred Shading 5. Tiled Deferred Shading 6. And more! First GPU Shaders Unified Shaders CUDA OpenCL

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world

More information

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture 14 Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

More 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

Easy Decal Version Easy Decal. Operation Manual. &u - Assets

Easy Decal Version Easy Decal. Operation Manual. &u - Assets Easy Decal Operation Manual 1 All information provided in this document is subject to change without notice and does not represent a commitment on the part of &U ASSETS. The software described by this

More information

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

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation

More information

Lecture 2. Shaders, GLSL and GPGPU

Lecture 2. Shaders, GLSL and GPGPU Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders

More information

Performance OpenGL Programming (for whatever reason)

Performance OpenGL Programming (for whatever reason) Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer

More 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

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

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008.

CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions. The Midterm Exam was given in class on Thursday, October 23, 2008. CS 381 Computer Graphics, Fall 2008 Midterm Exam Solutions The Midterm Exam was given in class on Thursday, October 23, 2008. 1. [4 pts] Drawing Where? Your instructor says that objects should always be

More information

Rendering 17 Mixed Lighting

Rendering 17 Mixed Lighting Catlike Coding Unity C# Tutorials Rendering 17 Mixed Lighting Bake only indirect light. Mix baked and realtime shadows. Deal with code changes and bugs. Support subtractive lighting. This is part 17 of

More information

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

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

Opportunities for Interactive, Physics- Driven Wave Simulation

Opportunities for Interactive, Physics- Driven Wave Simulation Opportunities for Interactive, Physics- Driven Wave Simulation Dr. Patrick J. Lynett Sasan Tavakkol University of Southern California Interactive, Physics-Driven Wave Simulation Focus here on phase-resolving

More information

Real-Time Universal Capture Facial Animation with GPU Skin Rendering

Real-Time Universal Capture Facial Animation with GPU Skin Rendering Real-Time Universal Capture Facial Animation with GPU Skin Rendering Meng Yang mengyang@seas.upenn.edu PROJECT ABSTRACT The project implements the real-time skin rendering algorithm presented in [1], and

More information

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

Methodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010) Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 11: OpenGL 3 http://inst.eecs.berkeley.edu/~cs184 Methodology for Lecture Lecture deals with lighting (teapot shaded as in HW1) Some Nate

More information

The Rasterization Pipeline

The Rasterization Pipeline Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects

More information

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1 Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Ecosystem @neilt3d Copyright Khronos Group 2015 - Page 1 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon

More information

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

CMSC427 Advanced shading getting global illumination by local methods. Credit: slides Prof. Zwicker CMSC427 Advanced shading getting global illumination by local methods Credit: slides Prof. Zwicker Topics Shadows Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection

More information

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing) ME 290-R: General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing) Sara McMains Spring 2009 Performance: Bottlenecks Sources of bottlenecks CPU Transfer Processing Rasterizer

More information

Wednesday, July 24, 13

Wednesday, July 24, 13 The Chase Pushing the Limits of Modern Mobile GPU Renaldas Zioma, Unity Technologies Ole Ciliox, Unity Technologies The Chase High-End Mobile Demo Built with off-the-shelf Unity 4.2 The Chase Goals Impressive

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

Analyze and Optimize Windows* Game Applications Using Intel INDE Graphics Performance Analyzers (GPA)

Analyze and Optimize Windows* Game Applications Using Intel INDE Graphics Performance Analyzers (GPA) Analyze and Optimize Windows* Game Applications Using Intel INDE Graphics Performance Analyzers (GPA) Intel INDE Graphics Performance Analyzers (GPA) are powerful, agile tools enabling game developers

More information

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1 X. GPU Programming 320491: Advanced Graphics - Chapter X 1 X.1 GPU Architecture 320491: Advanced Graphics - Chapter X 2 GPU Graphics Processing Unit Parallelized SIMD Architecture 112 processing cores

More information

Evolution of GPUs Chris Seitz

Evolution of GPUs Chris Seitz Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing

More information

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI Tutorial on GPU Programming #2 Joong-Youn Lee Supercomputing Center, KISTI Contents Graphics Pipeline Vertex Programming Fragment Programming Introduction to Cg Language Graphics Pipeline The process to

More information

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

CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture #8: Lighting Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #4 due Friday, October 28 Introduction:

More information

PowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK. PowerVR Developer Technology

PowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK. PowerVR Developer Technology PowerVR: Getting Great Graphics Performance with the PowerVR Insider SDK PowerVR Developer Technology Company Overview Leading silicon, software & cloud IP supplier Graphics, video, comms, processor, cloud

More information

Rendering Grass with Instancing in DirectX* 10

Rendering Grass with Instancing in DirectX* 10 Rendering Grass with Instancing in DirectX* 10 By Anu Kalra Because of the geometric complexity, rendering realistic grass in real-time is difficult, especially on consumer graphics hardware. This article

More 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

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

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

Shaders. Slide credit to Prof. Zwicker

Shaders. Slide credit to Prof. Zwicker Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?

More information

Mattan Erez. The University of Texas at Austin

Mattan Erez. The University of Texas at Austin EE382V: Principles in Computer Architecture Parallelism and Locality Fall 2008 Lecture 10 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should we

More information

Introduction to 3D Graphics

Introduction to 3D Graphics Graphics Without Polygons Volume Rendering May 11, 2010 So Far Volumetric Rendering Techniques Misc. So Far Extended the Fixed Function Pipeline with a Programmable Pipeline Programming the pipeline is

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

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window

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

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0

Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 Hands-On Workshop: 3D Automotive Graphics on Connected Radios Using Rayleigh and OpenGL ES 2.0 FTF-AUT-F0348 Hugo Osornio Luis Olea A P R. 2 0 1 4 TM External Use Agenda Back to the Basics! What is a GPU?

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

Shaders (some slides taken from David M. course)

Shaders (some slides taken from David M. course) Shaders (some slides taken from David M. course) Doron Nussbaum Doron Nussbaum COMP 3501 - Shaders 1 Traditional Rendering Pipeline Traditional pipeline (older graphics cards) restricts developer to texture

More information

Why modern versions of OpenGL should be used Some useful API commands and extensions

Why modern versions of OpenGL should be used Some useful API commands and extensions Michał Radziszewski Why modern versions of OpenGL should be used Some useful API commands and extensions Timer Query EXT Direct State Access (DSA) Geometry Programs Position in pipeline Rendering wireframe

More information

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014 CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014 Announcements Project 2 due Friday, Oct. 24 th Midterm Exam

More information

Flowmap Generator Reference

Flowmap Generator Reference Flowmap Generator Reference Table of Contents Flowmap Overview... 3 What is a flowmap?... 3 Using a flowmap in a shader... 4 Performance... 4 Creating flowmaps by hand... 4 Creating flowmaps using Flowmap

More information

Underwater Manager (Optional)

Underwater Manager (Optional) Underwater Shaders - Version 1.5 Thank you for purchasing Underwater Shaders! Underwater Manager (Optional) The Underwater Manager prefab can be dragged into your scene. It is a simple game object with

More information

PROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd.

PROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd. PROFESSIONAL WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB Andreas Anyuru WILEY John Wiley & Sons, Ltd. INTRODUCTION xxl CHAPTER 1: INTRODUCING WEBGL 1 The Basics of WebGL 1 So Why Is WebGL So Great?

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

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

Shading 1: basics Christian Miller CS Fall 2011

Shading 1: basics Christian Miller CS Fall 2011 Shading 1: basics Christian Miller CS 354 - Fall 2011 Picking colors Shading is finding the right color for a pixel This color depends on several factors: The material of the surface itself The color and

More information

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk

ArcGIS Runtime: Maximizing Performance of Your Apps. Will Jarvis and Ralf Gottschalk ArcGIS Runtime: Maximizing Performance of Your Apps Will Jarvis and Ralf Gottschalk Agenda ArcGIS Runtime Version 100.0 Architecture How do we measure performance? We will use our internal Runtime Core

More information

Learn the fundamentals of shader writing in unity in this complete tutorial series.

Learn the fundamentals of shader writing in unity in this complete tutorial series. Learn the fundamentals of shader writing in unity in this complete tutorial series. In this Unity tutorial series we will be giving you a basic introduction to shader scripting, showing you how to write

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

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

Texturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018

Texturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018 References: Real-Time Rendering 3 rd Edition Chapter 6 Texturing Theory All it takes is for the rendered image to look right. -Jim Blinn Overview Introduction The Texturing Pipeline Example The Projector

More information

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini

More information

Programming Graphics Hardware

Programming Graphics Hardware Tutorial 5 Programming Graphics Hardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 9:30 10:15 10:45 Introduction to the Hardware Graphics Pipeline

More information

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

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Shadow Buffer Theory Observation:

More information

WebGL and GLSL Basics. CS559 Fall 2015 Lecture 10 October 6, 2015

WebGL and GLSL Basics. CS559 Fall 2015 Lecture 10 October 6, 2015 WebGL and GLSL Basics CS559 Fall 2015 Lecture 10 October 6, 2015 Last time Hardware Rasterization For each point: Compute barycentric coords Decide if in or out.7,.7, -.4 1.1, 0, -.1.9,.05,.05.33,.33,.33

More information

Advanced Deferred Rendering Techniques. NCCA, Thesis Portfolio Peter Smith

Advanced Deferred Rendering Techniques. NCCA, Thesis Portfolio Peter Smith Advanced Deferred Rendering Techniques NCCA, Thesis Portfolio Peter Smith August 2011 Abstract The following paper catalogues the improvements made to a Deferred Renderer created for an earlier NCCA project.

More information

Feeding the Beast: How to Satiate Your GoForce While Differentiating Your Game

Feeding the Beast: How to Satiate Your GoForce While Differentiating Your Game GDC Europe 2005 Feeding the Beast: How to Satiate Your GoForce While Differentiating Your Game Lars M. Bishop NVIDIA Embedded Developer Technology 1 Agenda GoForce 3D capabilities Strengths and weaknesses

More information

Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and

Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and Designing the look and feel for Smoke and Neon powers The creation of a new toolset and pipeline for I:SS Pros and cons from our new workflow and lessons learned attempting to make something new Defining

More information

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

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research Applications of Explicit Early-Z Z Culling Jason Mitchell ATI Research Outline Architecture Hardware depth culling Applications Volume Ray Casting Skin Shading Fluid Flow Deferred Shading Early-Z In past

More information

Drawing Fast The Graphics Pipeline

Drawing Fast The Graphics Pipeline Drawing Fast The Graphics Pipeline CS559 Fall 2015 Lecture 9 October 1, 2015 What I was going to say last time How are the ideas we ve learned about implemented in hardware so they are fast. Important:

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

(Joseph Hocking, Unity in Action, 2015, p.70) textures + shaders. general appl. matrix & other computations

(Joseph Hocking, Unity in Action, 2015, p.70) textures + shaders. general appl. matrix & other computations Outline Introduction to Game Programming Autumn 2017 04. Graphics for games Juha Vihavainen University of Helsinki Creating and drawing game entities from 2D images (sprites sprites) ) to 3D models the

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

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014 ECS 175 COMPUTER GRAPHICS Ken Joy Winter 2014 Shading To be able to model shading, we simplify Uniform Media no scattering of light Opaque Objects No Interreflection Point Light Sources RGB Color (eliminating

More information

Unreal Engine 4. Realistic, high-quality windows

Unreal Engine 4. Realistic, high-quality windows Unreal Engine 4 Realistic, high-quality windows Contents 1. Mesh structure 4 2. Material design 8 Material 1: Reflective 8 Material 2: Tint 10 3. Mesh and Material assignments 13 4. Sorting translucency

More information

Game Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc.

Game Technology. Lecture Physically Based Rendering. Dipl-Inform. Robert Konrad Polona Caserman, M.Sc. Game Technology Lecture 7 4.12.2017 Physically Based Rendering Dipl-Inform. Robert Konrad Polona Caserman, M.Sc. Prof. Dr.-Ing. Ralf Steinmetz KOM - Multimedia Communications Lab PPT-for-all v.3.4_office2010

More information

Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions.

Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions. 1 2 Shadows for Many Lights sounds like it might mean something, but In fact it can mean very different things, that require very different solutions. 3 We aim for something like the numbers of lights

More information

Spring 2009 Prof. Hyesoon Kim

Spring 2009 Prof. Hyesoon Kim Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on

More information

AGDC Per-Pixel Shading. Sim Dietrich

AGDC Per-Pixel Shading. Sim Dietrich AGDC Per-Pixel Shading Sim Dietrich Goal Of This Talk The new features of Dx8 and the next generation of HW make huge strides in the area of Per-Pixel Shading Most developers have yet to adopt Per-Pixel

More information

After the release of Maxwell in September last year, a number of press articles appeared that describe VXGI simply as a technology to improve

After the release of Maxwell in September last year, a number of press articles appeared that describe VXGI simply as a technology to improve After the release of Maxwell in September last year, a number of press articles appeared that describe VXGI simply as a technology to improve lighting in games. While that is certainly true, it doesn t

More information

Texture Mapping. Images from 3D Creative Magazine

Texture Mapping. Images from 3D Creative Magazine Texture Mapping Images from 3D Creative Magazine Contents Introduction Definitions Light And Colour Surface Attributes Surface Attributes: Colour Surface Attributes: Shininess Surface Attributes: Specularity

More information

The Shadow Rendering Technique Based on Local Cubemaps

The Shadow Rendering Technique Based on Local Cubemaps The Shadow Rendering Technique Based on Local Cubemaps Content 1. Importing the project package from the Asset Store 2. Building the project for Android platform 3. How does it work? 4. Runtime shadows

More information

Ch 10: Game Event Management. Quiz # 4 Discussion

Ch 10: Game Event Management. Quiz # 4 Discussion Ch 10: Game Event Management Quiz # 4 Discussion Moving the Camera Toggle between first and third person view Translate object Transformations ò Quaternion: rotation around arbitrary axis ò Advantages

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

Practical Techniques for Ray Tracing in Games. Gareth Morgan (Imagination Technologies) Aras Pranckevičius (Unity Technologies) March, 2014

Practical Techniques for Ray Tracing in Games. Gareth Morgan (Imagination Technologies) Aras Pranckevičius (Unity Technologies) March, 2014 Practical Techniques for Ray Tracing in Games Gareth Morgan (Imagination Technologies) Aras Pranckevičius (Unity Technologies) March, 2014 What Ray Tracing is not! Myth: Ray Tracing is only for photorealistic

More information

Today s Agenda. DirectX 9 Features Sim Dietrich, nvidia - Multisample antialising Jason Mitchell, ATI - Shader models and coding tips

Today s Agenda. DirectX 9 Features Sim Dietrich, nvidia - Multisample antialising Jason Mitchell, ATI - Shader models and coding tips Today s Agenda DirectX 9 Features Sim Dietrich, nvidia - Multisample antialising Jason Mitchell, ATI - Shader models and coding tips Optimization for DirectX 9 Graphics Mike Burrows, Microsoft - Performance

More information