High Dynamic Range and other Fun Shader Tricks. Simon Green

Size: px
Start display at page:

Download "High Dynamic Range and other Fun Shader Tricks. Simon Green"

Transcription

1 High Dynamic Range and other Fun Shader Tricks Simon Green

2 Demo Group Motto If you can t make it good, make it big. If you can t make it big, make it shiny.

3 Overview The OpenGL vertex program and texture shader extensions enable hardware acceleration of effects that were previously only possible in offline rendering 3 case studies: High Dynamic Range Images Real-time Caustics Procedural Terrain

4 Case Study 1: High Dynamic Range Summary: displaying HDR images in realtime Definition of dynamic range: The ratio of the maximum intensity in an image to the minimum detectable intensity Most imagery used in computer graphics today is stored in 8 bits per component Low Dynamic Range: 0 = black, 255 = white Light in the real world is not constrained in this way! Dynamic range between bright sunshine and shadow can easily be 10,000 to 1

5 Exposure time = s

6 Exposure time = s

7 Exposure time = s

8 Exposure time = s

9 What is High Dynamic Range? The human visual system adapts automatically to changes in brightness In photography, shutter speed and lens aperture are used to control the amount of light that reaches the film HDR imagery attempts to capture the full dynamic range of light in real world scenes Measures radiance = amount of energy per unit time per unit solid angle per unit area W / (sr.m 2) 8 bits is not enough!

10 Why Do We Need HDR? It effectively allows us to change the exposure after we've taken/rendered the picture Dynamic adaptation effects e.g. moving from a bright outdoor environment to indoors Allows physically plausible image-based lighting BRDFs may need high dynamic range Enables realistic optical effects glows around bright light sources, more accurate motion blurs

11 Creating HDR Images from Photographs "Recovering High Dynamic Range Radiance Maps from Photographs", Debevec, Malik, Siggraph 1997 Using several images of the same scene taken with different exposures: Calculates the non-linear response curve of camera Recovers the actual radiance at each pixel Environment maps can be captured by either: Photographing a mirrored sphere ( lightprobe ) Combining 2 or more 180 degree fisheye images

12 Displaying HDR Images To display an HDR image at a given exposure, we use the following equation: Z = f(et) where Z = pixel value E = irradiance value t = exposure time f = camera response curve

13 Displaying HDR Images using Graphics Hardware Previous work: Real-Time High Dynamic Range Imagery, Cohen, Tchou, Hawkins, Debevec, Eurographics 2001 Split HDR image into several 8-bit textures, display by recombining using multitexturing and register combiners on NVIDIA TNT2 and above Hard because combiners treat texture values as fixed-point numbers between 0 and 1. Largest number you can multiply by is 4 Requires different combiner setups for different exposure ranges, so exposure can only be changed on a per-primitive basis

14

15 Representing HDR Imagery in OpenGL GeForce3/4 support a 16-bit format known as HILO Stores 2 16-bit components: (HI, LO, 1) Filtered by hardware at 16-bit precision Signed version intended for storing high-precision normal maps We can also use this format to store high(er) dynamic range imagery Remap floating point HDR data to gamma encoded 16-bit fixed-point range [0, 65535] Unfortunately, only two components so we need two HILO textures to store RGB

16 Displaying HDR Images using the OpenGL Texture Shader Extension To display the image, we need to multiply the HDR radiance values by the exposure factor, and then re-map them to the displayable [0,255] range This can be achieved using the GL_DOT_PRODUCT_TEXTURE_2D operation of the OpenGL texture shader extension Exposure is sent as texture coordinates, the dot product performs the multiply for both channels We create a 2D texture that maps the result back to displayable values

17 Displaying HDR Images using OpenGL Texture Shaders NVParse code:!!ts1.0 texture_cube_map(); dot_product_2d_1of2(tex0); dot_product_2d_2of2(tex0); Pseudo code: 0: hilo = texture_cube_map(hdr_texture, s0, t0, r0) 1: dot1 = s1*hi + t1*lo + r1*1.0; // = r_exposure*r r_bias 2: dot2 = s2*hi + t2*lo + r2*1.0; // = 0 + g_exposure*g + g_bias color = texture_2d(lut_texture, dot1, dot2)

18 Displaying HDR Images using OpenGL Texture Shaders Requires 2 passes to render RGB, using glcolormask to mask off color channels First pass renders R and G: texcoord1 = (r_exposure, 0.0, r_bias) texcoord2 = (0.0, g_exposure, g_bias) Second pass renders B: texcoord1 = (0, 0, 0) texcoord2 = (b_exposure, 0.0, b_bias)

