rendering rasterization based rendering pipelined architecture, parallel mostly triangles (lines and points possible too)
|
|
- Nathaniel Craig
- 5 years ago
- Views:
Transcription
1 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, parallel Rendering primitives: mostly triangles (lines and points possible too) Complexity: Linear with number of primitives Marco Tarini 1
2 Rendering: rasterization of trianges x v0 =( x0, y0, z0 ) y v1 =( x1, y1, z1 ) v2 =( x2, y2, z2 ) z GPU pipeline (shown: OpenGL 2.0) Marco Tarini 2
3 GPU pipeline simplified GPU pipeline simplified more Marco Tarini 3
4 GPU pipeline simplified even more y v0 v1 transform v0 v1 rasterizer fragment process pixels finali z v2 vertici 3D x v2 triangolo 2D a schermo (2D screen triangle) "frammenti" (fragments) 10 Rasterization based rendering: stages Per vertex: (vertex shader) skinning (from rest pose to current pose) transform (from object space to screen space) Per triangle: (rasterizer) rasterization interpolation of per-vertex data Per fragment: (fragment shader) lighting (from normal + lights + material to RGB) texturing alpha kill Per fragment: (output combiners) depth test alpha blend Marco Tarini 4
5 Rasterization-Based Rendering y v0 v1 per vertex v0 v1 per triangle per fragment final pixels z v2 3D vertices x v2 2D triangle on screen "fragments" PROGRAMMABLE! 12 Rasterization-Based Rendering y v0 v1 per vertex v0 v1 per triangle per fragment final pixels z v2 3D vertices x v2 2D triangle on screen "fragments" A user-defined "Vertex Shader" (or vertex program) 13 A user-defined "Fragment Shader" (or pixel program) Marco Tarini 5
6 Shading languages High level: GLSL - OpenGL Shading Language (by Khronos) HLSL - High Level Shader Language (Direct3D, by Microsoft) CG - C for Graphics (by Nvidia) Low lever: ARB Shader Program (an assembler for GPU -- deprecated) In Unity (and, similarly, in many game engines) Meshes have a mesh renderer component includes several flags and settings and Mesh renderer have a material component include flags, material parameters settings, textures and Material in include a shader determines which settings/texture are available in material can be one of the many standard shader can be a customized shader: use shader-lab Marco Tarini 6
7 In Unity: ShaderLab A text file defining shaders and describing how the engine should use them Defines A set of shaders to link (vertex, fragment ) in CG language Fallback shaders (a plan B for when the running HW does not support the default shader) Connection of material parameters / textures (visible to scripts / Unity GUI) to shaders uniforms (basically, global constant usable in shaders) Rendering effects: lighting Marco Tarini 7
8 Local lighting LIGHT reflection (BRDF) EYE OBJECT Lighting Material parameters (data modelling the «material») Illuminant (data modelling lighting environment) Geometric data (e.g. normal, tangent dirs, pos viewer) LIGHTING MODEL ( the lighting equation ) final R, G, B Marco Tarini 8
9 Lighting equations Many different equations Lambertian Blinn-Phong Beckmann Heidrich Seidel Cook Torrance Ward (anisotropic) add Fresnel effects Varying levels of complexity realism simplest, most commonly used (some are physically based, some are just tricks) material parameters allowed richness of effects to learn more, see Computer Graphics course! Lighting equations: most basic solutions Diffuse (aka Lambertian) physically based only dull materials only material parameter: base color (aka albedo, aka diffuse color) Specular (aka Blinn-Phong) just a trick add simulated reflections (highlights) additional material parameters: specular intensity (or, color) specular exponent (aka glossiness) Marco Tarini 9
10 Lighting: per-pixel VS per-vertex Per pixel = more quality computation in the fragment shader interpolate lighting input material params can be in textures (more variations) Per vertex = more efficiency compiutation in the vertex shader interpolate lighting output material params must be in vertices (few variations) Usually: mixed! partly per vertex (e.g. diffuse, local light dir computation) partly per pixel (e.g. specular, env. map, shadow-map) Many effects require per-pixel: normal mapping parallax mapping Lighting Material parameters (data modelling the «material») Illuminant (data modelling lighting environment) Geometric data (e.g. normal, tangent dirs, pos of viewer) LIGHTING MODEL ( the lighting equation ) final R, G, B Marco Tarini 10
11 Illumination environments: discrete a finite set of light suroces few of them (usually 1-4) each sitting in a node of the scene graphs types: point light sources with: position spot-lights with: position, orientation, wideness (angle) directional light sources with: orientation extra attributes: color / intesity (other minor attributes) Illumination environments: densely sampled From each direction (on the sphere) a light intensity / color Asset to store that: Environment map φ (or Reflection Probe ) θ -90 Marco Tarini 11
12 Typical issue with lights in games: too many of them Each light has a cost: compute a term in the Lighting Equation (for each vertex or fragment!) access all its parameters in the shaders maybe: compute its shadows (!!!) 1..4 lights: ok 20+ lights: not ok. But, potentially needed? physically speaking, a light source has infinite range of effect Typical issue with lights in games: too many of them Solution: light proxies full quality for the (e.g.) 4 most relevant lights how to pick them? (per object) the closest ones the brightest ones the dynamic ones (as opposed to static) for them: shadows, full per-pixel approximate the others lights no shadows, per vertex aggregate them in Env map / light probes populate the scene with ad-hoc light probes just ignore the least relevant ones artificially finite radius of lights Marco Tarini 12
13 Spherical functions (a common requirement in lighting) Task: how to store a function f: Ω R n Ω = surface of a sphere i.e. the set of all unit vectors (directions) R n = some vector space (scalars, colors, vectors ) Examples: a (local) lighting environment (at a position p) f( x ) = how much light comes in p from direction x the lighting radiance (of a point p) f( x ) = how much light p reflects toward direction x local occlusions (for a point p) f( x ) = is p seen from direction x? in [0, 1] We want efficient storage, synthesis, computation of f, + ability to interpolate them Spherical function: by sampling Idea: just sample f (i.e. store it as a table) Step 1: parametrize a sphere into domain A use a fixed function m: Ω A A = typically, a rectangle m must be fast, and not distorted common choices for m? Step 2: regularly sample A (as an image) Then: Store f : just store the image To get f( x ): access A at position m( x ) (use bilinear interpolation or better) To interpolate between two f: just cross-fade the two images Marco Tarini 13
14 Spherical function: with Spherical Harmonics Local lighting Material parameters (data modelling the «material») Illuminat (data modelling lighting environment) Geometric data (e.g. normal, tangent dirs, pos of viewer) LIGHTING MODEL ( the lighting equation ) final R, G, B Marco Tarini 14
15 Material parameters GPU rendering of a Mesh in a nutshell (reminder) Load store all data on GPU RAM Geometry + Attributes Connectivity Textures Shaders Material Parameters Rendering Settings and Fire! send the command: do it! THE MESH ASSET THE MATERIAL ASSET Marco Tarini 15
16 Terminology Material parameters parameters modelling the optical behavior of physical object (part of) the input of the lighting equation Material asset an abstraction used by game engines consisting of a set of textures (e.g. diffuse + specular + normal map) a set of shaders (e.g. vertex + fragment) a set of global parameters (e.g. global glossiness) rendering settings (e.g. back face culling Y/N?) corresponds a state of the rendering engines Authoring material parameters Q: which materials parameters needs be defined? A: depends on chosen lighting equation Idea: game engine lets material artist choose intuitively named material parameters, then picks a lighting equation accordingly the one best suiting them speak material-artist language Marco Tarini 16
17 Authoring material parameters Popular choice of intuitive parameters : Base color (rgb) Specularity (scalar) Metal-ness (scalar) Roughness (scalar) images: unreal engine 4 PBM Physically Based Materials Basically, just a buzzword Meanings: 1. use accurate material parameters physically plausible maybe measured instead of: made up and tuned by intuition (by the material artist) 2. keep each lighting element separated (e.g. its own texture) use fewer shortcuts that usual e.g. use: base color: one texture baked AO: another texture ( Geometry Term ) instead of: base color x baked AO : one texture AO = Ambient Occlusion (see later) Marco Tarini 17
18 PMS Physically Based Shading Basically, just another buzzword Meanings: 1. Use PBM 2. Use a more complex, more adherent to reality Lighting equation E.g. include HDR (and Gamma-corrected rendering) include Fresnel effects energy conserving Lighting equations only General objective: Make a material look plausible under a larger range of lighting environments (much more challenging than targeting just one or a few!) Local lighting in brief Material properties (data modelling the «material») Illuminat (data modelling lighting environment) Geometric data (e.g. normal, tangent dirs, pos viewer) LOCAL LIGHTING ( the lighting equation ) final R, G, B Marco Tarini 18
19 Reminder: normals Per vertex attribute of meshes Reminder: Tangent dirs normal mapping (tangent space) requires tangent dirs «anisotropic» BRDF: requires tantent dir Marco Tarini 19
20 Material qualities: it s improving fast indie 2006 indie 2010 Material qualities: improving Marco Tarini 20
21 Local lighting in brief Material properties (data modelling the «material») Illuminat (data modelling lighting environment) Geometric data (e.g. normal, tangent dirs, pos viewer) LOCAL LIGHTING ( the lighting equation ) final R, G, B Lighting equation: how Computed in the fragment shader most game engine support a subset as default ones any custom one can be programmed in shaders! Material + geometry parameters stored : in textures (highest freq variations) in vertex attributes (smooth variations) as material assets parameter (no variation) for example, where are diffuse color specular color normals tangent dirs typically stored? Marco Tarini 21
22 How to feed parameters to the lighting equation Hard wired choice of the game engine WYSIWYG game tools E.g. in Unreal Engine 4 Multi-pass rendering Basic mechanism Pass 1: the resulting screen-buffer is stored in a texture (not sent on the screen) Pass 2: the final rendering uses the screen-buffer as a texture The buffer is write only in pass 1 read only in pass 2 The two passes be completely different different settings, points of view, resolution Sometimes: more passes than 2 Sometimes: pass 1 produces more than 1 buffer in parallel Marco Tarini 22
23 Multi-pass rendering Examples Many custom effects like: Mirrors: Pass 1: produces what is seen in a mirror Pass 2: the mirror surface is textured with it An animated painting (think harry potter): Pass 1: produces the painting content Pass 2: in the main scene, the painting is textured with it Portals in Portals serie (Valve) We will see a few standard effects requiring Multi-pass rendering (such as: shadow-maps) One sub-class of multi-pass rendering is Screen space effects Screen-space effect Basic mechanism Pass 1: the scene is rendered From the main camera point of view Produces: a RGB buffer Produces: a depth buffer sometimes, other buffers too ( multiple render targets ) Pass 2: one big quad is rendered, covering the screen exactly uses the produced buffer(s) as texture(s) adding all kinds of effects (e.g.: blur?) Basically, it s post-production in real time Marco Tarini 23
24 Rendering techniques popular in games Shadowing shadow mapping Screen Space Ambient Occlusion Camera lens effects Flares limited Depth Of Field Motion blur High Dynamic Range Non Photorealistic Rendering contours toon BRDF Texture-for-geometry Bumpmapping Parallax mapping con PCF SSAO DoF HDR NPR Shadow mapping Marco Tarini 24
25 Shadow mapping Shadow mapping in a nutshell Two passes. 1st rendering: camera in light position produces: depth buffer called: the shadowmap 2nd renedring: camera in final position for each fragment access the shadowmap once to determine if fragment is reached by light or not Marco Tarini 25
26 Shadow mapping in a nutshell LUCE OCCHIO SHADOW MAP final SCREEN BUFFER Shadow Mapping: costs Rendering the shadowmap: can be kept minimal! no color buffer writing (no lighting, texturing ) just: vertex transform, and depth test optimizations: view-frustum culling still, it s a costly extra pass (for each light ) do only for important lights can be baked once and reused, for static objects (yet another good reason to tag them) requires static lights too Marco Tarini 26
27 Shadow Mapping: issues Shadow-map bit-depth: quantization artifacts matters! 16bit is hardly enough Shadow-map resolution: aliasing artifacts matters! remedies: higer res, PCF, multi-res shadow-map Screen Space AO Marco Tarini 27
28 Video Game Dev - Univ Verona /10/2017 Screen Space AO OFF Screen Space AO ON Marco Tarini 28
29 Screen Space AO in a nutshell First pass: standard rendering produces: rgb image produces: depth image Second pass: screen space technique for each pixel, look at depth VS its neighbors: neighbors are in front? difficult to reach pixel: partly negate ambient light neighbors are behind? pixel exposed to ambient light: more ambient light (limited) Depth of Field depth out of focus range: blurred depth in focus range: sharp Marco Tarini 29
30 (limited) Depth of Field in a nutshell First pass: standard rendering rgb image depth image Second pass: screen space technique: pixel is inside of focus range? keep it sharp pixel is outside of focus range? blur it (blur = average with neighbors pixels kernel size ~= amount of blur) HDR - High Dynamic Range (limited Dynamic Range) Marco Tarini 30
31 HDR - High Dynamic Range in a nutshell First pass: normal rendering, BUT use lighting / materials with HDR pixel values not in [0..1] e.g. sun emits light with = RGB [500,500,500]: >1 = over-exposed! whiter than white Second pass: screen space technique: >1 values bleed into neighbors i.e.: overexposed pixels lighten neighbors i.e.: they will be max white (1,1,1), and their light bleeds into neighbors Parallax Mapping Normal map only Marco Tarini 31
32 Parallax Mapping Normal map + Parallax map Parallax mapping: in a nutshell Texture-for-geometry technique like a normal-maps (used in conjunction to it) Requires a displacement map: texel = distance from surface Marco Tarini 32
33 Motion Blur NPR rendering / Toon shading / Cel Shading Marco Tarini 33
34 NPR rendering: Toon shading / Cel Shading Toon shading / Cel Shading in a nutshell Simulating toons Typically, two effects: add contour lines at discontinuity lines of: 1. depth, 2. normals, 3. materials quantize lighting: e.g. 2 or 3 tones: light, medium, dark instead of continuous interval it s a simple variation of lighting equation Marco Tarini 34
35 NPR rendering: simulated pixel art img by Howard Day (2015) NPR rendering: simulated pixel art img by Dukope Marco Tarini 35
36 NPR rendering: simulated pixel art img by Dukope Multi-pass rendering in Unity (notes) Very simple to do (as usual) Steps: create a Render Texture a 2D GPU buffer which can be: the output of a rendering, OR the texture of another rendering create one (secondary) Camera add the Render Texture as the Target Texture of this Camera that camera won t output its rendering to the screen add the Render Texture as a Texture, in some material What happens: every frame, Unity will: 1 st pass: render the texture (from the secondary camera) 2 nd pass: use the result in the (final) rendering (from the main camera) Marco Tarini 36
37 Screen Space effects in Unity (notes) Very simple to do (as usual) Steps: Create a Shader (ShaderLab) pick a image effect shader (just to save initialization work) Create a Material, which uses the shader Add a Script to the main camera add a public Material field to it assign it to the new material (from the GUI) redefine its OnRenderImage method make it just do one blit operation (see next slide) using the material as parameters All ready: the effect can now be coded in the Fragment shader of the Shader (multiple?) accesses the texture(s), computation of final RGB Screen Space effects in Unity (notes) using System.Collections; using System.Collections.Generic; using UnityEngine; public class CameraScript : MonoBehaviour { void Update () { } public Material mat; } void OnRenderImage ( RenderTexture src, RenderTexture dest ) { Graphics.Blit (src, dest, mat); } blit = 2D screen-buffer copy In Unity, implemented as a full-screen quad rendering Marco Tarini 37
Rendering in games. Rendering. Video Game Dev 2017/2018 Univ. Insubria. rendering. Video Game Dev - Univ Insubria 2017/ /12/2017.
Video Game Dev Univ. Insubria Rendering in games Rendering 3D scene rendering Image screen buffer ( array 2D di pixel ) Marco Tarini 1 Rendering in games Real time (20 o) 30 o 60 FPS Hardware based Pipelined,
More informationCMSC427 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 informationPipeline 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 informationPipeline 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 informationDeferred 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 informationGUERRILLA 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 informationIntroduction to Visualization and Computer Graphics
Introduction to Visualization and Computer Graphics DH2320, Fall 2015 Prof. Dr. Tino Weinkauf Introduction to Visualization and Computer Graphics Visibility Shading 3D Rendering Geometric Model Color Perspective
More informationCS 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 informationOpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.
OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment
More informationPipeline Operations. CS 4620 Lecture 10
Pipeline Operations CS 4620 Lecture 10 2008 Steve Marschner 1 Hidden surface elimination Goal is to figure out which color to make the pixels based on what s in front of what. Hidden surface elimination
More informationPhysically 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 informationToday. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models
Computergrafik Matthias Zwicker Universität Bern Herbst 2009 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation of physics Global
More informationToday. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models
Computergrafik Thomas Buchberger, Matthias Zwicker Universität Bern Herbst 2008 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation
More informationCMSC427 Shading Intro. Credit: slides from Dr. Zwicker
CMSC427 Shading Intro Credit: slides from Dr. Zwicker 2 Today Shading Introduction Radiometry & BRDFs Local shading models Light sources Shading strategies Shading Compute interaction of light with surfaces
More informationComputergrafik. Matthias Zwicker Universität Bern Herbst 2016
Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today More shading Environment maps Reflection mapping Irradiance environment maps Ambient occlusion Reflection and refraction Toon shading
More informationCSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #8: GLSL Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #4 due Friday, November 2 nd Introduction:
More informationWednesday, 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 informationIllumination & Shading: Part 1
Illumination & Shading: Part 1 Light Sources Empirical Illumination Shading Local vs Global Illumination Lecture 10 Comp 236 Spring 2005 Computer Graphics Jargon: Illumination Models Illumination - the
More informationShading. Brian Curless CSE 457 Spring 2017
Shading Brian Curless CSE 457 Spring 2017 1 Reading Optional: Angel and Shreiner: chapter 5. Marschner and Shirley: chapter 10, chapter 17. Further reading: OpenGL red book, chapter 5. 2 Basic 3D graphics
More informationGame 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 informationChapter 7 - Light, Materials, Appearance
Chapter 7 - Light, Materials, Appearance Types of light in nature and in CG Shadows Using lights in CG Illumination models Textures and maps Procedural surface descriptions Literature: E. Angel/D. Shreiner,
More informationComputer Graphics. Illumination and Shading
Rendering Pipeline modelling of geometry transformation into world coordinates placement of cameras and light sources transformation into camera coordinates backface culling projection clipping w.r.t.
More informationAmbien Occlusion. Lighting: Ambient Light Sources. Lighting: Ambient Light Sources. Summary
Summary Ambien Occlusion Kadi Bouatouch IRISA Email: kadi@irisa.fr 1. Lighting 2. Definition 3. Computing the ambient occlusion 4. Ambient occlusion fields 5. Dynamic ambient occlusion 1 2 Lighting: Ambient
More informationEnhancing 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 informationECS 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 informationCPSC 314 LIGHTING AND SHADING
CPSC 314 LIGHTING AND SHADING UGRAD.CS.UBC.CA/~CS314 slide credits: Mikhail Bessmeltsev et al 1 THE RENDERING PIPELINE Vertices and attributes Vertex Shader Modelview transform Per-vertex attributes Vertex
More informationRendering Algorithms: Real-time indirect illumination. Spring 2010 Matthias Zwicker
Rendering Algorithms: Real-time indirect illumination Spring 2010 Matthias Zwicker Today Real-time indirect illumination Ray tracing vs. Rasterization Screen space techniques Visibility & shadows Instant
More informationRecollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows
Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface
More informationComplex Shading Algorithms
Complex Shading Algorithms CPSC 414 Overview So far Rendering Pipeline including recent developments Today Shading algorithms based on the Rendering Pipeline Arbitrary reflection models (BRDFs) Bump mapping
More informationComputer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping
Computer Graphics (CS 543) Lecture 10: Normal Maps, Parametrization, Tone Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Normal Mapping Store normals in texture
More informationEvolution 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 informationCSE 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 informationThe 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 informationLighting and Materials
http://graphics.ucsd.edu/~henrik/images/global.html Lighting and Materials Introduction The goal of any graphics rendering app is to simulate light Trying to convince the viewer they are seeing the real
More informationProperty 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 informationComputergrafik. Matthias Zwicker Universität Bern Herbst 2016
Computergrafik Matthias Zwicker Universität Bern Herbst 2016 2 Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures 3 Texture mapping Glue textures (images)
More informationMattan 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 informationReading. Shading. An abundance of photons. Introduction. Required: Angel , 6.5, Optional: Angel 6.4 OpenGL red book, chapter 5.
Reading Required: Angel 6.1-6.3, 6.5, 6.7-6.8 Optional: Shading Angel 6.4 OpenGL red book, chapter 5. 1 2 Introduction An abundance of photons So far, we ve talked exclusively about geometry. Properly
More informationShading and Illumination
Shading and Illumination OpenGL Shading Without Shading With Shading Physics Bidirectional Reflectance Distribution Function (BRDF) f r (ω i,ω ) = dl(ω ) L(ω i )cosθ i dω i = dl(ω ) L(ω i )( ω i n)dω
More informationCS 4620 Program 3: Pipeline
CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.
More informationThe Rasterizer Stage. Texturing, Lighting, Testing and Blending
1 The Rasterizer Stage Texturing, Lighting, Testing and Blending 2 Triangle Setup, Triangle Traversal and Back Face Culling From Primitives To Fragments Post Clipping 3 In the last stages of the geometry
More informationAfter 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 informationS U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T
S U N G - E U I YO O N, K A I S T R E N D E R I N G F R E E LY A VA I L A B L E O N T H E I N T E R N E T Copyright 2018 Sung-eui Yoon, KAIST freely available on the internet http://sglab.kaist.ac.kr/~sungeui/render
More informationCS452/552; EE465/505. Intro to Lighting
CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections
More informationVirtual Reality for Human Computer Interaction
Virtual Reality for Human Computer Interaction Appearance: Lighting Representation of Light and Color Do we need to represent all I! to represent a color C(I)? No we can approximate using a three-color
More informationAdaptive 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 informationLecture 15: Shading-I. CITS3003 Graphics & Animation
Lecture 15: Shading-I CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Learn that with appropriate shading so objects appear as threedimensional
More informationEnhancing 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 informationShading. Brian Curless CSE 557 Autumn 2017
Shading Brian Curless CSE 557 Autumn 2017 1 Reading Optional: Angel and Shreiner: chapter 5. Marschner and Shirley: chapter 10, chapter 17. Further reading: OpenGL red book, chapter 5. 2 Basic 3D graphics
More informationComputer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model
Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Why do we need Lighting
More informationCSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016
CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Thursday in class: midterm #1 Closed book Material
More informationCPSC / Illumination and Shading
CPSC 599.64 / 601.64 Rendering Pipeline usually in one step modelling of geometry transformation into world coordinate system placement of cameras and light sources transformation into camera coordinate
More informationGlobal Illumination CS334. Daniel G. Aliaga Department of Computer Science Purdue University
Global Illumination CS334 Daniel G. Aliaga Department of Computer Science Purdue University Recall: Lighting and Shading Light sources Point light Models an omnidirectional light source (e.g., a bulb)
More informationRender all data necessary into textures Process textures to calculate final image
Screenspace Effects Introduction General idea: Render all data necessary into textures Process textures to calculate final image Achievable Effects: Glow/Bloom Depth of field Distortions High dynamic range
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationProgramming 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 informationLocal vs. Global Illumination & Radiosity
Last Time? Local vs. Global Illumination & Radiosity Ray Casting & Ray-Object Intersection Recursive Ray Tracing Distributed Ray Tracing An early application of radiative heat transfer in stables. Reading
More informationC P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev
C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image
More informationTDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students)
TDA362/DIT223 Computer Graphics EXAM (Same exam for both CTH- and GU students) Saturday, January 13 th, 2018, 08:30-12:30 Examiner Ulf Assarsson, tel. 031-772 1775 Permitted Technical Aids None, except
More informationCS5620 Intro to Computer Graphics
So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading
More informationCSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture #7: Color and Shading Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #3 due this Friday,
More informationCHAPTER 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 informationShading / Light. Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham
Shading / Light Thanks to Srinivas Narasimhan, Langer-Zucker, Henrik Wann Jensen, Ravi Ramamoorthi, Hanrahan, Preetham Phong Illumination Model See Shirley, Ch 10 and http://en.wikipedia.org/wiki/phong_shading
More information9. Illumination and Shading
9. Illumination and Shading Approaches for visual realism: - Remove hidden surfaces - Shade visible surfaces and reproduce shadows - Reproduce surface properties Texture Degree of transparency Roughness,
More informationReading. Shading. Introduction. An abundance of photons. Required: Angel , Optional: OpenGL red book, chapter 5.
Reading Required: Angel 6.1-6.5, 6.7-6.8 Optional: Shading OpenGL red book, chapter 5. 1 2 Introduction So far, we ve talked exclusively about geometry. What is the shape of an obect? How do I place it
More informationLEVEL 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 informationComputer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1)
Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Why do we need Lighting & shading? Sphere
More informationCSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015
CSE 167: Introduction to Computer Graphics Lecture #7: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015 Announcements Thursday in-class: Midterm Can include material
More informationw Foley, Section16.1 Reading
Shading w Foley, Section16.1 Reading Introduction So far, we ve talked exclusively about geometry. w What is the shape of an object? w How do I place it in a virtual 3D space? w How do I know which pixels
More informationCS 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 informationToday. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik
Computergrafik Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures Matthias Zwicker Universität Bern Herbst 2009 Texture mapping Glue textures (images) onto
More informationComputer Graphics 1. Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2010
Computer Graphics 1 Chapter 7 (June 17th, 2010, 2-4pm): Shading and rendering 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons
More information3D 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 informationReal-Time Rendering of a Scene With Many Pedestrians
2015 http://excel.fit.vutbr.cz Real-Time Rendering of a Scene With Many Pedestrians Va clav Pfudl Abstract The aim of this text was to describe implementation of software that would be able to simulate
More informationLighting Killzone : Shadow Fall
Lighting Killzone : Shadow Fall Michal Drobot Senior Tech Programmer Guerrilla Games Intro Guerrilla Games is SCEE studio based in Amsterdam Working on two Playstation 4 titles: Killzone: Shadow Fall New
More informationComputergrafik. Matthias Zwicker. Herbst 2010
Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Bump mapping Shadows Shadow mapping Shadow mapping in OpenGL Bump mapping Surface detail is often the result of small perturbations in
More informationReal-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 informationProblem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007
Problem Set 4 Part 1 CMSC 427 Distributed: Thursday, November 1, 2007 Due: Tuesday, November 20, 2007 Programming For this assignment you will write a simple ray tracer. It will be written in C++ without
More informationRaytracing CS148 AS3. Due :59pm PDT
Raytracing CS148 AS3 Due 2010-07-25 11:59pm PDT We start our exploration of Rendering - the process of converting a high-level object-based description of scene into an image. We will do this by building
More informationCS354R: Computer Game Technology
CS354R: Computer Game Technology Real-Time Global Illumination Fall 2018 Global Illumination Mirror s Edge (2008) 2 What is Global Illumination? Scene recreates feel of physically-based lighting models
More informationIntroduction Rasterization Z-buffering Shading. Graphics 2012/2013, 4th quarter. Lecture 09: graphics pipeline (rasterization and shading)
Lecture 9 Graphics pipeline (rasterization and shading) Graphics pipeline - part 1 (recap) Perspective projection by matrix multiplication: x pixel y pixel z canonical 1 x = M vpm per M cam y z 1 This
More informationCh 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 informationLighting and Shading
Lighting and Shading Today: Local Illumination Solving the rendering equation is too expensive First do local illumination Then hack in reflections and shadows Local Shading: Notation light intensity in,
More informationIllumination. Illumination CMSC 435/634
Illumination CMSC 435/634 Illumination Interpolation Illumination Illumination Interpolation Illumination Illumination Effect of light on objects Mostly look just at intensity Apply to each color channel
More informationVisual Appearance and Color. Gianpaolo Palma
Visual Appearance and Color Gianpaolo Palma LIGHT MATERIAL Visual Appearance Color due to the interaction between the lighting environment (intensity, position, ) and the properties of the object surface
More informationCSE 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 informationTSBK03 Screen-Space Ambient Occlusion
TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm
More informationShaders (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 informationlecture 18 - ray tracing - environment mapping - refraction
lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the
More informationIllumination Models & Shading
Illumination Models & Shading Lighting vs. Shading Lighting Interaction between materials and light sources Physics Shading Determining the color of a pixel Computer Graphics ZBuffer(Scene) PutColor(x,y,Col(P));
More informationIntroduction to Shaders.
Introduction to Shaders Marco Benvegnù hiforce@gmx.it www.benve.org Summer 2005 Overview Rendering pipeline Shaders concepts Shading Languages Shading Tools Effects showcase Setup of a Shader in OpenGL
More informationGraphics The Rasterization Pipeline Projection, Visibility, & Shading
Graphics 2014 The Rasterization Pipeline Projection, Visibility, & Shading Practicals this week Tuesday (today) Announcements Tue 9-11 (was held) Tue 13-15 canceled (programming contest) Wednesday (tomorrow)
More informationVAO++: Practical Volumetric Ambient Occlusion for Games
VAO++: Practical Volumetric Ambient Occlusion for Games Jakub Bokšanský, Adam Pospíšil (Project Wilberforce) Jiří Bittner (CTU in Prague) EGSR 19.6.2017 Motivation Focus on performance (highly optimized
More informationCrack-Free Tessellation Displacement
Documentation Crack-Free Tessellation Displacement (CFTD) version: 1.6 package link: http://u3d.as/n5k support: assetstore -(at)- pandishpan.com Thank you for purchasing CFTD! 1 Table of Contents CFTD
More informationCS 5625 Lec 2: Shading Models
CS 5625 Lec 2: Shading Models Kavita Bala Spring 2013 Shading Models Chapter 7 Next few weeks Textures Graphics Pipeline Light Emission To compute images What are the light sources? Light Propagation Fog/Clear?
More informationRendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane
Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More informationLecture 17: Shading in OpenGL. CITS3003 Graphics & Animation
Lecture 17: Shading in OpenGL CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL shading methods - per vertex shading
More informationTopic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component
Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport
More informationShaders. 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