Cubemap Filtering with CubeMapGen. Thorsten Scheuermann John Isidoro 3D Application Research Group

Size: px
Start display at page:

Download "Cubemap Filtering with CubeMapGen. Thorsten Scheuermann John Isidoro 3D Application Research Group"

Transcription

1 Cubemap Filtering with CubeMapGen Thorsten Scheuermann John Isidoro 3D Application Research Group

2 Outline >CubeMapGen tool >Angular extent filtering >Edge fixup methods >Pre-filtered per-pixel glossy reflections >Examples 2

3 Cubemap Uses >Cube mapping has become ubiquitous >Good for any directional lookup table > Diffuse > Specular (a.k.a. environment map) > Glossy Specular >Dynamic cubemaps 3

4 Cubemap Filtering Issues > Cube map is defined over spherical domain > Standard mipmapping tools process each face independently > No filtering across faces > Fail to take the solid angle of cube map texels into account > Can introduce artifacts and discontinuities at face seams > Graphics hardware generally does not support Bi/Trilinear cubemap filtering across cube faces > Lots of game developers complained about the seam issues Example of seam artifacts on lower miplevels 4

5 CubeMapGen Tool > CubeMapGen is a tool for cubemap filtering and mip-chain generation > To be released as standalone tool, command-line tool, HDRShop plugin, library, source code > Available on 5

6 CubeMapGen Overview >CubeMapGen addresses the two main filtering issues that remain troublesome for cube map users > Missing bi/trilinear filtering across cube faces in HW > Mipmap generation for each cubemap face in isolation >CubeMapGen helps to addresses these issues with a couple of techniques > Angular extent filtering > Edge averaging/fixup >Pure software solution compatible with all hardware > This is just a cubemap preprocessing step 6

7 CubeMapGen Feature List (1) >Performs all filtering operations in HDR space (32-bit float) >Angular extent filtering allows for filtering across faces > Disc, Cone, Angular Gaussian, and Cosine filtering modes > All texels within angular extent are used when computing average > Optional weighting of texels by their solid angles >Edge and Corner averaging to obscure cube edge seams > Adjustable edge fixup band to help obscure effect of edge averaging 7

8 CubeMapGen Feature List (2) >Adjustable pre-filtering of base miplevel (0-180 degree kernel) > E.g. for blurred reflections >Imports and exports 8/16 bit uint and 16/32bit float pixel formats > Supports.hdr.pfm.bmp.jpg.png.dds.dib > Adjustable Degamma/Gamma and Output Intensity Scaling >Command Line Interface for use in scripting and as a preprocess tool 8

9 CubeMapGen Demo 9

10 Angular Extent Filtering Angular extent Angular extent θ Center tap vector θ Center tap vector > Angular extent filtering processes all taps within a given angle of the 3D center tap vector > Filter extent is not texel size dependant > Instead, filter extent has constant solid angle > e.g. Filter may (and should) encompass a different number of texels for different centertap vectors > Allows for filter kernels that span across cube face edges 10

11 Angular Filter Types Disc Filter Cone Filter Angular Gaussian Cosine Filter 11

12 Disc Filter > Equal weights for all taps within a specified angle of the center tap 12

13 Cone Filter > Linear falloff based on angle from center tap 13

14 Angular Gaussian Filter > Gaussian falloff based on angle from center tap > 3 standard deviations within specified extent angle 14

15 Cosine Filter > Falloff based on cosine of angle from center tap > Most useful to compute diffuse lighting cubemaps > Incorporates the hemisphere cosine term > Use a filter angle of

16 Implementation Details >Filtering performed on CPU >For each output texel: > Determine bounding box regions for angular extent in each face on input cubemap > Process all texels within each bounding box region > Test against threshold determined by extent angle > Weight using solid angle and weights of chosen filter function > Accumulate sum of weighted texels, and sum of weights >Every texel within angular extent is processed > Important for HDR imagery: Single very bright texels can significantly influence the filtered result 16