19 Exposure = 0.25

20 Exposure =

21 Exposure =

22 HDR Effects HDR Fresnel Glow Automatic exposure Vignette

23 HDR Fresnel Surfaces more tangent to the viewer reflect more Reflectivity can vary by a factor of 20 or more HDR environment map produces more accurate results Calculate per-vertex in vertex program Approximate Fresnel function as (1-V.N)^p Send down exposure as texture coordinate

24

25 Image-Space Glow Also known as: Glare Specular bloom Flare Blur image of bright parts of scene Can use hardware mipmap generation and LOD bias to calculate box filtering Ideally should do convolution with HDR values Real Gaussian blur would be smoother Blend back on top of original image Glow reaches around object

26 Original image

27 Blurred version

28 Glow = original + blurred

29 Image Based Lighting Lighting synthetic objects with real light An environment map represents all light arriving at a point for each incoming direction By convolving (blurring) an environment map with the diffuse reflection function (N.L) we can create a diffuse reflection map Indexed by surface normal N, this gives the sum of N.L for all light sources in the hemisphere Very slow to create Low freq - cube map can be small - e.g. 32x32x6 HDRShop will do this for you

30

31

32

33

34 References "Recovering High Dynamic Range Radiance Maps from Photographs", Debevec, Malik, Siggraph 1997 "Real-time High Dynamic Range Texture Mapping", Cohen, Tchou, Hawkins, Debevec, Eurographics Rendering Workshop 2001 Illumination and Reflection Maps: Simulated Objects in Simulated and Real Environments, Gene S. Miller and C. Robert Hoffman, Siggraph 1984 Course Notes for Advanced Computer Graphics Animation "Real Pixels", Greg Ward, Graphics Gems II P

35 Case Study 2: Real-time Caustics Summary: simulating refractive caustics in realtime using OpenGL and vertex programs Inspired by Jos Stam s work at A/W What are caustics? Light patterns seen on bottom of swimming pools Caused by focusing of reflected or refracted light Traditionally calculated offline using photon mapping etc. Usually approximated in realtime using precalculated textures

36 Step 1: Generate Water Surface Drawn as triangle mesh Displaced using 4 octaves of procedural noise Each octave translates at speed proportional to frequency Calculated on CPU

37 Step 2: Refract Light Ray Using a vertex program: Calculate light ray from local light source to surface vertex Calculate refraction of ray about vertex normal Determine intersection between refracted ray and floor plane Y = Yo + Yd * t = 0 t = -Yo / Yd Set vertex position to intersection This gives refracted mesh on bottom of pool

38

39 Step 3: Simulate Light Focusing Use additive blending But we want intensity to be inversely proportional to area of triangle. Assuming the same of amount of light hits each triangle on the surface, smaller triangles = more focused, therefore brighter. We could send all three triangle vertices to calculate area, but that would be slow. Trick: use texture LOD as measure of projected area.

40 Step 3: Simulate Light Focusing (cont.) Create a texture with just two mipmap levels: 2x2: all black 1x1: all white Apply texture to refracted mesh, set texture coordinates so that pixels map roughly to texels. With tri-linear filtering, this will produce shades of gray depending on amount texture is minified. Unfortunately this is view dependent. Solution - render caustics from above using orthographic projection. Copy to texture.

41

42

43

44 Step 4: Final Surface Refraction Calculate refraction of view vector about surface normal. Intersect refracted ray with floor Calculate texture coordinates for caustic texture Also calculate reflected ray, used to index into environment cubemap. Attenutate reflection using Fresnel approximation. Result: convincing refractive caustics in real-time. Can also do refraction three times with different indices of refraction to simulate refractive dispersion (aka chromatic aberration )

45

46

47 References Jos Stam s Periodic Caustic Textures : arch/periodiccaustics/index.html

48 Case Study 3: Procedural Terrain Summary: generate procedural terrain using vertex programs, register combiners and 3D textures Advantages of Procedural Modeling Small storage requirements Non-repeating Parameterized Disadvantages of Procedural Modeling Computation time Harder to control Not really practical on current hardware

49 Step 1: Noise in Vertex Program Displace triangle mesh using procedural noise Geometry doesn t move, just the displacement Similar to Perlin noise Uses permutation table stored in constant memory Generates a repeatable random value using recursive lookup into table based on vertex position Interpolates between 4 neighbors to produce smooth result Requires 42 vertex program instructions!

50 Step 2. Ridged Multi-fractal Function Ken Musgrave s trick to make noise look more like terrain Ridges: Take absolute value of signed noise Subtract from 1 Square result to produce sharper ridges Multi-fractal Scale each octave by previous result Valleys are smooth, peaks are rough We only have room for 2 octaves

