Today. More realistic illumination. Capturing environment maps. Computergrafik. Environment maps as light sources. Environment maps as light sources

Size: px
Start display at page:

Download "Today. More realistic illumination. Capturing environment maps. Computergrafik. Environment maps as light sources. Environment maps as light sources"

Transcription

1 Today More shaders Environment mapping Computergrafik Toon shading Bump mapping Shadow mapping Matthias Zwicker Universität Bern Herbst 2008 More realistic illumination In real world, at each point in scene light arrives from all directions Not just from point light sources Environment maps Capturing environment maps 360 degrees panoramic image Instead of 360 degrees panoramic image, take picture of mirror ball (light probe) Store omni-directional illumination as images Each pixel corresponds to light from a certain direction Light probes [Paul Debevec, Environment maps as light sources Simplifying assumption Assume light captured by environment map is emitted from infinitely far away Environment map consists of directional light sources Value of environment map is defined for each direction, independent of position in scene Use single environment map at each point in the scene Approximation! Environment maps as light sources How do you compute shading of a diffuse surface using an environment map? What is more expensive to compute, shading a diffuse or a specular surface? 1

2 Environment maps applications Use environment map as light source Sphere & cube maps Store incident light on sphere or on six faces of a cube Reflection mapping Global illumination [Sloan et al.] Spherical map Cube map Cube map look-up Given direction (x,y,z) Largest coordinate component determines cube map face Dividing by magnitude of largest component yields coordinates within face Reflection mapping Simulate mirror reflection Compute reflection vector at each pixel Use reflection vector to look up cube map Rendering cube map itself is optional In GLSL Use(x,y,z) direction as texture coordinates to samplercube Reflection mapping Reflection mapping in GLSL Application setup Load, bind a cube environment map glbindtexture(gl_texture_cube_map, ); glteximage2d(gl_texture_cube_map_positive_x, ); glteximage2d(gl_texture_cube_map_negative_x, ); glteximage2d(gl_texture_cube_map_positive_y, ); glenable(gl_texture_cube_map); More details in book OpenGL Shading Language by Randi Rost Reflection mapping in GLSL Vertex shader Compute viewing direction Reflection direction Use reflect function Pass reflection direction to fragment shader Fragment shader Look-up cube map using interpolated reflection direction varying float3 refl; uniform samplercube envmap; texturecube(envmap, refl); 2

3 Reflection mapping examples Approximation, reflections are not accurate Demo NVidia CG shading language Cg c7 reflection [NVidia] Today More shaders Environment mapping Toon shading Bump mapping Shadow mapping Toon shading Simple cartoon style shader Emphasize silhouettes Discrete steps for diffuse shading, highlights Off-line toon shader GLSL toon shader Toon shading Silhouette edge detection Compute dot product of viewing direction v and normal n Use 1D texture to define edge ramp uniform sample1d edgeramp; e=texture1d(edgeramp,edge); edgeramp 1 0 edge Toon shading Compute diffuse and specular shading Use 1D textures diffuseramp, specularramp to map diffuse and specular shading to colors Final color uniform sampler1d diffuseramp; uniform sampler1d specularramp; c = e * (texture1d(diffuse,diffuseramp)+ texture1d(specular,specularramp)); 3

4 Toon shading Cg toon9 More shaders OpenGL shading language book NVidia shader library Most shadersare in HLSL s/shader_library.html html NVidiaCg toolkit Predecessor of GLSL Lots of example shaders Today More shaders Environment mapping Toon shading Bump mapping Shadow mapping Bump mapping Surface detail is often the result of small perturbations in the surface geometry Modeling detailed surfaces would lead to impractical number of triangles Bump mapping alters the surface normal to provide the illusion of small scale surface detail Normals are encoded in texture maps Requires per-pixel shading using a fragment program Bump mapping Bump mapping Generating and storing bump maps Rendering with bump maps No bump mapping With bump mapping Bump mapped plane No bump mapping With bump mapping Bump texture 4

5 Generating bump maps Usually done in a pre-process Input Texture map that encodes small surface displacements Height field E.g., use gray scale image as height values Output Texture map that encodes normals of displaced surface This texture will be stored as an image, read by the application Generating bump maps Displacement map Normal Discrete case using central differencing Normalize! Storing bump maps Encode normal direction in RGB color channels Coordinates of unit normal are in [-1..1] 3 Need to map range [-1..1] to [0..255] for all channels Rendering with bump maps When applying a bump map to a curved surface, how are the normals specified in the bump map related to the surface? Normals are defined relative to local tangent/normal vectors Normals Local tangent vector RGB encoded bump map Normals in bump map Bump map applied to curved surface Rendering with bump maps Bump map normals are defined in tangent space Defined by two tangent vectors and normal Will define tangent space for each triangle Texture coordinates provide parameterization of each triangle, i.e., function Compute tangent space using partial derivatives of parameterization Will need to transform normals from tangent space to camera space Tangent space Triangle with texture coordinates can be expressed as parametric surface Triangle vertices in object space We know 5

6 Tangent space Solve for affine function Tangent space Tangent space defined by tangent, bi-tangent, and normal vectors Using correspondences at vertices defined in object space coordinates Tangent, bi-tangent not orthogonal in general No normalization necessary Normal in object space Normal map stores normals in tangent coordinates Basis vectors Can transform normal from tangent to object space Values [bm 0,bm 1,bm 2 ] from bump map Unpacked from [0..1] to range [-1..1] Storing tangent vectors Before rendering For each triangle, compute tangent, bitangent vector At each vertex, average tangent, bitangent vectors over adjacent triangles Store tangent vectors as additional vertex attributes Rendering Vertex shader Per-vertex input Vertex position, normal, tangent vector in object space Bump map texture coordinates Compute bi-tangent vector Transform everything to camera space using modelview matrix Output to fragment shader Vertex position, texture coordinates, tangent, bitangent, normal vector in camera space Bump map texture coordinates Rendering with bump maps Fragment shader Transform normal [bm 0,bm 1,bm 2 ] stored in bump map to camera coordinates Use basis to transform to object space Use modelview matrix to transform from object space to camera space Normalize Perform lighting in camera coordinates 6

7 Variations Perform lighting in different coordinate system than camera space Object space Tangent space Tangent space is more efficient Transform light direction to tangent space in vertex shader Interpolate across triangle No need to transform bump mapped normal at each pixel Caveats Avoid triangles with zero area in texture space Cannot compute valid tangent space Avoid triangles with negative area in texture space May happen when texture is mirrored Avoid non-uniform stretching of bump map Combination with env. map Environment mapped bump mapping (EMBM) Use bump mapped normal to compute reflection vector, look up cube map Demo AMD RenderMonkey Shader development IDE Supports GLSL, HLSL, etc. Illumination_Advanced.rfx Reflection_Refractions.rfx [ Env. mapped bump mapping Use additional dirt texture to modulate strength of reflection from environment map Tutorials Caution, slightly different derivation OpenGL shading language book Bump mapping uses shading p pp g g in tangent space 7

8 Today More shaders Environment mapping Toon shading Bump mapping Shadow mapping Why are shadows important? Cues on scene lighting Why are shadows important? Contact points Depth cues Why are shadows important? Realism Without self-shadowing Without self-shadowing Terminology Umbra: fully shadowed region Penumbra: partially shadowed region (area) light source occluder Hard and soft shadows Point and directional lights lead to hard shadows, no penumbra Area light sources lead to soft shadows, with penumbra point directional area penumbra umbra shadow receiver umbra penumbra 8

9 Hard and soft shadows Hard shadow, point light source Soft shadow, area light source Shadows for interactive rendering Focus on hard shadows Soft shadows often too hard to compute in interactive graphics Two main techniques Shadow mapping Shadow volumes Many variations, subtleties Active research area Shadow mapping Main idea Scene point is lit by light source if it is visible from light source Determine visibility from light source by placing camera at light source position and rendering scene Two pass algorithm First pass Render scene by placing camera at light source position Store depth image (shadow map) depth value Scene points are lit if visible from light source Determine visibility from light source by placing camera at light source position Depth image seen from light source Two pass algorithm Second pass Render scene from camera position At each pixel, compare distance to light source with value in shadow map If distance is larger, we are in shadow If distance is smaller or equal, pixel is lit v b is in shadow Final image with shadows pixel seen from eye v b Demo Cg tutorial examples shadowmapping 9

10 Issues Limited field of view of shadow map Z-fighting Sampling problems Limited field of view What if a scene point is outside the field of view of the shadow map? field of view Limited field of view z-fighting What if a scene point is outside the field of view of the shadow map? Use six shadow maps, arranged in a cube Requires rendering pass for each shadow map! shadow maps Depth values for points visible from light source are equal in both rendering passes Because of limited resolution, depth of pixel visible from light could be larger than shadow map value Need to add bias in first pass to make sure pixels are lit Shadow map Shadow map pixels Depth of shadow map Camera image Image pixels Pixel is considered in shadow! Depth of pixel Solution Add bias when rendering shadow map Move geometry away from light by small amount Finding correct amount of bias is tricky Bias Not enough Too much Correct bias Not enough bias Too much bias Correct 10

11 Sampling problems Shadow map pixel may project to many image pixels Ugly stair-stepping artifacts Solutions Increase resolution of shadow map Not always sufficient Split shadow map into several slices Tweak projection for shadow map rendering Light space perspective shadow maps (LiSPSM) With GLSL source code! Combination of splitting and LiSPSM Basis for most serious implementations LiSPSM Percentage closer filtering Instead of looking up one shadow map pixel, look up several pixels Perform depth test for each shadow map pixel Compute percentage of pixels that are lit Basic shadow map Light space perspective shadow map Percentage closer filtering Supported in hardware for small filters (2x2 shadow map pixels) Next time Advanced topics Can use larger filters with additional rendering passes Fake soft shadows 11

12 Appendix Shadow mapping with OpenGL Recommended book: OpenGL Shading Language by Randi Rost First pass Render scene by placing camera at light source position Compute light view (look at) matrix Similar to computing camera matrix from look-at, up vector Compute its inverse to get world-to-light transform Determine view frustum such that scene is completely enclosed Use several view frusta/shadow maps if necessary First pass Each vertex point is transformed by Object-to-world (modeling) matrix World-to-light li space matrix Light frustum (projection) matrix Remember: points within frustum are transformed to unit cube [-1,1] 3 Object space (1,1) Light space (-1,-1) First pass Use glpolygonoffset to apply depth bias Store depth image in a texture Use glcopyteximage with internal format GL_DEPTH_COMPONENT Final result with shadows Scene rendered from light source Depth map from light source Second pass Render scene from camera At each pixel, look up corresponding location in shadow map Compare depths with respect to light source Looking up shadow map Need to transform each point from object space to shadow map Shadow map texture coordinates are in [0,1] 2 Transformation from object to shadow map coordinates (set it as texture matrix, see below) (1,1) After perspective projection we have shadow map coordinates (0,0) Object space Light space Shadow map 12

13 Looking up shadow map Transform each vertex to normalized frustum of light Pass s,t,r,q as texture coordinates to rasterizer Rasterizer interpolates s,t,r,q to each pixel Use projective texturing to look up shadow map This means, the texturing unit automatically computes s/q,t/q,r/q,1 s/q,t/q are shadow map coordinates in [0,1] 2 r/qis depth in light space Shadow depth test: compare shadow map at (s/q,t/q) to r/q GLSL specifics In application Store matrix T in OpenGL texture matrix Set usingglmatrixmode(gl_texture) In vertex shader Access texture matrix through predefined uniform gl_texturematrix In fragment shader Declare shadow map as sampler2dshadow Look up shadow map using projective texturing with vec4 texture2dproj(sampler2d, vec4) GLSL specifics When you do a projective texture look up on a sampler2dshadow, the depth test is performed automatically Return value is (1,1,1,1) if lit Return value is (0001)if (0,0,0,1) shadowed Simply multiply result of shading with current light source with this value Resources Overview, lots of links Basic shadow maps Avoiding sampling problems in shadow maps p p Faking soft shadows with shadow maps Alternative: shadow volumes

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

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

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline

More information

Shadows. Shadows. Thanks to: Frédo Durand and Seth Teller MIT. Realism Depth cue

Shadows. Shadows. Thanks to: Frédo Durand and Seth Teller MIT. Realism Depth cue Shadows Thanks to: Frédo Durand and Seth Teller MIT 1 Shadows Realism Depth cue 2 1 Shadows as depth cue 3 Spatial relationship between objects Michael McCool Univ of Waterloo 4 2 Spatial relationship

More information

High Dynamic Range and other Fun Shader Tricks. Simon Green

High Dynamic Range and other Fun Shader Tricks. Simon Green High Dynamic Range and other Fun Shader Tricks Simon Green Demo Group Motto If you can t make it good, make it big. If you can t make it big, make it shiny. Overview The OpenGL vertex program and texture

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

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

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

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

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

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

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

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

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

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

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

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

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

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

GPGPU Computing. Yong Cao

GPGPU Computing. Yong Cao GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power

More information

Computer Animation: Art, Science and Criticism

Computer Animation: Art, Science and Criticism Computer Animation: Art, Science and Criticism Tom Ellman Harry Roseman Lecture 12 Ambient Light Emits two types of light: Directional light, coming from a single point Contributes to diffuse shading.

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

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved

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

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

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

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

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

Realtime 3D Computer Graphics Virtual Reality

Realtime 3D Computer Graphics Virtual Reality Realtime 3D Computer Graphics Virtual Realit Viewing and projection Classical and General Viewing Transformation Pipeline CPU Pol. DL Pixel Per Vertex Texture Raster Frag FB object ee clip normalized device

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

Computer Graphics. Anders Hast

Computer Graphics. Anders Hast Computer Graphics Anders Hast Who am I?! 5 years in Industry after graduation, 2 years as high school teacher.! 1996 Teacher, University of Gävle! 2004 PhD, Computerised Image Processing " Computer Graphics!

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

TEXTURE AND BUMP MAPPING

TEXTURE AND BUMP MAPPING Department of Applied Mathematics and Computational Sciences University of Cantabria UC-CAGD Group COMPUTER-AIDED GEOMETRIC DESIGN AND COMPUTER GRAPHICS: TEXTURE AND BUMP MAPPING Andrés Iglesias e-mail:

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

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

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it t.diamanti@cineca.it Agenda From GPUs to GPGPUs GPGPU architecture CUDA programming model Perspective projection Vectors that connect the vanishing point to every point of the 3D model will intersecate

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

3D Math Overview and 3D Graphics Foundations

3D Math Overview and 3D Graphics Foundations Freescale Semiconductor Application Note Document Number: AN4132 Rev. 0, 05/2010 3D Math Overview and 3D Graphics Foundations by Multimedia Applications Division Freescale Semiconductor, Inc. Austin, TX

More information

Materials in NX Render

Materials in NX Render Materials in NX Render Overview Where materials are stored in NX Render Internal material definition and the NX interface Material types and their characteristics Material components Colour Pattern Reflectance

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

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

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

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

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

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang Introduction Computer Graphics Instructor: Yung-Yu Chuang ( 莊 永 裕 ) E-mail: c@csie.ntu.edu.tw Office: CSIE 527 Grading: a MatchMove project Computer Science ce & Information o Technolog og Yung-Yu Chuang

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

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

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. B2.53-R3: COMPUTER GRAPHICS NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be answered in the TEAR-OFF ANSWER

More information

Approval Sheet. Interactive Illumination Using Large Sets of Point Lights

Approval Sheet. Interactive Illumination Using Large Sets of Point Lights Approval Sheet Title of Thesis: Interactive Illumination Using Large Sets of Point Lights Name of Candidate: Joshua David Barczak Master of Science, 2006 Thesis and Abstract Approved: Marc Olano Assistant

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

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

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

Cork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC

Cork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC Cork Education and Training Board Programme Module for 3 Dimensional Computer Graphics Leading to Level 5 FETAC 3 Dimensional Computer Graphics 5N5029 3 Dimensional Computer Graphics 5N5029 1 Version 3

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

A Crash Course on Programmable Graphics Hardware

A Crash Course on Programmable Graphics Hardware A Crash Course on Programmable Graphics Hardware Li-Yi Wei Abstract Recent years have witnessed tremendous growth for programmable graphics hardware (GPU), both in terms of performance and functionality.

More information

NVIDIA Material Definition Language 1.1

NVIDIA Material Definition Language 1.1 NVIDIA Material Definition Language 1.1 Technical Introduction Document version 1.0 12 May 2014 NVIDIA Advanced Rendering Center Fasanenstraße 81 10623 Berlin phone +49.30.315.99.70 fax +49.30.315.99.733

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

Abstract. These two vectors define a plane tangent to the surface at that point. Their cross product is Recent work in computer graphics has been

Abstract. These two vectors define a plane tangent to the surface at that point. Their cross product is Recent work in computer graphics has been Abstract SIMULATION OF WRINKLED SURFACES James F. Blinn Caltech/JPL Computer generated shaded images have reached an impressive degree of realism with the current state of the art. They are not so realistic,

More information

NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX. TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013

NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX. TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013 NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013 nvfx : Plan What is an Effect New Approach and new ideas of nvfx Examples Walkthrough

More information

Vertex and fragment programs

Vertex and fragment programs Vertex and fragment programs Jon Hjelmervik email: jonmi@ifi.uio.no 1 Fixed function transform and lighting Each vertex is treated separately Affine transformation transforms the vertex by matrix multiplication

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

First, let me do a super fast introduction,

First, let me do a super fast introduction, 1 (Trailer) Today, I would like to talk about the art style of our latest title GuiltyGear Xrd. Why did we choose this art style? What made it so hard to fake 2d in 3d? How did we accomplish it? What made

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

VRayPattern also allows to curve geometry on any surface

VRayPattern also allows to curve geometry on any surface Introduction VrayPattern is a plug-in for 3dsmax and V-Ray VRayPattern allows to multiply geometry periodically without extra memory consumption. As a sample you can use any tiled geometry (or those with

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

Motivation. Motivation

Motivation. Motivation Preserving Preserving Realism Realism in in real-time real-time Rendering Rendering of of Bidirectional Bidirectional Texture Texture Functions Functions Reinhard Klein Bonn University Computer Graphics

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

Interactive Computer Graphics

Interactive Computer Graphics Interactive Computer Graphics A Top-Down Approach Using OpenGL FIFTH EDITION EDWARD ANGEL UNIVERSITY OF NEW MEXICO PEARSON Addison Wesley Boston San Francisco New York London Toronto Sydney Tokyo Singapore

More information

GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology

GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology GPUs Under the Hood Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology Bandwidth Gravity of modern computer systems The bandwidth between key components

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

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

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias

Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias 1 YEAR 3D ANIMATION Illusion is the first of all pleasures Oscar Wilde Our One-Year 3D Animation Program is a comprehensive training in 3D using Alias Oscar Winning software, Maya, the industry standard

More information

MicroStation V8i Training Manual 3D Level 3

MicroStation V8i Training Manual 3D Level 3 You are viewing sample pages from our textbook: MicroStation V8i Training Manual 3D Level 3 The sample subject matter includes pages from Modules 15 and 17, and range from material assignments and attachment,

More information

Last lecture... Computer Graphics:

Last lecture... Computer Graphics: Last lecture... Computer Graphics: Visualisation can be greatly enhanced through the Introduction to the Visualisation use of 3D computer graphics Toolkit Visualisation Lecture 2 toby.breckon@ed.ac.uk

More information

How To Teach Computer Graphics

How To Teach Computer Graphics Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

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

Blender addons ESRI Shapefile import/export and georeferenced raster import

Blender addons ESRI Shapefile import/export and georeferenced raster import Blender addons ESRI Shapefile import/export and georeferenced raster import This blender addon is a collection of 4 tools: ESRI Shapefile importer - Import point, pointz, polyline, polylinez, polygon,

More information

ABS 731 Lighting Design & Technology. Spring 2006

ABS 731 Lighting Design & Technology. Spring 2006 ABS 731 Lighting Design & Technology Spring 2006 AGI32 is used to predict the photometric performance of selected luminaires or daylight penetration in a simulated environment. The environments that can

More information

Programmable Graphics Hardware

Programmable Graphics Hardware Programmable Graphics Hardware Alessandro Martinelli alessandro.martinelli@unipv.it 6 November 2011 Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline

More information

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar

Game Development in Android Disgruntled Rats LLC. Sean Godinez Brian Morgan Michael Boldischar Game Development in Android Disgruntled Rats LLC Sean Godinez Brian Morgan Michael Boldischar Overview Introduction Android Tools Game Development OpenGL ES Marketing Summary Questions Introduction Disgruntled

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

Image Synthesis. Transparency. computer graphics & visualization

Image Synthesis. Transparency. computer graphics & visualization Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,

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

Beginning Android 4. Games Development. Mario Zechner. Robert Green

Beginning Android 4. Games Development. Mario Zechner. Robert Green Beginning Android 4 Games Development Mario Zechner Robert Green Contents Contents at a Glance About the Authors Acknowledgments Introduction iv xii xiii xiv Chapter 1: Android, the New Kid on the Block...

More information

High-resolution Imaging System for Omnidirectional Illuminant Estimation

High-resolution Imaging System for Omnidirectional Illuminant Estimation High-resolution Imaging System for Omnidirectional Illuminant Estimation Shoji Tominaga*, Tsuyoshi Fukuda**, and Akira Kimachi** *Graduate School of Advanced Integration Science, Chiba University, Chiba

More information

OpenGL Shading Language Course. Chapter 5 Appendix. By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com

OpenGL Shading Language Course. Chapter 5 Appendix. By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com OpenGL Shading Language Course Chapter 5 Appendix By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com TyphoonLabs GLSL Course 1/1 APPENDIX INDEX Using GLSL Shaders Within OpenGL Applications 2

More information

Multivariate data visualization using shadow

Multivariate data visualization using shadow Proceedings of the IIEEJ Ima and Visual Computing Wor Kuching, Malaysia, Novembe Multivariate data visualization using shadow Zhongxiang ZHENG Suguru SAITO Tokyo Institute of Technology ABSTRACT When visualizing

More information

Integrating Advanced GLSL Shading and XML Agents into a Learning-Oriented 3D Engine

Integrating Advanced GLSL Shading and XML Agents into a Learning-Oriented 3D Engine Integrating Advanced GLSL Shading and XML Agents into a Learning-Oriented 3D Engine Edgar Velázquez-Armendáriz, Erik Millán Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Estado de

More information

Introduction to Graphics Software Development for OMAP 2/3

Introduction to Graphics Software Development for OMAP 2/3 W H I T E P A P E R By Clay D. Montgomery, Graphics Software Engineer Media & Applications Processor Platforms Texas Instruments Introduction to Graphics Software Development for OMAP 2/3 Executive Summary

More information

Architecture for Direct Model-to-Part CNC Manufacturing

Architecture for Direct Model-to-Part CNC Manufacturing Architecture for Direct Model-to-Part CNC Manufacturing Gilbert Poon, Paul J. Gray, Sanjeev Bedi Department of Mechanical Engineering, University of Waterloo Waterloo, Ontario, N2L 3G1, Canada and Daniel

More information

Cartoon-Looking Rendering of 3D-Scenes

Cartoon-Looking Rendering of 3D-Scenes Cartoon-Looking Rendering of 3D-Scenes Philippe Decaudin 1 Research Report INRIA #2919 June 1996 Abstract We present a rendering algorithm that produces images with the appearance of a traditional cartoon

More information

Solving Simultaneous Equations and Matrices

Solving Simultaneous Equations and Matrices Solving Simultaneous Equations and Matrices The following represents a systematic investigation for the steps used to solve two simultaneous linear equations in two unknowns. The motivation for considering

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 Flat Shape Everything around us is shaped

The Flat Shape Everything around us is shaped The Flat Shape Everything around us is shaped The shape is the external appearance of the bodies of nature: Objects, animals, buildings, humans. Each form has certain qualities that distinguish it from

More information

The 3D rendering pipeline (our version for this class)

The 3D rendering pipeline (our version for this class) The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in camera coordinates Pixels in image coordinates Scene graph Camera Rasterization

More information

AR-media TUTORIALS OCCLUDERS. (May, 2011)

AR-media TUTORIALS OCCLUDERS. (May, 2011) AR-media TUTORIALS OCCLUDERS (May, 2011) Copyright Copyright 2008/2011 Inglobe Technologies S.r.l. All rights reserved. No part of this publication may be reproduced, transmitted, transcribed, stored in

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

ECMA-363. 3rd Edition / June 2006. Universal 3D File Format

ECMA-363. 3rd Edition / June 2006. Universal 3D File Format ECMA-363 3rd Edition / June 2006 Universal 3D File Format ECMA-363 3 rd Edition / June 2006 Universal 3D File Format Ecma International Rue du Rhône 114 CH-1204 Geneva T/F: +41 22 849 6000/01 www.ecma-international.org

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