17 Edge Averaging and Fixup >Idea: make texels on each side of a cubemap edge match to hide artifacts due to hardware not filtering across edges >Apply fixup in region around edge > Fade out using linear or hermite (smoothstep) falloff >Two fixup modes: > Pull: Add weighted edge texel adjustment amount to texels in fixup band > Average: Lerp between original and average edge texel color based on distance from edge >Special support for DXTC compression > Accounts for neighboring block across faces 17

18 Edge Fixup Example (Pull) Intensity Value Cube Face Edge Cube Face Edge.50 Texel Intensity Values Fraction of averaging amount for 4 texel fixup.50 band.25 Fixup region Fixup region 18

19 2x2 Miplevel (Standard) > 2x2 mip-level without edge fixup and no filtering across faces > Strong edge artifacts. 2x2 miplevel is unusable by itself. 19

20 2x2 Miplevel (CubeMapGen) > CubeMapGen s edge fixup ability allows for the 2x2 mip level to be used as a diffuse environment lighting term 20

21 4x4 Miplevel (Standard) > Edge filtering artifacts make the 4x4 miplevel from standard mip filtering algorithms only useful for traditional mipmapping purposes 21

22 4x4 Miplevel (CubeMapGen) > CubeMapGen generates cubemaps with a 4x4 miplevel that can also be used for rough metal shaders 22

23 Other Miplevels (CubeMapGen) 4x4 8x8 16x16 32x32 23

24 Per-pixel Roughness > Different mip levels can be used for shiny surfaces with different surface roughness > Rougher surface more blurry reflection > Use MaxMipLevel texture sampler state to clamp miplevel, not texcubebias( ) > Per-pixel miplevel clamping: > Pack miplevel index into alpha channel of each cubemap mipmap > Use it to determine bias amount for texcubebias( ) and simulate miplevel clamping in shader > Or use texcubelod( ) on PS 3.0 > Example 24

25 Per-pixel Gloss Shader Example float fnummiplevels; // number of mip-levels in cubemap float fblurscale = 4.0; // scale factor for blurriness float4 main(float2 inuv : TEXCOORD0, float3 innormal : TEXCOORD1, float3 inview : TEXCOORD2) : COLOR0 { // Surface roughness stored in alpha of base map float4 cbase = tex2d(tbase, inuv); float froughness = cbase.a; float3 R = reflect (normalize(inview), normalize(innormal)); // Each cubemap stores miplevel index in alpha (scaled by 16/255). // Determine mip-lod levels from 0 to fnummiplevels (minification) float fmiplevelminification = (255.0/16.0) * texcube(tcube, R).a; // Determine mip-lod levels from -fnummiplevels to 0 (magnification) float fmiplevelmagnification = (255.0/16.0) * texcubebias(tcube, float4(r, fnummiplevels-1.0)).a; [ ] 25

26 Per-pixel Gloss Shader Example [ ] float fmiplevel = 0; //choose between magnification and minification range if(fmiplevelminification == 0) { // 0 is the largest (base) miplevel // the whole cubemap is being magnified, compute "logical" miplevel // (which is negative) fmiplevel = fmiplevelmagnification - (fnummiplevels - 1.0); } else { // the cubemap is being minified fmiplevel = fmiplevelminification; } // compute final mip bias to clamp miplevel float fmipbias = max(fglossscale * froughness - fmiplevel, 0.0); float4 crefl = texcubebias(tcube, float4(r, fmipbias)); } return cbase * crefl; 26

27 Acknowledgements >CubeMapGen was thought up and developed by John Isidoro > I m merely presenting his work here today >Lightprobe examples courtesy of Paul Debevec: 27

Filtering Cubemaps Angular Extent Filtering and Edge Seam Fixup Methods

Filtering Cubemaps Angular Extent Filtering and Edge Seam Fixup Methods Filtering Cubemaps Angular Extent Filtering and Edge Seam Fixup Methods John R. Isidoro 3D Application Research Group ATI Research Introduction Hardware cube mapping is ubiquitous. Straightforward hardware

More information

Summed-Area Tables. And Their Application to Dynamic Glossy Environment Reflections Thorsten Scheuermann 3D Application Research Group

Summed-Area Tables. And Their Application to Dynamic Glossy Environment Reflections Thorsten Scheuermann 3D Application Research Group Summed-Area Tables And Their Application to Dynamic Glossy Environment Reflections Thorsten Scheuermann 3D Application Research Group Overview >Presenting work started by Justin Hensley, Ph.D. student