51 Ridged Multi-fractal Function

52 Step 3: Lighting Hard to calculate normals in vertex program Calculate in image-space using register combiners instead Render terrain height field from above, color = height Copy to texture Bind to three texture units with offset texture coordinates Calculate approximate normal in register combiners: ( h(x,y)-h(x+1,y), h(x,y)-h(x,y+1), 1) Calculate diffuse lighting as N.L

53 Step 4. Texturing Use a 3D texture Different terrain type for each 2D slice R texture coordinate determines terrain type, computed in vertex program based on height Unfortunately 3D textures are mip-mapped in 3D! From a distance, all layers blend to a single image Can duplicate slices to help avoid blending Add reflective lakes: render scene upside down to texture displace in image space using GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV

54 Terrain Textures

55

56 The Future Hardware is getting Faster More programmable Higher precision Today s off-line rendering effects will be real-time tomorrow Start thinking about it now!

57 Questions?

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS

CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut

More information

INTRODUCTION TO RENDERING TECHNIQUES

INTRODUCTION TO RENDERING TECHNIQUES INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature

More information

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

More information

Path Tracing. Michael Doggett Department of Computer Science Lund university. 2012 Michael Doggett

Path Tracing. Michael Doggett Department of Computer Science Lund university. 2012 Michael Doggett Path Tracing Michael Doggett Department of Computer Science Lund university 2012 Michael Doggett Outline Light transport notation Radiometry - Measuring light Illumination Rendering Equation Monte Carlo

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

More information

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology

An introduction to Global Illumination. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology An introduction to Global Illumination Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Isn t ray tracing enough? Effects to note in Global Illumination image:

More information

Thea Omni Light. Thea Spot Light. Light setup & Optimization

Thea Omni Light. Thea Spot Light. Light setup & Optimization Light setup In this tutorial we will learn how to setup lights inside Thea Studio and how to create mesh lights and optimize them for faster rendering with less noise. Let us have a look at the different

More information

Getting Started with iray in 3ds Max 2014

Getting Started with iray in 3ds Max 2014 Getting Started with iray in 3ds Max 2014 Iray is an intuitive, interactive, physically based, progressive, path tracing 3D renderer Iray balances ease of use and interactivity with high quality photorealistic

More information

Specular reflection. Dielectrics and Distribution in Ray Tracing. Snell s Law. Ray tracing dielectrics

Specular reflection. Dielectrics and Distribution in Ray Tracing. Snell s Law. Ray tracing dielectrics Specular reflection Dielectrics and Distribution in Ray Tracing CS 465 Lecture 22 Smooth surfaces of pure materials have ideal specular reflection (said this before) Metals (conductors) and dielectrics

More information

GPU Shading and Rendering: Introduction & Graphics Hardware

GPU Shading and Rendering: Introduction & Graphics Hardware GPU Shading and Rendering: Introduction & Graphics Hardware Marc Olano Computer Science and Electrical Engineering University of Maryland, Baltimore County SIGGRAPH 2005 Schedule Shading Technolgy 8:30

More information

REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS

REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS REAL-TIME IMAGE BASED LIGHTING FOR OUTDOOR AUGMENTED REALITY UNDER DYNAMICALLY CHANGING ILLUMINATION CONDITIONS Tommy Jensen, Mikkel S. Andersen, Claus B. Madsen Laboratory for Computer Vision and Media

More information

Optimizing AAA Games for Mobile Platforms

Optimizing AAA Games for Mobile Platforms Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo

More information

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005 Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex

More information

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques

More information

Illuminating With HDRI

