Shading with Shaders. Computer Graphics, VT 2015 Lecture 6

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Shading with Shaders. Computer Graphics, VT 2015 Lecture 6"

Transcription

1 Shading with Shaders Computer Graphics, VT 2015 Lecture 6 Johan Nysjö Centre for Image analysis Swedish University of Agricultural Sciences Uppsala University

2 Today's topics Shading in modern OpenGL Per-vertex shading Per-fragment shading The Lambertian reflectance model Blinn-Phong shading Some more advanced lighting techniques Assignment 3

3 Recap: The programmable graphics pipeline

4 Recap: The programmable graphics pipeline The host CPU application loads/creates vertex data, shaders, textures, etc, uploads them to GPU-accessible memory, and submits draw calls Shaders do all the visual magic! Vertices and fragments are processed in parallel on the GPU.

5 Shading in modern OpenGL All lighting computations are performed in GLSL shaders Transforms, material properties, and light sources are defined in the host CPU program and passed to the shaders as uniform variables

6 Lighting vs. shading Lighting models describe the interaction between materials and light sources Shading is the process of determining the color of a pixel

7 Vectors To compute the lighting contribution at a surface point p, we typically need N: the normal vector at the point E (or V): a vector pointing from p to the camera/viewer L: a vector pointing from p to the light source These vectors are usually defined in camera/view space p

8 Surface normals Describes the local surface orientation at some vertex or face Uploaded to the GPU memory along with vertex positions Direction Normal vectors Normal vectors color-coded as RGB colors

9 Material properties Common material properties: Diffuse color (vec3) Specular color (vec3) Specular power (float) Can be passed to the shader as uniform variables (or stored in textures) #version 150 uniform vec3 u_diffuse_color; uniform vec3 u_specular_color; uniform float u_specular_power; // More shader code goes here

10 Light sources Common types: Directional Positional Spotlight Area lights Also passed to the shaders as uniform variables #version 150 uniform vec3 u_light_position; uniform vec3 u_light_color; // More shader code goes here

11 Per-vertex shading Lighting is computed in the vertex shader and interpolated over the triangle The fragment shader only receives the interpolated result and set it as fragment color Advantage: cheap to compute Disadvantage: produces ugly specular highlights for objects with few polygons Image source:

12 Per-fragment shading Computes lighting in the fragment shader, using interpolated normal, view, and light vectors from the vertex shader as input Advantages: specular highlights will look good even for objects with few polygons can be combined with various texture mapping techniques to produce very detailed and realistic surfaces Disadvantages: more expensive to compute than per-vertex shading

13 Lambertian reflectance Simulates an ideal diffuse reflecting surface

14 Lambertian reflectance = * Diffuse color max(0.0, dot(n, L)) Diffuse shading

15 GLSL code for the Lambert diffuse term float diffuse(vec3 L, vec3 N) { return max(0.0, dot(l, N)); } max(0.0, dot(n, L))

16 Blinn-Phong shading

17 Diffuse lighting

18 Ambient lighting

19 Specular lighting

20 All lighting terms combined + Ambient + Diffuse = Specular Final color

21 Specular power α = 40 α = 400

22 GLSL code for the diffuse and specular terms float diffuse(vec3 L, vec3 N) { return max(0.0, dot(l, N)); } float specular(vec3 N, vec3 H, float specular_power) { return pow(max(0.0, dot(n, H)), specular_power); }

23 The reflection vector vs. the halfway vector Phong: where Blinn-Phong: where

24 Specular highlight shape Reflection vector (Phong) Halfway vector (Blinn-Phong) Image source:

25 Normalized Blinn-Phong shading model Unnormalized Blinn-Phong Normalized Blinn-Phong

26 Gamma correction CRT and LCD monitors have a non-linear response curve If you display the color (0.5, 0.0, 0.0), it will appear to be only ~21% as bright as (1.0, 0.0, 0.0), i.e., darker than expected! Gamma correction compensates for this Image source: Wikipedia

27 Gamma correction

28 Anisotropic shading Some materials are anisotropic, i.e., do not scatter light evenly in all directions Examples: hair, brushed metal, cloth, wood Isotropic highlights Anisotropic highlights