More information

Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control

Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control Chapter 10 Computation Culling with Explicit Early-Z and Dynamic Flow Control Pedro V. Sander ATI Research John R. Isidoro ATI Research Jason L. Mitchell ATI Research Introduction In last year s course,

More information

CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE

CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE CS 450: COMPUTER GRAPHICS TEXTURE MAPPING SPRING 2015 DR. MICHAEL J. REALE INTRODUCTION Texturing = process that takes a surface and modifies its appearance at each location using some image, function,

More information

The Rasterizer Stage. Texturing, Lighting, Testing and Blending

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

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

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

More information

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

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

Fast HDR Image-Based Lighting Using Summed-Area Tables

Fast HDR Image-Based Lighting Using Summed-Area Tables Fast HDR Image-Based Lighting Using Summed-Area Tables Justin Hensley 1, Thorsten Scheuermann 2, Montek Singh 1 and Anselmo Lastra 1 1 University of North Carolina, Chapel Hill, NC, USA {hensley, montek,

More information

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

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

Interactive Summed-Area Table Generation for Glossy Environmental Reflections

Interactive Summed-Area Table Generation for Glossy Environmental Reflections Interactive Summed-Area Table Generation for Glossy Environmental Reflections Justin Hensley Thorsten Scheuermann Montek Singh Anselmo Lastra University of North Carolina at Chapel Hill ATI Research Overview

More information

Sampling, Aliasing, & Mipmaps

Sampling, Aliasing, & Mipmaps Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere Sampling sensitive to choice of samples less sensitive to choice of samples

More information

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

Dominic Filion, Senior Engineer Blizzard Entertainment. Rob McNaughton, Lead Technical Artist Blizzard Entertainment Dominic Filion, Senior Engineer Blizzard Entertainment Rob McNaughton, Lead Technical Artist Blizzard Entertainment Screen-space techniques Deferred rendering Screen-space ambient occlusion Depth of Field

More information

Per-Face Texture Mapping for Realtime Rendering. Realtime Ptex

Per-Face Texture Mapping for Realtime Rendering. Realtime Ptex Per-Face Texture Mapping for Realtime Rendering Realtime Ptex Quick Note For CUDA/Compute folks: Ptex!= PTX Goals Render native Ptex datasets in real-time on commodity hardware Remove texture seams from

More information

CS GPU and GPGPU Programming Lecture 12: GPU Texturing 1. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 12: GPU Texturing 1. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 12: GPU Texturing 1 Markus Hadwiger, KAUST Reading Assignment #6 (until Mar. 17) Read (required): Programming Massively Parallel Processors book, Chapter 4 (CUDA

More information

CS GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 16+17: GPU Texturing 1+2 Markus Hadwiger, KAUST Reading Assignment #10 (until April 23) Read (required): Brook for GPUs: Stream Computing on Graphics Hardware

More information

Lecture 6: Texture. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Lecture 6: Texture. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011) Lecture 6: Texture Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Today: texturing! Texture filtering - Texture access is not just a 2D array lookup ;-) Memory-system implications

More information

Soft shadows using hierarchical min-max shadow maps. Kirill Dmitriev Yury Uralsky NVIDIA

Soft shadows using hierarchical min-max shadow maps. Kirill Dmitriev Yury Uralsky NVIDIA Soft shadows using hierarchical min-max shadow maps Kirill Dmitriev Yury Uralsky NVIDIA Overview Traditional algorithms for soft shadows Min-max depth mipmap data structure Large kernel PCF with min-max

More information

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February

Soft shadows. Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows Steve Marschner Cornell University CS 569 Spring 2008, 21 February Soft shadows are what we normally see in the real world. If you are near a bare halogen bulb, a stage spotlight, or other

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

Color and Shading. Color. Shapiro and Stockman, Chapter 6. Color and Machine Vision. Color and Perception

Color and Shading. Color. Shapiro and Stockman, Chapter 6. Color and Machine Vision. Color and Perception Color and Shading Color Shapiro and Stockman, Chapter 6 Color is an important factor for for human perception for object and material identification, even time of day. Color perception depends upon both