Illuminating With HDRI Illuminating With HDRI H DRI (High Dynamic Range Image) rendering is a method of illuminating a CG scene with a special type of bitmapped image that allows a far greater dynamic range of exposures (i.e.

More information

OpenGL Performance Tuning

OpenGL Performance Tuning OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer

More information

A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

More information

Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf. Flow Visualization. Image-Based Methods (integration-based)

Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf. Flow Visualization. Image-Based Methods (integration-based) Visualization and Feature Extraction, FLOW Spring School 2016 Prof. Dr. Tino Weinkauf Flow Visualization Image-Based Methods (integration-based) Spot Noise (Jarke van Wijk, Siggraph 1991) Flow Visualization:

More information

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering 3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive

More information

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam cjam@sdsc.edu Mike Bailey mjb@sdsc.edu San Diego Supercomputer Center University of California San Diego Abstract With

More information

Dhiren Bhatia Carnegie Mellon University

Dhiren Bhatia Carnegie Mellon University Dhiren Bhatia Carnegie Mellon University University Course Evaluations available online Please Fill! December 4 : In-class final exam Held during class time All students expected to give final this date

More information

The Future Of Animation Is Games

The Future Of Animation Is Games The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director cwang@1-apple.com.tw The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores

More information

Flame On: Real-Time Fire Simulation for Video Games. Simon Green, NVIDIA Christopher Horvath, Pixar

Flame On: Real-Time Fire Simulation for Video Games. Simon Green, NVIDIA Christopher Horvath, Pixar Flame On: Real-Time Fire Simulation for Video Games Simon Green, NVIDIA Christopher Horvath, Pixar Introduction This talk is about achieving realistic looking simulations for games / visual effects Not

More information

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation SkillsUSA Contest Projects 3-D Visualization and Animation Click the Print this Section button above to automatically print the specifications for this contest. Make sure your printer is turned on before

More information

Making natural looking Volumetric Clouds In Blender 2.48a

Making natural looking Volumetric Clouds In Blender 2.48a I think that everyone using Blender has made some trials about making volumetric clouds. The truth is that a kind of volumetric clouds is already available in Blender for a long time, thanks to the 3D

More information

Advanced Computer Graphics. Rendering Equation. Matthias Teschner. Computer Science Department University of Freiburg

Advanced Computer Graphics. Rendering Equation. Matthias Teschner. Computer Science Department University of Freiburg Advanced Computer Graphics Rendering Equation Matthias Teschner Computer Science Department University of Freiburg Outline rendering equation Monte Carlo integration sampling of random variables University

More information

CSE168 Computer Graphics II, Rendering. Spring 2006 Matthias Zwicker

CSE168 Computer Graphics II, Rendering. Spring 2006 Matthias Zwicker CSE168 Computer Graphics II, Rendering Spring 2006 Matthias Zwicker Last time Global illumination Light transport notation Path tracing Sampling patterns Reflection vs. rendering equation Reflection equation

More information

Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura

Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping. Lecture 15 Taku Komura Computer Graphics Global Illumination (2): Monte-Carlo Ray Tracing and Photon Mapping Lecture 15 Taku Komura In the previous lectures We did ray tracing and radiosity Ray tracing is good to render specular

More information

Advances in Real-Time Skin Rendering

Advances in Real-Time Skin Rendering Advances in Real-Time Skin Rendering Natalya Tatarchuk ATI Research Overview Subsurface scattering simulation Texture Space Lighting Irradiance Gradients Precomputed Radiance Transfer Additional tricks

More information

Maya 2014 Still Life Part 1 Texturing & Lighting

Maya 2014 Still Life Part 1 Texturing & Lighting Maya 2014 Still Life Part 1 Texturing & Lighting Realistic lighting and texturing is the key to photorealism in your 3D renders. Objects and scenes with relatively simple geometry can look amazing with

More information

Water Flow in. Alex Vlachos, Valve July 28, 2010

Water Flow in. Alex Vlachos, Valve July 28, 2010 Water Flow in Alex Vlachos, Valve July 28, 2010 Outline Goals & Technical Constraints How Artists Create Flow Maps Flowing Normal Maps in Left 4 Dead 2 Flowing Color Maps in Portal 2 Left 4 Dead 2 Goals

More information

Deferred Shading & Screen Space Effects

Deferred Shading & Screen Space Effects Deferred Shading & Screen Space Effects State of the Art Rendering Techniques used in the 3D Games Industry Sebastian Lehmann 11. Februar 2014 FREESTYLE PROJECT GRAPHICS PROGRAMMING LAB CHAIR OF COMPUTER

More information

PRODUCT LIFECYCLE MANAGEMENT COMPETENCY CENTRE RENDERING. PLMCC, JSS Academy of Technical Education, Noida Rendering 1 of 16

PRODUCT LIFECYCLE MANAGEMENT COMPETENCY CENTRE RENDERING. PLMCC, JSS Academy of Technical Education, Noida Rendering 1 of 16 PRODUCT LIFECYCLE MANAGEMENT COMPETENCY CENTRE RENDERING PLMCC, JSS Academy of Technical Education, Noida Rendering 1 of 16 Table of contents Under construction PLMCC, JSS Academy of Technical Education,

More information

Workstation Applications for Windows. NVIDIA MAXtreme User s Guide

Workstation Applications for Windows. NVIDIA MAXtreme User s Guide Workstation Applications for Windows NVIDIA MAXtreme User s Guide Software Version: 6.00.xx NVIDIA Corporation February 2004 NVIDIA MAXtreme Published by NVIDIA Corporation 2701 San Tomas Expressway Santa

More information

Volume Rendering on Mobile Devices. Mika Pesonen

Volume Rendering on Mobile Devices. Mika Pesonen Volume Rendering on Mobile Devices Mika Pesonen University of Tampere School of Information Sciences Computer Science M.Sc. Thesis Supervisor: Martti Juhola June 2015 i University of Tampere School of

More information

CAUSTICS are complex patterns of shimmering

CAUSTICS are complex patterns of shimmering SCHOOL OF ENGINEERING AND COMPUTER SCIENCE, UNIVERSITY OF CENTRAL FLORIDA, CS TR 50-07 1 Caustics Mapping: An Image-space Technique for Real-time Caustics Musawir Shah, Sumanta Pattanaik Abstract In this

More information

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps

Introduction Computer stuff Pixels Line Drawing. Video Game World 2D 3D Puzzle Characters Camera Time steps Introduction Computer stuff Pixels Line Drawing Video Game World 2D 3D Puzzle Characters Camera Time steps Geometry Polygons Linear Algebra NURBS, Subdivision surfaces, etc Movement Collisions Fast Distances

More information

Computer-Generated Photorealistic Hair

Computer-Generated Photorealistic Hair Computer-Generated Photorealistic Hair Alice J. Lin Department of Computer Science, University of Kentucky, Lexington, KY 40506, USA ajlin0@cs.uky.edu Abstract This paper presents an efficient method for

More information

Lesson 26: Reflection & Mirror Diagrams

Lesson 26: Reflection & Mirror Diagrams Lesson 26: Reflection & Mirror Diagrams The Law of Reflection There is nothing really mysterious about reflection, but some people try to make it more difficult than it really is. All EMR will reflect

More information

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,

More information

1. Definition of the project. 2. Initial version (simplified texture) 3. Second version (full textures) 5. Modelling and inserting 3D objects

1. Definition of the project. 2. Initial version (simplified texture) 3. Second version (full textures) 5. Modelling and inserting 3D objects Index 1. Definition of the project 2. Initial version (simplified texture) 3. Second version (full textures) 4. Final version in C++ 5. Modelling and inserting 3D objects 6. Interface design 7. Additional

More information

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course

IT 386: 3D Modeling and Animation. Review Sheet. Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course IT 386: 3D Modeling and Animation Review Sheet Sources: Notes from Professor Nersesian s IT 386: 3D Modeling and Animation course Notes from CannedMushrooms on YouTube Notes from Digital Tutors tutorial

More information

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch. CSCI 480 Computer Graphics Lecture 1 Course Overview January 14, 2013 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s13/ Administrative Issues Modeling Animation

More information

Software Virtual Textures

Software Virtual Textures Software Virtual Textures J.M.P. van Waveren February 25th, 2012 2012, Id Software LLC, a Zenimax Media company. Abstract Modern simulations increasingly require the display of very large, uniquely textured

More information

A Proposal for OpenEXR Color Management

A Proposal for OpenEXR Color Management A Proposal for OpenEXR Color Management Florian Kainz, Industrial Light & Magic Revision 5, 08/05/2004 Abstract We propose a practical color management scheme for the OpenEXR image file format as used

More information

Lezione 4: Grafica 3D*(II)

Lezione 4: Grafica 3D*(II) Lezione 4: Grafica 3D*(II) Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) RENDERING Rendering What is rendering? Rendering