29 Anisotropic shading The Ward anisotropic shading model uses two parameters, ax and ay, to control the anisotropy of specular reflections

30 Wrap shading Wraps the diffuse lighting towards the camera to simulate subsurface scattering in materials such as wax, skin, and marble Standard Blinn-Phong Wrap shading Extreme wrap

31 Wrap shading in GLSL Modification of the Lambert diffuse term The wrap parameter controls the amount of wrapping float diffuse_wrap(vec3 L, vec3 N, float wrap) { return max(0.0, (dot(l, N) + wrap) / ((1.0 + wrap) * (1.0 + wrap))); }

32 Image-based lighting: pre-filtered cube maps Glossy surface Rough surface

33 Using pre-filtered cube maps for more realistic ambient lighting Standard flat ambient lighting Ambient lighting from pre-filtered cube maps

34 Physically-based rendering (PBR) Image source:

35 PBR materials Image source:

36 What about shadows? I'll cover projective shadows, shadow mapping, and ambient occlusion next week

37 Assignment 3: Blinn-Phong shading and Environment mapping

We have learnt that the order of how we draw objects in 3D can have an influence on how the final image looks

We have learnt that the order of how we draw objects in 3D can have an influence on how the final image looks Review: Last Week We have learnt that the order of how we draw objects in 3D can have an influence on how the final image looks Depth-sort Z-buffer Transparency Orientation of triangle (order of vertices)

More information

Illumination Models and Shading. Foley & Van Dam, Chapter 16

Illumination Models and Shading. Foley & Van Dam, Chapter 16 Illumination Models and Shading Foley & Van Dam, Chapter 16 Illumination Models and Shading Light Source Models Ambient Illumination Diffuse Reflection Specular Reflection Polygon Rendering Methods Flat

More information

Computer Graphics: Visualisation Lecture 3. Taku Komura Institute for Perception, Action & Behaviour

Computer Graphics: Visualisation Lecture 3. Taku Komura Institute for Perception, Action & Behaviour Computer Graphics: Visualisation Lecture 3 Taku Komura tkomura@inf.ed.ac.uk Institute for Perception, Action & Behaviour Taku Komura Computer Graphics & VTK 1 Last lecture... Visualisation can be greatly

More information

Shading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall 2013. Required: Shirley, Chapter 10

Shading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall 2013. Required: Shirley, Chapter 10 Reading Required: Shirley, Chapter 10 Shading Brian Curless CSE 557 Fall 2013 1 2 Basic 3D graphics With affine matrices, we can now transform virtual 3D obects in their local coordinate systems into a

More information

ADVANCED SKIN SHADING WITH FACEWORKS. Nathan Reed NVIDIA March 24, 2014

ADVANCED SKIN SHADING WITH FACEWORKS. Nathan Reed NVIDIA March 24, 2014 ADVANCED SKIN SHADING WITH FACEWORKS Nathan Reed NVIDIA March 24, 2014 DIGITAL IRA Tech demo Collaboration with Dr. Paul Debevec at USC Lots of other inspiring work on skin & eyes [Penner10], [Jimenez12],

More information

Shading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall 2014. Required: Shirley, Chapter 10

Shading. Reading. Pinhole camera. Basic 3D graphics. Brian Curless CSE 557 Fall 2014. Required: Shirley, Chapter 10 Reading Required: Shirley, Chapter 10 Shading Brian Curless CSE 557 Fall 2014 1 2 Basic 3D graphics With affine matrices, we can now transform virtual 3D objects in their local coordinate systems into

More information

OpenGL ES 2.0 Lighting 2 Per-fragment Lighting. CS421 Advanced Computer Graphics Jay Urbain, Ph.D.

OpenGL ES 2.0 Lighting 2 Per-fragment Lighting. CS421 Advanced Computer Graphics Jay Urbain, Ph.D. OpenGL ES 2.0 Lighting 2 Per-fragment Lighting CS421 Advanced Computer Graphics Jay Urbain, Ph.D. 1 Objectives Per-fragment lighting Foundation for Phong Model, textures, etc. Shader implementation in

More information