More information

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

The Making of Seemore WebGL. Will Eastcott, CEO, PlayCanvas The Making of Seemore WebGL Will Eastcott, CEO, PlayCanvas 1 What is Seemore WebGL? A mobile-first, physically rendered game environment powered by HTML5 and WebGL 2 PlayCanvas: Powering Seemore WebGL

More information

Lecture 6: Texturing Part II: Texture Compression and GPU Latency Hiding Mechanisms. Visual Computing Systems CMU , Fall 2014

Lecture 6: Texturing Part II: Texture Compression and GPU Latency Hiding Mechanisms. Visual Computing Systems CMU , Fall 2014 Lecture 6: Texturing Part II: Texture Compression and GPU Latency Hiding Mechanisms Visual Computing Systems Review: mechanisms to reduce aliasing in the graphics pipeline When sampling visibility?! -

More information

Sampling, Aliasing, & Mipmaps

Sampling, Aliasing, & Mipmaps Sampling, Aliasing, & Mipmaps Last Time? Monte-Carlo Integration Importance Sampling Ray Tracing vs. Path Tracing source hemisphere What is a Pixel? Sampling & Reconstruction Filters in Computer Graphics

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

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

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. 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 information

x ~ Hemispheric Lighting

x ~ Hemispheric Lighting Irradiance and Incoming Radiance Imagine a sensor which is a small, flat plane centered at a point ~ x in space and oriented so that its normal points in the direction n. This sensor can compute the total

More information

CS GPU and GPGPU Programming Lecture 11: GPU Texturing 1. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 11: GPU Texturing 1. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 11: GPU Texturing 1 Markus Hadwiger, KAUST Reading Assignment #6 (until Mar. 9) Read (required): Programming Massively Parallel Processors book, Chapter 4 (CUDA

More information

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

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

More information

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

Illumination Models & Shading

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

Sampling, Aliasing, & Mipmaps

Sampling, Aliasing, & Mipmaps Last Time? Sampling, Aliasing, & Mipmaps 2D Texture Mapping Perspective Correct Interpolation Common Texture Coordinate Projections Bump Mapping Displacement Mapping Environment Mapping Texture Maps for

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

Real Time Skin Rendering

Real Time Skin Rendering Real Time Skin Rendering David Gosselin 3D Application Research Group ATI Research, Inc. Overview Background Texture space lighting Spatially varying blur Dilation Adding shadows Specular with shadows

More information

CMSC427 Shading Intro. Credit: slides from Dr. Zwicker

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

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Today. 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 information

Light Transport CS434. Daniel G. Aliaga Department of Computer Science Purdue University

Light Transport CS434. Daniel G. Aliaga Department of Computer Science Purdue University Light Transport CS434 Daniel G. Aliaga Department of Computer Science Purdue University Topics Local and Global Illumination Models Helmholtz Reciprocity Dual Photography/Light Transport (in Real-World)

More information

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing

Computer Graphics. Texture Filtering & Sampling Theory. Hendrik Lensch. Computer Graphics WS07/08 Texturing Computer Graphics Texture Filtering & Sampling Theory Hendrik Lensch Overview Last time Texture Parameterization Procedural Shading Today Texturing Filtering 2D Texture Mapping Forward mapping Object surface

More information

Fast Precomputed Ambient Occlusion for Proximity Shadows

Fast Precomputed Ambient Occlusion for Proximity Shadows jgt 2006/10/27 15:33 page 1 #1 Vol. [VOL], No. [ISS]: 1 13 Fast Precomputed Ambient Occlusion for Proximity Shadows Mattias Malmer and Fredrik Malmer Syndicate Ulf Assarsson Chalmers University of Technology

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

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

Lighting and Materials

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

Snow Shader R&D in UDK I3 DLC

Snow Shader R&D in UDK I3 DLC Snow Shader R&D in UDK I3 DLC Key Aspects: These are visual elements aside from correct physical values I used to create my snow Sparkles Detail Normal Noise Detail Specular noise Large Tiling Shapes Sparkles

More information

Optimal Shaders Using High-Level Languages