More information

My Materials. In this tutorial, we ll examine the material settings for some simple common materials used in modeling.

My Materials. In this tutorial, we ll examine the material settings for some simple common materials used in modeling. Course: 3D Design Title: My Materials Blender: Version 2.6X Level: Beginning Author; Neal Hirsig (nhirsig@tufts.edu) (May 2012) My Materials In this tutorial, we ll examine the material settings for some

More information

The Lighting Effects Filter

The Lighting Effects Filter Appendix appendix E The Lighting Effects Filter The Lighting Effects filter is like a little program in itself. With this filter, you can create a wealth of different lighting effects, from making a particular

More information

CS 431/636 Advanced Rendering Techniques"

CS 431/636 Advanced Rendering Techniques CS 431/636 Advanced Rendering Techniques" Dr. David Breen" Korman 105D" Wednesday 6PM 8:50PM" Photon Mapping" 5/2/12" Slide Credits - UC San Diego Goal Efficiently create global illumination images with

More information

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com

Modern Graphics Engine Design. Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Modern Graphics Engine Design Sim Dietrich NVIDIA Corporation sim.dietrich@nvidia.com Overview Modern Engine Features Modern Engine Challenges Scene Management Culling & Batching Geometry Management Collision

More information

How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac)

How To Make A Texture Map Work Better On A Computer Graphics Card (Or Mac) Improved Alpha-Tested Magnification for Vector Textures and Special Effects Chris Green Valve (a) 64x64 texture, alpha-blended (b) 64x64 texture, alpha tested (c) 64x64 texture using our technique Figure