OpenGL pipeline Evolution and OpenGL Shading Language (GLSL)

OpenGL pipeline Evolution and OpenGL Shading Language (GLSL) OpenGL pipeline Evolution and OpenGL Shading Language (GLSL) Part 1/3 Prateek Shrivastava CS12S008 shrvstv@cse.iitm.ac.in 1 INTRODUCTION OpenGL Shading Language (GLSL) "mini-programs" written in GLSL are

More information

CS445 Exam 2 Solutions

CS445 Exam 2 Solutions November 20, 2014 Name CS445 Exam 2 Solutions Fall 2014 1. (max = 15) 5. (max = 21) 2. (max = 8) 6. (max = 16) 3. (max = 10) 7. (max = 16) 4. (max = 14) Final Score: (max=100) Please try to write legibly.

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

Architecture of a Graphics Pipeline. 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University

Architecture of a Graphics Pipeline. 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University Architecture of a Graphics Pipeline 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University Review last time Visual computing: Computer graphics and image analysis Objectives of visual computing

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

INFOGR Computer Graphics. J. Bikker - April-July 2016 - Lecture 12: Post-processing. Welcome!

INFOGR Computer Graphics. J. Bikker - April-July 2016 - Lecture 12: Post-processing. Welcome! INFOGR Computer Graphics J. Bikker - April-July 2016 - Lecture 12: Post-processing Welcome! Today s Agenda: The Postprocessing Pipeline Vignetting, Chromatic Aberration Film Grain HDR effects Color Grading

More information

Ray Casting. Simplest shading approach is to perform independent lighting calculation for every pixel