Optimal Shaders Using High-Level Languages Optimal Shaders Using High-Level Languages The Good, The Bad, The Ugly All high level languages provide significant power and flexibility that: Make writing shaders easy Make writing slow shaders easy

More information

#Short presentation of the guys

#Short presentation of the guys 1 #Short presentation of the guys Let me introduce myself, I am Sébastien Lagarde and, together with my co-worker Antoine Zanuttini, we are part of a team currently working on Remember me, the new Capcom

More information

Mali Demos: Behind the Pixels. Stacy Smith

Mali Demos: Behind the Pixels. Stacy Smith Mali Demos: Behind the Pixels Stacy Smith Mali Graphics: Behind the demos Mali Demo Team: Doug Day Stacy Smith (Me) Sylwester Bala Roberto Lopez Mendez PHOTOGRAPH UNAVAILABLE These days I spend more time

More information

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY

TSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY 1(61) Information Coding / Computer Graphics, ISY, LiTH TSBK 07 Computer Graphics Ingemar Ragnemalm, ISY 1(61) Lecture 6 Texture mapping Skyboxes Environment mapping Bump mapping 2(61)2(61) Texture mapping

More information

All the Polygons You Can Eat. Doug Rogers Developer Relations

All the Polygons You Can Eat. Doug Rogers Developer Relations All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point

More information

Lighting Killzone : Shadow Fall

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

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques Jonathan Zarge, Team Lead Performance Tools Richard Huddy, European Developer Relations Manager ATI

More information

Crack-Free Tessellation Displacement

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

CPSC 314 LIGHTING AND SHADING

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

#Short presentation of the guys

#Short presentation of the guys 1 #Short presentation of the guys Let me introduce myself, I am Sébastien Lagarde and, together with my co-worker Antoine Zanuttini, we are part of a team currently working on a PC/XBOX360/PS3 game. For

More information

CT5510: Computer Graphics. Texture Mapping

CT5510: Computer Graphics. Texture Mapping CT5510: Computer Graphics Texture Mapping BOCHANG MOON Texture Mapping Simulate spatially varying surface properties Phong illumination model is coupled with a material (e.g., color) Add small polygons

More information

Self-shadowing Bumpmap using 3D Texture Hardware

Self-shadowing Bumpmap using 3D Texture Hardware Self-shadowing Bumpmap using 3D Texture Hardware Tom Forsyth, Mucky Foot Productions Ltd. TomF@muckyfoot.com Abstract Self-shadowing bumpmaps add realism and depth to scenes and provide important visual

More information

Fast Precomputed Ambient Occlusion for Proximity Shadows

Fast Precomputed Ambient Occlusion for Proximity Shadows Fast Precomputed Ambient Occlusion for Proximity Shadows Mattias Malmer, Fredrik Malmer, Ulf Assarsson, Nicolas Holzschuch To cite this version: Mattias Malmer, Fredrik Malmer, Ulf Assarsson, Nicolas Holzschuch.

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. 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 information

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time

Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time Advanced Computer Graphics CS 563: Screen Space GI Techniques: Real Time William DiSanto Computer Science Dept. Worcester Polytechnic Institute (WPI) Overview Deferred Shading Ambient Occlusion Screen

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring

More information

Texture Mapping. Computer Graphics, 2015 Lecture 9. Johan Nysjö Centre for Image analysis Uppsala University

Texture Mapping. Computer Graphics, 2015 Lecture 9. Johan Nysjö Centre for Image analysis Uppsala University Texture Mapping Computer Graphics, 2015 Lecture 9 Johan Nysjö Centre for Image analysis Uppsala University What we have rendered so far: Looks OK, but how do we add more details (and colors)? Texture mapping

More information

CS5620 Intro to Computer Graphics

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

Working with the BCC Bump Map Generator

Working with the BCC Bump Map Generator Working with the BCC Bump Map Generator Bump mapping is used to create three dimensional detail on an image based on the luminance information in the image. The luminance value of each pixel of the image

More information

Today. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models

Today. 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 information

Illumination & Shading: Part 1

Illumination & 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 information

Projective Shadows. D. Sim Dietrich Jr.