More information

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex

More information

Rendering Area Sources D.A. Forsyth

Rendering Area Sources D.A. Forsyth Rendering Area Sources D.A. Forsyth Point source model is unphysical Because imagine source surrounded by big sphere, radius R small sphere, radius r each point on each sphere gets exactly the same brightness!

More information

Fire Simulation For Games

Fire Simulation For Games Fire Simulation For Games Dennis Foley Abstract Simulating fire and smoke as well as other fluid like structures have been done in many different ways. Some implementations use very accurate physics some

More information

Lecture 16: A Camera s Image Processing Pipeline Part 1. Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011)

Lecture 16: A Camera s Image Processing Pipeline Part 1. Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Lecture 16: A Camera s Image Processing Pipeline Part 1 Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Today (actually all week) Operations that take photons to an image Processing

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and

More information

Reflectance Measurements of Materials Used in the Solar Industry. Selecting the Appropriate Accessories for UV/Vis/NIR Measurements.

Reflectance Measurements of Materials Used in the Solar Industry. Selecting the Appropriate Accessories for UV/Vis/NIR Measurements. T e c h n i c a l N o t e Reflectance Measurements of Materials Used in the Solar Industry UV/Vis/NIR Author: Dr. Jeffrey L. Taylor PerkinElmer, Inc. 710 Bridgeport Avenue Shelton, CT 06484 USA Selecting

More information

Procedural Shaders: A Feature Animation Perspective

Procedural Shaders: A Feature Animation Perspective Procedural Shaders: A Feature Animation Perspective Hector Yee, Rendering Specialist, PDI/DreamWorks David Hart, Senior FX Developer, PDI/DreamWorks Arcot J. Preetham, Senior Engineer, ATI Research Motivation

More information

AUDIO. 1. An audio signal is an representation of a sound. a. Acoustical b. Environmental c. Aesthetic d. Electrical

AUDIO. 1. An audio signal is an representation of a sound. a. Acoustical b. Environmental c. Aesthetic d. Electrical Essentials of the AV Industry Pretest Not sure if you need to take Essentials? Do you think you know the basics of Audio Visual? Take this quick assessment test on Audio, Visual, and Systems to find out!

More information

PATH TRACING: A NON-BIASED SOLUTION TO THE RENDERING EQUATION

PATH TRACING: A NON-BIASED SOLUTION TO THE RENDERING EQUATION PATH TRACING: A NON-BIASED SOLUTION TO THE RENDERING EQUATION ROBERT CARR AND BYRON HULCHER Abstract. In this paper we detail the implementation of a path tracing renderer, providing a non-biased solution

More information

Interactive Level-Set Deformation On the GPU

Interactive Level-Set Deformation On the GPU Interactive Level-Set Deformation On the GPU Institute for Data Analysis and Visualization University of California, Davis Problem Statement Goal Interactive system for deformable surface manipulation

More information

Digital Image Requirements for New Online US Visa Application

Digital Image Requirements for New Online US Visa Application Digital Image Requirements for New Online US Visa Application As part of the electronic submission of your DS-160 application, you will be asked to provide an electronic copy of your photo. The photo must

More information

1051-232 Imaging Systems Laboratory II. Laboratory 4: Basic Lens Design in OSLO April 2 & 4, 2002

1051-232 Imaging Systems Laboratory II. Laboratory 4: Basic Lens Design in OSLO April 2 & 4, 2002 05-232 Imaging Systems Laboratory II Laboratory 4: Basic Lens Design in OSLO April 2 & 4, 2002 Abstract: For designing the optics of an imaging system, one of the main types of tools used today is optical

More information

Monte Carlo Path Tracing

Monte Carlo Path Tracing HELSINKI UNIVERSITY OF TECHNOLOGY 16.4.2002 Telecommunications Software and Multimedia Laboratory Tik-111.500 Seminar on Computer Graphics Spring 2002: Advanced Rendering Techniques Monte Carlo Path Tracing

More information

Float a Beachball in Psuanmi

Float a Beachball in Psuanmi Float a Beachball in Psuanmi How to composite objects into Psunamiʼs water surface [ from: Digital Anarchy ] f/x tools for revolutionaries Float a beachball in Psunamiʼs waves In this tutorial, we will