Ray Casting. Simplest shading approach is to perform independent lighting calculation for every pixel Ray Casting Simplest shading approach is to perform independent lighting calculation for every pixel ) ) ( ) ( ( + + + = i i n i S i i D AL A E I R V K I L N K I K I I Polygon Rendering Methods Given a

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

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

CSE 167: Lecture #18: Deferred Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Lecture #18: Deferred Rendering. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 CSE 167: Introduction to Computer Graphics Lecture #18: Deferred Rendering Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Thursday, Dec 13: Final project presentations

More information

Blender + Zbrush. Character Creation Series Part Four: Setting up in Cycles

Blender + Zbrush. Character Creation Series Part Four: Setting up in Cycles Blender + Zbrush Character Creation Series Part Four: Setting up in Cycles 1 Table of Contents Forward 4 Basic introduction to the Part Four Importing to Blender 5 How to import an OBJ file back to Blender

More information

Introduction to. the open graphics library for embedded systems

Introduction to. the open graphics library for embedded systems Introduction to the open graphics library for embedded systems PRESENTATION TOPICS Introduction to OpenGL ES Spaces and Transformations Drawing Geometry Colors Textures Android Fragmentation OpenGL ES

More information

Deferred Shading. Shawn Hargreaves

Deferred Shading. Shawn Hargreaves Deferred Shading Shawn Hargreaves Overview Don t bother with any lighting while drawing scene geometry Render to a fat framebuffer format, using multiple rendertargets to store data such as the position

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

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

Advanced Rendering for Engineering & Styling

Advanced Rendering for Engineering & Styling Advanced Rendering for Engineering & Styling Prof. B.Brüderlin Brüderlin,, M Heyer 3Dinteractive GmbH & TU-Ilmenau, Germany SGI VizDays 2005, Rüsselsheim Demands in Engineering & Styling Engineering: :

More information

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system

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

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

Ray Tracing (Shading)

Ray Tracing (Shading) CS4620/5620: Lecture 35 Ray Tracing (Shading) 1 Announcements 4621 Class today Turn in HW3 PPA3 is going to be out today PA3A is out 2 Shading Compute light reflected toward camera Inputs: eye direction

More information

Rendering - the process of generating an image from a model

Rendering - the process of generating an image from a model Rende ering Kenda Albertson n, John Jackson, Katie Watson, Daniel McKee, Derek Bronish, Brett Kizer, Chris Domas RenderingInMaya Rendering - the process of generating an image from a model Topics of Discussion

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

Computer Graphics. Course Goal. Objectives. Overview. Textbook. These lectures cover Chapters 1-6in detail and survey Chapters 7-1

Computer Graphics. Course Goal. Objectives. Overview. Textbook. These lectures cover Chapters 1-6in detail and survey Chapters 7-1 Computer Graphics Course Goal Paul Farrell Professor of Computer Science, Kent State University Office 270 MSB. Tel 672-9060 farrell@cs.kent.edu. Office hours: 6:00-7:30 TH and by appointment. The goal

More information

Books. CS155b Computer Graphics. Homework. Additional References. Syllabus. Goals

Books. CS155b Computer Graphics. Homework. Additional References. Syllabus. Goals CS155b Computer Graphics Instructor: Giovanni Motta (gim@ieee.org) Volen, Room #255. Phone: x62718 Class: Mon. and Wed. from 5 to 6:30pm Abelson #131 Teaching Assistants: Anthony Bucci (abucci@cs) John

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 to Computer Graphics 8. Buffers and Mapping techniques (A)

Introduction to Computer Graphics 8. Buffers and Mapping techniques (A) Introduction to Computer Graphics 8. Buffers and Mapping techniques (A) National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice

More information

Real-time skin rendering on graphics hardware

Real-time skin rendering on graphics hardware Real-time skin rendering on graphics hardware Pedro V. Sander David Gosselin Jason L. Mitchell ATI Research Skin shading Most lighting comes from sub-surface scattering Traditional Lambertian lighting

More information

LIGHTING IN MAYA. Malory Spicer Naila Zaman Sankalp Sharma Steve Tatz

LIGHTING IN MAYA. Malory Spicer Naila Zaman Sankalp Sharma Steve Tatz LIGHTING IN MAYA Malory Spicer Naila Zaman Sankalp Sharma Steve Tatz OVERVIEW Six Types of Light Sources Attributes of Lights Shadows Shading Lighting Tips and Tricks LIGHT SOURCES SIX TYPES OF LIGHT SOURCES

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

Shader Programming: What s Next? Tim Foley

Shader Programming: What s Next? Tim Foley Shader Programming: What s Next? Tim Foley An interesting time in graphics programming Many platforms, and even more APIs Vulkan 1.0 released just weeks ago Still programming shaders like it s 2002 Author

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. Texture Mapping. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics. Texture Mapping. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Texture Mapping Matthias Teschner Computer Science Department University of Freiburg Motivation adding per-pixel surface details without raising the geometric complexity

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

GPU Architecture Overview. John Owens UC Davis

GPU Architecture Overview. John Owens UC Davis GPU Architecture Overview John Owens UC Davis The Right-Hand Turn [H&P Figure 1.1] Why? [Architecture Reasons] ILP increasingly difficult to extract from instruction stream Control hardware dominates µprocessors

More information

Programming Graphics Hardware. Randy Fernando, Cyril Zeller

Programming Graphics Hardware. Randy Fernando, Cyril Zeller Randy Fernando, Cyril Zeller Overview of the Tutorial 10:45 Introduction to the Hardware Graphics Pipeline Cyril Zeller 12:00 Lunch 14:00 High-Level Shading Languages Randy Fernando 15:15 break 15:45 GPU

More information

Polygon Rendering. Uses Phong Reflectance. Phong Rendering (Many slides adapted from Amitabh Varshney). Flat Rendering

Polygon Rendering. Uses Phong Reflectance. Phong Rendering (Many slides adapted from Amitabh Varshney). Flat Rendering Polygon Rendering Flat Rendering Goraud Rendering Uses Phong Reflectance Phong Rendering (Many slides adapted from Amitabh Varshney). Flat Rendering One normal per triangle Constant color per triangle

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

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

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

Guinness Noitulove. Lighting and Shading in OpenGL / Artistic Shading. Announcements

Guinness Noitulove. Lighting and Shading in OpenGL / Artistic Shading. Announcements Now Playing: Guinness Noitulove Danny Kleinman Framestore CFC SIGGRAPH 2006 Multiply Jamie Lidell from Multiply Released June 13, 2005 Available online: http://www.metacafe.com/watch/35459/guinness_evolution/

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

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

Illumination Models III: Polygon Shading

Illumination Models III: Polygon Shading Illumination Models III: Polygon Shading Shading algorithms apply lighting models to polygons, through interpolation from the vertices. OpenGL uses the present state to compute vertex colors, using the

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

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

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

3D Graphics for Embedded Systems

3D Graphics for Embedded Systems EuroGraphics Italian Chapter Catania, Feb 24 th 2006 3D Graphics for Embedded Systems From standards, through R&D to applicable innovations Massimiliano Barone Imaging, Rendering, Human Machine Interaction

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

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

OpenGL Shading Language Course. Chapter 4 Advanced Shaders. By Jacobo Rodriguez Villar

OpenGL Shading Language Course. Chapter 4 Advanced Shaders. By Jacobo Rodriguez Villar OpenGL Shading Language Course Chapter 4 Advanced Shaders By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com TyphoonLabs GLSL Course 1/25 Chapter 4: Advanced Shaders INDEX Introduction 2 Per Pixel

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

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

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

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011 Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis

More information

Image-based Lighting in Lightwave 3D

Image-based Lighting in Lightwave 3D Image-based Lighting in LightWave Page 1 of 4 Image-based Lighting in Lightwave 3D 2001 Lightwave 3D Background The Lightwave 3D renderer is one of the most widely used in Film and Broadcast production

More information

Procedurally Generating Everything

Procedurally Generating Everything The College of Wooster Libraries Open Works Senior Independent Study Theses 2012 Procedurally Generating Everything Micah Caunter The College of Wooster, mcaunter12@gmail.com Follow this and additional

More information

Real-time Digital Dome Rendering Techniques and Technologies

Real-time Digital Dome Rendering Techniques and Technologies Real-time Digital Dome Rendering Techniques and Technologies Robert Kooima, Doug Roberts, Mark SubbaRao June 2008, revised June 2009 Multi-projector digital dome systems are becoming commonplace, but real-time

More information

The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI.

The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI. The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI April 24, 2006 1 Games today Look stunning Feature detailed characters and complex

More information

Development of a 3-D Multiplayer Racing Game

Development of a 3-D Multiplayer Racing Game Development of a 3-D Multiplayer Racing Game JOGL, JOAL and Java.NIO for Game Development Evangelos Pournaras University of Surrey 1041 AGENDA 2 > JautOGL Racing Game > Supported Functions > Architecture

More information

The Comprehensive PBR Guide by Allegorithmic - vol. 1. Light and Matter : The theory of Physically-Based Rendering and Shading

The Comprehensive PBR Guide by Allegorithmic - vol. 1. Light and Matter : The theory of Physically-Based Rendering and Shading The Comprehensive PBR Guide by Allegorithmic - vol. 1 Light and Matter : The theory of Physically-Based Rendering and Shading Cover by Gaëtan Lassagne, written by Wes McDermott Table of Contents Light

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

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

3D Game Development Intro to Game

3D Game Development Intro to Game 3D Game Development Intro to Game Engines Jay Urbain, Ph.D. SE3250 OpenGL Programming Guide: http://www.glprogramming.com/red/ http://people.msoe.edu/~urbain/cs421/index.html http://jmonkeyengine.org Game

More information

Writing Applications for the GPU Using the RapidMind Development Platform

Writing Applications for the GPU Using the RapidMind Development Platform Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...

More information

Optimizing the Unreal Engine 4 Soul Demo for Galaxy Note 10.1

Optimizing the Unreal Engine 4 Soul Demo for Galaxy Note 10.1 Optimizing the Unreal Engine 4 Soul Demo for Galaxy Note 10.1 Jack Porter Engine Development and Support Lead Epic Games Korea Epic Games Founded 1991 by Tim Sweeney HQ in Cary, North Carolina Introduction

More information

Rally Sport Racing Game: CodeName Space Racer

Rally Sport Racing Game: CodeName Space Racer Rally Sport Racing Game: CodeName Space Racer - An evaluation of techniques used when developing a marketable 3D game Sebastian Almlöf (Chalmers) Ludvig Gjälby (Chalmers) Markus Pettersson (Chalmers) Gustav

More information

Chapter 2 GRAPHICAL PROCESSING UNITS. 2.1 Overview

Chapter 2 GRAPHICAL PROCESSING UNITS. 2.1 Overview Chapter 2 GRAPHICAL PROCESSING UNITS 2.1 Overview Knowledge of the operations supported by GPUs and how data is processed in GPUs is necessary in order to understand how GPUs can be leveraged for cryptographic

More information

Mapping and Rendering

Mapping and Rendering Mapping and Rendering When rendering models using software, certain elements can be applied to create a higher level of realism. Some of these are listed below; Bump map Texture map Displacement map Lighting

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

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

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

Performance Analysis and Optimization

Performance Analysis and Optimization Performance Analysis and Optimization ARM Mali GPU Performance Counters in ARM DS-5 Streamline Performance Analyzer Lorenzo Dal Col Senior Software Engineer, ARM 1 Agenda Introduction to ARM DS-5 and Streamline

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

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

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Version 1.1, January 2016 David J. Eck Hobart and William Smith Colleges This is a PDF version of a free, on-line book that is available at http://math.hws.edu/graphicsbook/.

More information

Shader Model 3.0, Best Practices. Phil Scott Technical Developer Relations, EMEA

Shader Model 3.0, Best Practices. Phil Scott Technical Developer Relations, EMEA Shader Model 3.0, Best Practices Phil Scott Technical Developer Relations, EMEA Overview Short Pipeline Overview CPU Bound new optimization opportunities Obscure bits of the pipeline that can trip you

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

TangiPaint: A Tangible Digital Painting System

TangiPaint: A Tangible Digital Painting System TangiPaint: A Tangible Digital Painting ystem Anthony M. Blatner, James A. Ferwerda, Benjamin A. Darling, Reynold J. Bailey; Rochester Institute of Technology, Rochester, NY 14623, UA Abstract TangiPaint

More information

Multiprocessor Graphic Rendering Kerey Howard

Multiprocessor Graphic Rendering Kerey Howard Multiprocessor Graphic Rendering Kerey Howard EEL 6897 Lecture Outline Real time Rendering Introduction Graphics API Pipeline Multiprocessing Parallel Processing Threading OpenGL with Java 2 Real time

More information

Welcome to the Curved World and thanks a lot for purchasing this package.

Welcome to the Curved World and thanks a lot for purchasing this package. Introduction Welcome to the Curved World and thanks a lot for purchasing this package. What is Curved World? Curved World is a per mesh screen space curvature shader. It is not image effect and does not

More information

Image Synthesis. Ambient Occlusion. computer graphics & visualization

Image Synthesis. Ambient Occlusion. computer graphics & visualization Image Synthesis Ambient Occlusion Ambient Occlusion (AO) Ambient Occlusion approximates the diffuse illumination of a surface based on its directly visible occluders Idea: Trace rays through the normal-oriented

More information

Lecture Notes, CEng 477

Lecture Notes, CEng 477 Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make

More information

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August

Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify

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

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

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Performance Optimization and Debug Tools for mobile games with PlayCanvas Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with

More information

L20: GPU Architecture and Models

L20: GPU Architecture and Models L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.

More information

Parallel Web Programming

Parallel Web Programming Parallel Web Programming Tobias Groß, Björn Meier Hardware/Software Co-Design, University of Erlangen-Nuremberg May 23, 2013 Outline WebGL OpenGL Rendering Pipeline Shader WebCL Motivation Development

More information

Pre-computing Lighting in Games. David Larsson Autodesk Inc.

Pre-computing Lighting in Games. David Larsson Autodesk Inc. Pre-computing Lighting in Games David Larsson Autodesk Inc. What is baked lighting? Precompute lighting information for static scenes and lights Typically baked to Vertices Textures Light probe points

More information

NVIDIA Advanced Rendering Solutions May 14, 2012

NVIDIA Advanced Rendering Solutions May 14, 2012 NVIDIA Advanced Rendering Solutions May 14, 2012 S0604 - NVIDIA Advanced Rendering Solutions The full range of advanced rendering solutions and frameworks from NVIDIA will be explored in this insightful

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

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 (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) What is Computer Graphics (CG)? Computer

More information