Projective Shadows. D. Sim Dietrich Jr. Projective Shadows D. Sim Dietrich Jr. Topics Projective Shadow Types Implementation on DirectX 7 HW Implementation on DirectX8 HW Integrating Shadows into an engine Types of Projective Shadows Static

More information

CS 130 Final. Fall 2015

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

Adding Spherical Harmonic Lighting to the Sushi Engine. Chris Oat 3D Application Research Group. ATI Research, Inc.

Adding Spherical Harmonic Lighting to the Sushi Engine. Chris Oat 3D Application Research Group. ATI Research, Inc. Adding Spherical Harmonic Lighting to the Sushi Engine Chris Oat 3D Application Research Group ATI Research, Inc. Overview Introduction & Motivation Quick Review of PRT Case Study : ATI s demo engine Sushi

More information

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

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

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

AMCS / CS 247 Scientific Visualization Lecture 10: (GPU) Texture Mapping. Markus Hadwiger, KAUST

AMCS / CS 247 Scientific Visualization Lecture 10: (GPU) Texture Mapping. Markus Hadwiger, KAUST AMCS / CS 247 Scientific Visualization Lecture 10: (GPU) Texture Mapping Markus Hadwiger, KAUST Reading Assignment #5 (until Oct. 8) Read (required): Real-Time Volume Graphics, Chapter 2 (GPU Programming)

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

Texture mapping. Computer Graphics CSE 167 Lecture 9

Texture mapping. Computer Graphics CSE 167 Lecture 9 Texture mapping Computer Graphics CSE 167 Lecture 9 CSE 167: Computer Graphics Texture Mapping Overview Interpolation Wrapping Texture coordinates Anti aliasing Mipmaps Other mappings Including bump mapping

More information

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

CSE 167: Introduction to Computer Graphics Lecture #6: Colors. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture #6: Colors Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework project #3 due this Friday, October 18

More information

VAO++: Practical Volumetric Ambient Occlusion for Games

VAO++: 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 information

Outline. Foundations of Computer Graphics (Spring 2012)

Outline. Foundations of Computer Graphics (Spring 2012) Foundations of Computer Graphics (Spring 2012) CS 184, Lectures 19: Sampling and Reconstruction http://inst.eecs.berkeley.edu/~cs184 Basic ideas of sampling, reconstruction, aliasing Signal processing

More information

Shadow Techniques. Sim Dietrich NVIDIA Corporation

Shadow Techniques. Sim Dietrich NVIDIA Corporation Shadow Techniques Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Lighting & Shadows The shadowing solution you choose can greatly influence the engine decisions you make This talk will outline

More information

+ = To Do. Adding Visual Detail. Texture Mapping. Parameterization. Option: Varieties of projections. Foundations of Computer Graphics (Fall 2012)

+ = To Do. Adding Visual Detail. Texture Mapping. Parameterization. Option: Varieties of projections. Foundations of Computer Graphics (Fall 2012) Foundations of Computer Graphics (Fall 2012) CS 184, Lecture 23: Texture Mapping http://inst.eecs.berkeley.edu/~cs184 Submit HW5 milestone To Do Prepare for final push on HW 5, HW 6 Many slides from Greg

More information

Global Illumination The Game of Light Transport. Jian Huang

Global Illumination The Game of Light Transport. Jian Huang Global Illumination The Game of Light Transport Jian Huang Looking Back Ray-tracing and radiosity both computes global illumination Is there a more general methodology? It s a game of light transport.

More information

Advanced Computer Graphics CS 563: Making Imperfect Shadow Maps View Adaptive. Frederik Clinck lie

Advanced Computer Graphics CS 563: Making Imperfect Shadow Maps View Adaptive. Frederik Clinck lie Advanced Computer Graphics CS 563: Making Imperfect Shadow Maps View Adaptive Frederik Clinckemaillie Computer Science Dept. Worcester Polytechnic Institute (WPI) Background: Virtual Point Lights Simulates

More information

Shading & Material Appearance

Shading & Material Appearance Shading & Material Appearance ACM. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/help/faq-fair-use/. MIT EECS 6.837 Matusik

More information

CSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

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