More information

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software GPU Computing Numerical Simulation - from Models to Software Andreas Barthels JASS 2009, Course 2, St. Petersburg, Russia Prof. Dr. Sergey Y. Slavyanov St. Petersburg State University Prof. Dr. Thomas

More information

OpenEXR Image Viewing Software

OpenEXR Image Viewing Software OpenEXR Image Viewing Software Florian Kainz, Industrial Light & Magic updated 07/26/2007 This document describes two OpenEXR image viewing software programs, exrdisplay and playexr. It briefly explains

More information

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007 Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

More information

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI) Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include

More information

Learning about light and optics in on-line general education classes using at-home experimentation.

Learning about light and optics in on-line general education classes using at-home experimentation. Learning about light and optics in on-line general education classes using at-home experimentation. Jacob Millspaw, Gang Wang, and Mark F. Masters Department of Physics, Indiana University Purdue University

More information

Digital Imaging and Multimedia. Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University

Digital Imaging and Multimedia. Filters. Ahmed Elgammal Dept. of Computer Science Rutgers University Digital Imaging and Multimedia Filters Ahmed Elgammal Dept. of Computer Science Rutgers University Outlines What are Filters Linear Filters Convolution operation Properties of Linear Filters Application

More information

Monte Carlo Path Tracing

Monte Carlo Path Tracing CS294-13: Advanced Computer Graphics Lecture #5 University of California, Berkeley Wednesday, 23 September 29 Monte Carlo Path Tracing Lecture #5: Wednesday, 16 September 29 Lecturer: Ravi Ramamoorthi

More information

Dynamic Resolution Rendering

Dynamic Resolution Rendering Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying

More information

GPU Christmas Tree Rendering. Evan Hart ehart@nvidia.com

GPU Christmas Tree Rendering. Evan Hart ehart@nvidia.com GPU Christmas Tree Rendering Evan Hart ehart@nvidia.com February 2007 Document Change History Version Date Responsible Reason for Change 0.9 2/20/2007 Ehart Betarelease February 2007 ii Beta Release This

More information

Geometric Optics Converging Lenses and Mirrors Physics Lab IV

Geometric Optics Converging Lenses and Mirrors Physics Lab IV Objective Geometric Optics Converging Lenses and Mirrors Physics Lab IV In this set of lab exercises, the basic properties geometric optics concerning converging lenses and mirrors will be explored. The

More information

So, you want to make a photo-realistic rendering of the Earth from orbit, eh? And you want it to look just like what astronauts see from the shuttle

So, you want to make a photo-realistic rendering of the Earth from orbit, eh? And you want it to look just like what astronauts see from the shuttle So, you want to make a photo-realistic rendering of the Earth from orbit, eh? And you want it to look just like what astronauts see from the shuttle or ISS (International Space Station). No problem. Just

More information

GPU Architecture. Michael Doggett ATI

GPU Architecture. Michael Doggett ATI GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super

More information

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1 Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website

More information

How many PIXELS do you need? by ron gibbs

How many PIXELS do you need? by ron gibbs How many PIXELS do you need? by ron gibbs We continue to move forward into the age of digital photography. The basic building block of digital images is the PIXEL which is the shorthand for picture element.

More information

Understanding Line Scan Camera Applications

Understanding Line Scan Camera Applications Understanding Line Scan Camera Applications Discover the benefits of line scan cameras, including perfect, high resolution images, and the ability to image large objects. A line scan camera has a single

More information

Using Image J to Measure the Brightness of Stars (Written by Do H. Kim)

Using Image J to Measure the Brightness of Stars (Written by Do H. Kim) Using Image J to Measure the Brightness of Stars (Written by Do H. Kim) What is Image J? Image J is Java-based image processing program developed at the National Institutes of Health. Image J runs on everywhere,

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

More information

Choosing a digital camera for your microscope John C. Russ, Materials Science and Engineering Dept., North Carolina State Univ.

Choosing a digital camera for your microscope John C. Russ, Materials Science and Engineering Dept., North Carolina State Univ. Choosing a digital camera for your microscope John C. Russ, Materials Science and Engineering Dept., North Carolina State Univ., Raleigh, NC One vital step is to choose a transfer lens matched to your

More information

Lighting & Rendering in Maya: Lights and Shadows

Lighting & Rendering in Maya: Lights and Shadows Lighting & Rendering in Maya: Lights and Shadows with Jeremy Birn 3dRender.com 1. Introduction: Light and Color 12:09 Keywords: Maya Spot Lights, hardware preview of lights, High Quality Rendering, real-time

More information

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke

More information

