Reflections from Bumpy Surfaces GPU Graphics. What are we trying to achieve?  Most surfaces are not flat like glass  Some of these surfaces still give.

Slides:



Advertisements
Similar presentations
Parameterized Environment Maps
Advertisements

Lecture 8 Transparency, Mirroring
An Optimized Soft Shadow Volume Algorithm with Real-Time Performance Ulf Assarsson 1, Michael Dougherty 2, Michael Mounier 2, and Tomas Akenine-Möller.
Technische Universität München Computer Graphics SS 2014 Graphics Effects Rüdiger Westermann Lehrstuhl für Computer Graphik und Visualisierung.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Graphics Pipeline.
1 Geometric optics Light in geometric optics is discussed in rays and represented by a straight line with an arrow indicating the propagation direction.
Environment Mapping CSE 781 – Roger Crawfis
3D Graphics Rendering and Terrain Modeling
Imaging. Modeling and Imaging Reality model Picture modeling Imaging (vizualisation)
 Engineering Graphics & Introductory Design 3D Graphics and Rendering REU Modeling Course – June 13 th 2014.
Light Issues in Computer Graphics Presented by Saleema Amershi.
Week 9 - Wednesday.  What did we talk about last time?  Fresnel reflection  Snell's Law  Microgeometry effects  Implementing BRDFs  Image based.
Based on slides created by Edward Angel
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Shading I.
Mirrors Physics 202 Professor Lee Carkner Lecture 22.
WILLIAM MOSS ADVANCED RENDERING COURSE PROJECT DECEMBER 4 TH, 2008 Real-time rendering of water and bubbles.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
ARCH 481 3d Modeling and Rendering lecture four: texture maps.
(conventional Cartesian reference system)
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
CIS 310: Visual Programming, Spring 2006 Western State College 310: Visual Programming Ray Tracing.
Direct Volume Rendering w/Shading via Three- Dimensional Textures.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Shading I Ed Angel Professor of Computer Science, Electrical and Computer Engineering,
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Imaging Science FundamentalsChester F. Carlson Center for Imaging Science Mirrors and Lenses.
CS 480/680 Computer Graphics Shading I Dr. Frederick C Harris, Jr.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Shadows Computer Graphics. Shadows Shadows Extended light sources produce penumbras In real-time, we only use point light sources –Extended light sources.
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
COMP 175: Computer Graphics March 24, 2015
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Reflections Specular reflection is the perfect reflection of light from a surface. The law a reflection states that the direction of the incoming ray and.
Advanced Computer Graphics March 06, Grading Programming assignments Paper study and reports (flipped classroom) Final project No written exams.
-Global Illumination Techniques
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Chapter 6 Special Effects 강 신 진강 신 진
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
Texture Mapping Applications 2. Parallax Mapping with Slope  parallax mapping assumes that the surface is a single plane  a better approximation  surface.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Dr. Scott Schaefer Ray Tracing. 2/42 Ray Tracing Provides rendering method with  Refraction/Transparent surfaces  Reflective surfaces  Shadows.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
Basic Ray Tracing CMSC 435/634. Visibility Problem Rendering: converting a model to an image Visibility: deciding which objects (or parts) will appear.
Shadows. Shadows is important in scenes, consolidating spatial relationships “Geometric shadows”: the shape of an area in shadow Early days, just pasted.
Advanced Computer Graphics Advanced Shaders CO2409 Computer Graphics Week 16.
More on Environment Mapping Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Wednesday, December 10, 2003.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Basic Ray Tracing CMSC 435/634.
Ray Tracing CSIS 5838: Graphics and Animation for Gaming.
Global Illumination. Local Illumination  the GPU pipeline is designed for local illumination  only the surface data at the visible point is needed to.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
CSCE 441: Computer Graphics Ray Tracing
11/24/ :45 Graphics II Shadow Maps Reflections Session 5.
Module 06 –environment mapping Module 06 – environment mapping Module 06 Advanced mapping techniques: Environment mapping.
RENDERING : Global Illumination
OpenGL and You I Cast, Therefore I Am. Ray Casting Idea is simple, implementation takes some work –Cast rays as if you were the camera –Determine intersection.
Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary.
Texture Coordinates CS418 Computer Graphics John C. Hart.
3D Moving Mirror Modeling CSE Lee Chan Kee CSE Min Jae Seul.
Digital Media Dr. Jim Rowan ITEC 2110 Vector Graphics II.
CS552: Computer Graphics Lecture 36: Ray Tracing.
Ying Zhu Georgia State University
Photorealistic Rendering vs. Interactive 3D Graphics
3D Graphics Rendering PPT By Ricardo Veguilla.
Reflections from Bumpy Surfaces
Michael Tanaya , Hua ming Chen
Chapter V Vertex Processing
Dr. Jim Rowan ITEC 2110 Vector Graphics II
Presentation transcript:

Reflections from Bumpy Surfaces GPU Graphics

What are we trying to achieve?  Most surfaces are not flat like glass  Some of these surfaces still give off reflections, we would like to model this effect

Methods for Reflection 1. Ray Tracing (expensive) 2. Environment Mapping (cube maps) 1. Is an option in the shader 4 model 2. In shader model 3 we can not update the cube map in real time easily 3. Spherical Environment Mapping (with cube map)

Cube Map Example  Can not be updated in real-time easily  Only currently works well for static scenes  Shader 4 will allow arrays of textures, will make real-time cube maps easy to implement

Simple Cube Map Lookup O V N VrVr T 1.Reflect incoming View vector around Normal 2.Intersect V r with environment map and perform texture lookup What is the issue here? 2D view of an environment map Two points with identical mirror directions will look up the same direction in the environment map Two points with identical mirror directions will look up the same direction in the environment map

Spherical Environment Mapping  Assume the environment map exists on the interior of a sphere with a finite radius and center  Define a ray using the position and mirror direction of the point, calculate the ray intersection with environment sphere  Use intersection as the environment lookup direction r < infinity reflector P EM P O x V r V r V mod V = view vector, reflected about the point normal at x r P = point on sphere interior using regular cube map EM P = intersection between line x + V t and sphere using V = P – O to index cube map based at O mod r V = modified view vector

An even simpler case: The planar reflection Two Pass algorithm 1. Reflected image is rendered to a texture 2. Reflected surface is shaded with reflected texture from first pass Only useful for something like floors

Rendering Reflection to Texture Reflector Plane (A) FrFr RrRr F R U 1. Reflect the current viewpoint about the reflector plane. 2. Render the relevant parts of the scene from the new viewpoint. 1. Reflect the current viewpoint about the reflector plane. 2. Render the relevant parts of the scene from the new viewpoint. Camera Pos: E r = reflect a (E) Front: F r = reflect a (F) Right: R r = reflect a (R) Up: U r = - reflect a (U) UrUr E ErEr

Reflection Texture Lookup  For the Perfect Reflector: for_each fragment { Fpos = fragment world position Vr = reflected view matrix Epos = eye space position = Fpos * Vr Ppos = post projective space = Epos * P S = scale translate matrix texture_lookup = (S*P*Vr*Fpos).xy color = tex2d(texture_lookup) }

Reflection Texture Lookup  For the Bumpy Reflector N N1N1 E ErEr fPos 1 fPos V VNVN 1 viewpoint reflected viewpoint h N = normal E = viewpoint E r = reflected viewpoint N 1 = fragment’s normal V = view vector V N1 = view vector reflected about N 1 P = perfect reflector’s reflection P 1 = non-perfect reflector’s reflection P P1P1 Solve for fPos1