Those Delicious Texels or Dynamic Image-Space Per-Pixel

Those Delicious Texels or Dynamic Image-Space Per-Pixel Those Delicious Texels or Dynamic Image-Space Per-Pixel Pixel Displacement Mapping with Silhouette Antialiasing via Parallax Occlusion Mapping Natalya Tatarchuk 3D Application Research Group ATI Research,

More information

Flowmap Generator River Tutorial

Flowmap Generator River Tutorial Flowmap Generator River Tutorial Table of Contents First steps... 3 Preview Material Setup... 3 Creating a Generator... 5 Assign to preview material... 9 Fields... 10 Simulating... 11 Using the baked flowmap

More information

General mental ray questions

General mental ray questions HDRI For Artists Siggraph 2008 mental ray HDRI FAQ By Håkan Zap Andersson, mental images version 4.1: April 25, 2008 General mental ray questions What is/are the primary reasons I should use mental ray

More information

Texture Mapping. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Texture Mapping. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Texture Mapping CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce Mapping Methods - Texture Mapping - Environment Mapping - Bump Mapping Consider

More information

SDK White Paper. Improve Batching Using Texture Atlases

SDK White Paper. Improve Batching Using Texture Atlases SDK White Paper Improve Batching Using Texture Atlases WP-01387-001-v01 July 2004 Motivation Batching, or rather the lack of batching is a common problem for game developers. A batch consists of a number

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

Image Processing Tricks in OpenGL. Simon Green NVIDIA Corporation

Image Processing Tricks in OpenGL. Simon Green NVIDIA Corporation Image Processing Tricks in OpenGL Simon Green NVIDIA Corporation Overview Image Processing in Games Histograms Recursive filters JPEG Discrete Cosine Transform Image Processing in Games Image processing

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

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

VGP352 Week 8. Agenda: Post-processing effects. Filter kernels Separable filters Depth of field HDR. 2-March-2010

VGP352 Week 8. Agenda: Post-processing effects. Filter kernels Separable filters Depth of field HDR. 2-March-2010 VGP352 Week 8 Agenda: Post-processing effects Filter kernels Separable filters Depth of field HDR Filter Kernels Can represent our filter operation as a sum of products over a region of pixels Each pixel

More information

Overview. Goals. MipMapping. P5 MipMap Texturing. What are MipMaps. MipMapping in OpenGL. Generating MipMaps Filtering.

Overview. Goals. MipMapping. P5 MipMap Texturing. What are MipMaps. MipMapping in OpenGL. Generating MipMaps Filtering. Overview What are MipMaps MipMapping in OpenGL P5 MipMap Texturing Generating MipMaps Filtering Alexandra Junghans junghana@student.ethz.ch Advanced Filters You can explain why it is a good idea to use

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

Today. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik

Today. 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 information

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager

Optimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager Optimizing for DirectX Graphics Richard Huddy European Developer Relations Manager Also on today from ATI... Start & End Time: 12:00pm 1:00pm Title: Precomputed Radiance Transfer and Spherical Harmonic

More information

CS452/552; EE465/505. Texture Mapping in WebGL

CS452/552; EE465/505. Texture Mapping in WebGL CS452/552; EE465/505 Texture Mapping in WebGL 2-26 15 Outline! Texture Mapping in WebGL Read: Angel, Chapter 7, 7.3-7.5 LearningWebGL lesson 5: http://learningwebgl.com/blog/?p=507 Lab3 due: Monday, 3/2

More information

Illumination Models and Surface-Rendering Methods. Chapter 10

Illumination Models and Surface-Rendering Methods. Chapter 10 Illumination Models and Surface-Rendering Methods Chapter 10 Illumination and Surface- Rendering Given scene specifications object positions, optical properties of the surface, viewer position, viewing

More information

Visualisatie BMT. Rendering. Arjan Kok

Visualisatie BMT. Rendering. Arjan Kok Visualisatie BMT Rendering Arjan Kok a.j.f.kok@tue.nl 1 Lecture overview Color Rendering Illumination 2 Visualization pipeline Raw Data Data Enrichment/Enhancement Derived Data Visualization Mapping Abstract

More information