Interactive Local Tone Mapping Operator with the Support of Graphics Hardware

Interactive Local Tone Mapping Operator with the Support of Graphics Hardware Interactive Local Tone Mapping Operator with the Support of Graphics Hardware B. Roch Institute of Computer Graphics and Algorithms, Vienna University of Technology (Austria) A. Artusi Department of Computer

More information

Cloud function tutorial

Cloud function tutorial Cloud function tutorial By Martin Huisman Table of Contents Cloud function tutorial...1 Introduction...2 Part 1: Understanding the cloud shader node...3 The relation between cloud altitude and depth...3

More information

What is a DSLR and what is a compact camera? And newer versions of DSLR are now mirrorless

What is a DSLR and what is a compact camera? And newer versions of DSLR are now mirrorless 1 2 What is a DSLR and what is a compact camera? And newer versions of DSLR are now mirrorless 3 The Parts Your camera is made up of many parts, but there are a few in particular that we want to look at

More information

Hardware design for ray tracing

Hardware design for ray tracing Hardware design for ray tracing Jae-sung Yoon Introduction Realtime ray tracing performance has recently been achieved even on single CPU. [Wald et al. 2001, 2002, 2004] However, higher resolutions, complex

More information

PHOTON mapping is a practical approach for computing global illumination within complex

PHOTON mapping is a practical approach for computing global illumination within complex 7 The Photon Mapping Method I get by with a little help from my friends. John Lennon, 1940 1980 PHOTON mapping is a practical approach for computing global illumination within complex environments. Much

More information

Overview. Raster Graphics and Color. Overview. Display Hardware. Liquid Crystal Display (LCD) Cathode Ray Tube (CRT)

Overview. Raster Graphics and Color. Overview. Display Hardware. Liquid Crystal Display (LCD) Cathode Ray Tube (CRT) Raster Graphics and Color Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2004 Color models Color models Display Hardware Video display devices Cathode Ray Tube (CRT) Liquid Crystal Display

More information

Lighting Estimation in Indoor Environments from Low-Quality Images

Lighting Estimation in Indoor Environments from Low-Quality Images Lighting Estimation in Indoor Environments from Low-Quality Images Natalia Neverova, Damien Muselet, Alain Trémeau Laboratoire Hubert Curien UMR CNRS 5516, University Jean Monnet, Rue du Professeur Benoît

More information

Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur

Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur Outline srgb DX9, DX10, XBox 360 Tone Mapping Motion Blur srgb Outline srgb & gamma review Alpha Blending: DX9 vs. DX10 & XBox 360 srgb curve: PC vs. XBox 360 srgb Review Terminology: Color textures are

More information

Calibration Best Practices

Calibration Best Practices Calibration Best Practices for Manufacturers SpectraCal, Inc. 17544 Midvale Avenue N., Suite 100 Shoreline, WA 98133 (206) 420-7514 info@spectracal.com http://studio.spectracal.com Calibration Best Practices

More information

path tracing computer graphics path tracing 2009 fabio pellacini 1

path tracing computer graphics path tracing 2009 fabio pellacini 1 path tracing computer graphics path tracing 2009 fabio pellacini 1 path tracing Monte Carlo algorithm for solving the rendering equation computer graphics path tracing 2009 fabio pellacini 2 solving rendering

More information

Lecture 15: Hardware Rendering

Lecture 15: Hardware Rendering Lecture 15: Hardware Rendering Fall 2004 Kavita Bala Computer Science Cornell University Announcements Project discussion this week Proposals: Oct 26 Exam moved to Nov 18 (Thursday) Bounding Volume vs.

More information

Color correction in 3D environments Nicholas Blackhawk

Color correction in 3D environments Nicholas Blackhawk Color correction in 3D environments Nicholas Blackhawk Abstract In 3D display technologies, as reviewers will say, color quality is often a factor. Depending on the type of display, either professional

More information

Three-Dimensional Data Recovery Using Image-Based Modeling

Three-Dimensional Data Recovery Using Image-Based Modeling Three-Dimensional Data Recovery Using Image-Based Modeling Jeremy W. Cannon Jonathan C. Derryberry Vitaly Y. Kulikov jcannon1@mit.edu jonderry@mit.edu vkulikov@mit.edu Abstract 6.837: Introduction to Computer

More information

MicroStation Visualization V8i (SELECTseries 1) Luxology Update 1

MicroStation Visualization V8i (SELECTseries 1) Luxology Update 1 MicroStation Visualization V8i (SELECTseries 1) Luxology Update 1 This is an unfinished draft document for Luxology Update 1, and we are continuing to add additional content and topics. Any items marked

More information