CGT520 Lighting. Lighting. T-vertices. Normal vector. Color of an object can be specified 1) Explicitly as a color buffer
|
|
- Edgar Morrison
- 6 years ago
- Views:
Transcription
1 CGT520 Lighting Lighting Color of an object can be specified 1) Explicitly as a color buffer Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics 2) Implicitly from the illumination model. Color is then a result of interaction of lights and material properties. T-vertices The T-vertex and lighting T-vertex causes illumination artifacts Normal vector Normal vectors are essential for correct lighting calculation They provide direction of the surface Used to calculate reflected rays It must be provided by the application It is usually bound to VBO Wikipedia
2 Normal vector Normal vectors provided by the application. Usually a part of the model Analytic surfaces: given by the partial derivation of the two main tangent directions Triangular meshes: can be approximated for Analytic Surfaces Having a surface The tangents in the principal directions are: The normal vector is Wikipedia for triangles Use local differences and the vector product C for triangular meshes Its is better, for smooth appearance, to calculate normals per vertex Corners are treated as 0 vectors A B
3 for triangular meshes a) normals per face b) normals per vertex (average of the a) ) for triangular meshes Another way Take the cross of the four neighbors and calculate its vector product denote distance in, between the points height of right, left, up, and down for triangular meshes After doing some simple calculations: Normal Vector Transformation Problem: must be normalized
4 Normal Vector Transformation Let transform an object to eye space Normal vectors must be transformed by: Where is transpose of the inverse of the upper matrix of also called contravariant tensor of rank 1 Normal Vector Transformation Normal vector represent a tangent plane or simply Normal Vector Transformation If we transform both is the standard vertex transformation is transform of the normal, but we need to multiply from the left is the normal transform Normal Vector Transformation GLM implementation //modeling transform for vertices glm::mat4 modelv; //modeling transform for normals glm::mat3 modeln=glm::mat3(modelv); modeln= glm::transpose(glm::inverse(modeln));
5 Normal Vector Normals are stored in the VBO Vertex Array can hold multiple data sets in multiple Vertex Buffer Objects During rendering, all that is enabled is sent to the GPU VBO for vertices and normals points=vertex.size();normals=normal.size(); //get the vertex array handle and bind it glgenvertexarrays(1,&vaid); glbindvertexarray(vaid); //generate the VBOs vertices and normals glgenbuffers(2, vbohandles); GLuint verticesid=vbohandles[0]; GLuint normalsid =vbohandles[1]; VBO for vertices and normals //send vertices glbindbuffer(gl_array_buffer, verticesid); glbufferdata(gl_array_buffer, points*sizeof(glfloat), &vertex[0],gl_static_draw); glvertexattribpointer((gluint)0, 3, GL_FLOAT,GL_FALSE,0,0); glenablevertexattribarray(0); VBO for vertices and normals //send normals glbindbuffer(gl_array_buffer, normalsid); glbufferdata(gl_array_buffer, normals*sizeof(glfloat), &normal[0],gl_static_draw); glvertexattribpointer((gluint)1, 3, GL_FLOAT,GL_FALSE,0,0); glenablevertexattribarray(1);
6 GLSL Layout Qualifiers Let s have following shaders Vertex Array VBO 0 pos VBO 1 norm layout=0 ipos layout=1 inorm vs light, material model,view,projection layout=0 fs GLSL Layout Qualifiers We know vertices are assigned to VBO 0 normals are assigned to VBO 1 This is recognized in the shader by layout (location=0) in vec4 ipos; layout (location=1) in vec3 inorm; GLSL Layout Qualifiers We can also specify the output layout (location=0) out vec4 ocolor; Summary GPU holds two VBOs: vertices and normals Vertex Shader receives them Vertex Shader sends color on its output This is then used in the fragment shader layout (location=0) in vec4 icolor; What should be the color of the vertex?
7 Phong Illumination Model Bui Tuong Phong (1973) University of Utah Empirical model of light reflection. Light is ambient diffuse specular Material as well Ambient Light is constant in the entire scene Rough approximation of multiple reflections and scattering (intensity of ambient) Light Sources Characterized by their diffuse and specular component Material Material is characterized by its ability to reflect: specular light diffuse light ambient light shinniness
8 More is needed Direction to the camera (viewer) Direction to the light The normal vector The vertex position The light position Ambient term Ambient light does not have a position, Ambient Light Ambient light is everywhere, does not have direction, does not change vs for ambient vec4 Ra=vec4(0.2,0.2,0.2,1); ambient is set fix to some gray value
9 Diffuse Reflection Depends on the position of the light source and the vertex is the dot product is the normalized direction to the light Diffuse Reflection Lambertian or matte reflection incoming light is spread into all directions with equal probability an example is a plastic material or chalk perfect diffuse surface (Lambertian surface) f r = d / d is the ratio of the reflected to the incident energy (0 d 1) and cosd Diffuse Reflection Diffuse Reflection Diffuse light depends on the direction of the light and the normal vector changes with the cosine of the angle
10 vs for Diffuse - function vec4 Diffuse(vec3 n, vec4 pos, vec4 lightpos, vec3 ld, vec3 kd) { vec3 l=normalize(vec3(lightpos-pos)); vec3 col=kd*ld*max(0,dot(n,l)); return vec4(col,1); } vs for Diffuse - call layout (location=0) in vec4 iposition; layout (location=1) in vec3 inormal; layout (location=0) out vec4 ocolor; uniform mat4 model; uniform mat3 modelviewn; uniform mat4 view; uniform mat4 proj; vs for Diffuse - call void main() { //n to camera coords vec3 normal=normalize(modelviewn*inormal); //v to camera coordinates vec4 vert=view*model*iposition; ocolor=diffuse(normal,vert, lightpos,ld,kd); gl_position=proj*vert; } Specular Reflection Depends on the v, and the eye position v is vector to the viewer, is the reflected ray direction, and is the shininess coefficient is vector pointing to the light, is the normal vector to the surface
11 Specular Reflection Specular (glossy) reflection ~ acts as a ray of light ~ idealized specular surface is mirror Specular Reflection ~ Perfect specular surface (mirror) d ( m ) / cos s s is the ratio of the reflected to the incident energy (0 s 1) the Dirac pulse is 1 ( m) { 0 1 m otherwise Specular Reflection Specular light depends on the direction of the light, the normal vector, and the position of the viewer The shininess coefficient
12 Diffuse and Specular Combined Material definition Material GL AMBIENT GL DIFFUSE GL SPECULAR GL SHININESS Brass Bronze Polished Bronze Chrome Material definition Material GL AMBIENT GL DIFFUSE GL SPECULAR GL SHININESS Copper Polished Copper Gold Polished Gold Pewter vs for Specular and Diffuse layout (location=0) in vec4 iposition; layout (location=1) in vec3 inormal; layout (location=0) out vec4 ocolor; uniform mat4 model; uniform mat3 modelviewn; uniform mat4 view; uniform mat4 proj; uniform LightS light; uniform MaterialS mat;
13 vs for Specular and Diffuse struct LightS{ vec4 lpos; //position of the light vec3 la; //ambient, diffuse, specular vec3 ld; vec3 ls; }; struct MaterialS{ vec3 ka; vec3 kd; vec3 ks; float sh; }; vs for Specular - body void main() { //n to camera coords vec3 ncam=normalize(modelviewn*inormal); //v to camera coordinates vec4 vcam=view*model*iposition; ocolor=lighting(ncam,vcam,light,mat) gl_position=proj*vcam; } vs for Specular - function vec4 Lighting(vec3 n, vec4 pos, LightS light, MaterialS mat){ vec3 l=normalize(vec3(light.lpos-pos)); vec3 v=normalize(-pos.xyz); vec3 r=reflect(-l, n); float sdot=max(dot(l,n),0.0); vec3 diffuse=light.ld*mat.kd*sdot; vec3 specular=vec3(0.0); if (sdot>0)//just the front faces specular=light.ls*mat.ks* pow(max(dot(r,v),0.0),mat.sh); return vec4(diffuse+specular,1); Blinn-Phong Specular Term depends on is so called bisector, is the shininess coefficient No reflected vector is needed, so it is slightly faster But also a bit different V N H L }
14 Multiple Light Sources Reflected light is global ambient term plus sum of the diffuse and specular contributions of all lights Per Vertex Lighting Illumination is calculated per vertex constant interpolated high tessellation The result is clamped to [0,1] It means, if the reflection is 1 another light does not increase it! Per??? Lighting Color interpolation is also called Gouraud shading [guroood] Per fragment lighting Phong shading If we would interpolate the normal in the fragment shader and calculate the illumination per fragment, we would have Phong shading [fong] Wikipedia
15 Side note Phong shading means normal interpolation and then calculation illumination Phong lighting means using the illumination model (ADS ambient, diffuse, specular) Per Fragment Lighting the lighting function is the same the difference is that we calculate it per fragment rather than per vertex how? we need to interpolate the normal vector it is a collaboration of vs and fs Comparison Normal Interpolation per vertex 15x15 per fragment 5x5 VS will send vertex and normal coordinates in the camera space GPU will interpolate them FS will calculate the illumination important thing! the normal vector must be renormalized! because result of an interpolation is not (in general) normalized
16 vs and fs communication Compare to per vertex Vertex Array VBO 0 pos VBO 1 norm layout=0 ipos layout=1 inorm vs model,view,projection layout=0 iposcamera layout=1 inormcamera light, material fs Vertex Array VBO 0 pos VBO 1 norm layout=0 ipos layout=1 inorm vs light, material model,view,projection layout=0 fs the vs for per fragment lighting layout (location=0) in vec4 iposition; layout (location=1) in vec3 inormal; layout (location=0) out vec4 oposcam; layout (location=1) out vec3 onormalcam; uniform mat4 model; uniform mat3 modelviewn; uniform mat4 view; uniform mat4 proj; the vs for per fragment lighting void main() { //n to camera coords onormalcam=normalize(modelviewn*inormal); //v to camera coords oposcam=view*model*iposition; //standard vertex out gl_position = proj*oposcam; }
17 the fp for per fragment lighting layout (location=0) in vec4 iposcamera; layout (location=1) in vec3 inormcamera; layout (location=0) out vec4 ocolor; uniform MaterialS mat; uniform LightS light; Compare void main() { ocolor=lighting(normalize(inormcamera), iposcamera,light,mat); } //the Lighting function is the same per fragment per vertex Reading GLSL Specification ngspec clean.pdf Reading Edward Engel Interactive Computer Graphics: A Top-Down Approach with Shader-Based OpenGL (6th Edition) Chapters 3 and 4 OpenGL Mathematics (GLM) David Wolff, OpenGL 4.0 Shading Language Cookbook, PACKT Publishing 2011
C O M P U T E R G R A P H I C S. Computer Graphics. Three-Dimensional Graphics V. Guoying Zhao 1 / 65
Computer Graphics Three-Dimensional Graphics V Guoying Zhao 1 / 65 Shading Guoying Zhao 2 / 65 Objectives Learn to shade objects so their images appear three-dimensional Introduce the types of light-material
More informationIllumination Models & Shading
Illumination Models & Shading Lighting vs. Shading Lighting Interaction between materials and light sources Physics Shading Determining the color of a pixel Computer Graphics ZBuffer(Scene) PutColor(x,y,Col(P));
More information-=Bui Tuong Phong's Lighting=- University of Utah, but with shaders. Anton Gerdelan Trinity College Dublin
-=Bui Tuong Phong's Lighting=- University of Utah, 1973 but with shaders Anton Gerdelan Trinity College Dublin Before we do anything - normals Q. What does a normal do? Q. How do we usually calculate them?
More informationCS5620 Intro to Computer Graphics
So Far wireframe hidden surfaces Next step 1 2 Light! Need to understand: How lighting works Types of lights Types of surfaces How shading works Shading algorithms What s Missing? Lighting vs. Shading
More informationOpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.
OpenGl Pipeline Individual Vertices Transformed Vertices Commands Processor Per-vertex ops Primitive assembly triangles, lines, points, images Primitives Fragments Rasterization Texturing Per-fragment
More informationECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014
ECS 175 COMPUTER GRAPHICS Ken Joy Winter 2014 Shading To be able to model shading, we simplify Uniform Media no scattering of light Opaque Objects No Interreflection Point Light Sources RGB Color (eliminating
More informationOpenGL Lighting Computer Graphics Spring Frank Palermo
OpenGL Lighting 15-462 Computer Graphics Spring 2009 Frank Palermo OpenGL is just a bunch of hacks. -Adrien Treuille What Adrien Means... What Adrien means is that OpenGL was designed to produce reasonable-looking
More informationIllumination and Shading
CT4510: Computer Graphics Illumination and Shading BOCHANG MOON Photorealism The ultimate goal of rendering is to produce photo realistic images. i.e., rendered images should be indistinguishable from
More informationCGT520 Transformations
CGT520 Transformations Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics GLM A concise library for transforms and OpenGL mathematics All overloaded, predefined, optimized glm (OpenGL
More informationLessons Learned from HW4. Shading. Objectives. Why we need shading. Shading. Scattering
Lessons Learned from HW Shading CS Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Only have an idle() function if something is animated Set idle function to NULL, when
More informationLecture 17: Shading in OpenGL. CITS3003 Graphics & Animation
Lecture 17: Shading in OpenGL CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Introduce the OpenGL shading methods - per vertex shading
More informationToday. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models
Computergrafik Thomas Buchberger, Matthias Zwicker Universität Bern Herbst 2008 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation
More informationObjectives. Introduce Phong model Introduce modified Phong model Consider computation of required vectors Discuss polygonal shading.
Shading II 1 Objectives Introduce Phong model Introduce modified Phong model Consider computation of required vectors Discuss polygonal shading Flat Smooth Gouraud 2 Phong Lighting Model A simple model
More informationCSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016
CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Thursday in class: midterm #1 Closed book Material
More informationObjectives Shading in OpenGL. Front and Back Faces. OpenGL shading. Introduce the OpenGL shading methods. Discuss polygonal shading
Objectives Shading in OpenGL Introduce the OpenGL shading methods - per vertex shading vs per fragment shading - Where to carry out Discuss polygonal shading - Flat - Smooth - Gouraud CITS3003 Graphics
More informationLighting and Shading II. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Lighting and Shading II 1 Objectives Continue discussion of shading Introduce modified Phong model Consider computation of required vectors 2 Ambient Light Ambient light is the result of multiple interactions
More informationCSE 167: Lecture #7: Color and Shading. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011
CSE 167: Introduction to Computer Graphics Lecture #7: Color and Shading Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #3 due this Friday,
More informationPipeline Operations. CS 4620 Lecture 14
Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives
More informationToday. Global illumination. Shading. Interactive applications. Rendering pipeline. Computergrafik. Shading Introduction Local shading models
Computergrafik Matthias Zwicker Universität Bern Herbst 2009 Today Introduction Local shading models Light sources strategies Compute interaction of light with surfaces Requires simulation of physics Global
More informationTSBK 07! Computer Graphics! Ingemar Ragnemalm, ISY
1(84) Information Coding / Computer Graphics, ISY, LiTH TSBK 07 Computer Graphics Ingemar Ragnemalm, ISY 1(84) Lecture 5 3D graphics part 3 Illumination Illumination applied: Shading Surface detail: Mappings
More informationReading. Shading. An abundance of photons. Introduction. Required: Angel , 6.5, Optional: Angel 6.4 OpenGL red book, chapter 5.
Reading Required: Angel 6.1-6.3, 6.5, 6.7-6.8 Optional: Shading Angel 6.4 OpenGL red book, chapter 5. 1 2 Introduction An abundance of photons So far, we ve talked exclusively about geometry. Properly
More informationComp 410/510 Computer Graphics. Spring Shading
Comp 410/510 Computer Graphics Spring 2017 Shading Why we need shading Suppose we build a model of a sphere using many polygons and then color it using a fixed color. We get something like But we rather
More informationw Foley, Section16.1 Reading
Shading w Foley, Section16.1 Reading Introduction So far, we ve talked exclusively about geometry. w What is the shape of an object? w How do I place it in a virtual 3D space? w How do I know which pixels
More informationIllumination & Shading: Part 1
Illumination & Shading: Part 1 Light Sources Empirical Illumination Shading Local vs Global Illumination Lecture 10 Comp 236 Spring 2005 Computer Graphics Jargon: Illumination Models Illumination - the
More informationOverview. Shading. Shading. Why we need shading. Shading Light-material interactions Phong model Shading polygons Shading in OpenGL
Overview Shading Shading Light-material interactions Phong model Shading polygons Shading in OpenGL Why we need shading Suppose we build a model of a sphere using many polygons and color it with glcolor.
More informationCS 418: Interactive Computer Graphics. Basic Shading in WebGL. Eric Shaffer
CS 48: Interactive Computer Graphics Basic Shading in WebGL Eric Shaffer Some slides adapted from Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 205 Phong Reflectance Model Blinn-Phong
More informationPipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11
Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION
More informationComputer Graphics. Illumination and Shading
() Illumination and Shading Dr. Ayman Eldeib Lighting So given a 3-D triangle and a 3-D viewpoint, we can set the right pixels But what color should those pixels be? If we re attempting to create a realistic
More informationCS 4600 Fall Utah School of Computing
Lighting CS 4600 Fall 2015 Utah School of Computing Objectives Learn to shade objects so their images appear three-dimensional Introduce the types of light-material interactions Build a simple reflection
More informationShading 1: basics Christian Miller CS Fall 2011
Shading 1: basics Christian Miller CS 354 - Fall 2011 Picking colors Shading is finding the right color for a pixel This color depends on several factors: The material of the surface itself The color and
More informationCPSC 314 LIGHTING AND SHADING
CPSC 314 LIGHTING AND SHADING UGRAD.CS.UBC.CA/~CS314 slide credits: Mikhail Bessmeltsev et al 1 THE RENDERING PIPELINE Vertices and attributes Vertex Shader Modelview transform Per-vertex attributes Vertex
More informationShading I Computer Graphics I, Fall 2008
Shading I 1 Objectives Learn to shade objects ==> images appear threedimensional Introduce types of light-material interactions Build simple reflection model Phong model Can be used with real time graphics
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline Computer Graphics and Imaging UC Berkeley CS184/284A, Spring 2016 What We ve Covered So Far z x y z x y (0, 0) (w, h) Position objects and the camera in the world
More informationThree-Dimensional Graphics V. Guoying Zhao 1 / 55
Computer Graphics Three-Dimensional Graphics V Guoying Zhao 1 / 55 Shading Guoying Zhao 2 / 55 Objectives Learn to shade objects so their images appear three-dimensional Introduce the types of light-material
More informationLecture 15: Shading-I. CITS3003 Graphics & Animation
Lecture 15: Shading-I CITS3003 Graphics & Animation E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Objectives Learn that with appropriate shading so objects appear as threedimensional
More informationCS130 : Computer Graphics Lecture 8: Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside
CS130 : Computer Graphics Lecture 8: Lighting and Shading Tamar Shinar Computer Science & Engineering UC Riverside Why we need shading Suppose we build a model of a sphere using many polygons and color
More informationCMSC427 Shading Intro. Credit: slides from Dr. Zwicker
CMSC427 Shading Intro Credit: slides from Dr. Zwicker 2 Today Shading Introduction Radiometry & BRDFs Local shading models Light sources Shading strategies Shading Compute interaction of light with surfaces
More informationShading. Brian Curless CSE 457 Spring 2017
Shading Brian Curless CSE 457 Spring 2017 1 Reading Optional: Angel and Shreiner: chapter 5. Marschner and Shirley: chapter 10, chapter 17. Further reading: OpenGL red book, chapter 5. 2 Basic 3D graphics
More informationComputer Graphics with OpenGL ES (J. Han) Chapter 6 Fragment shader
Computer Graphics with OpenGL ES (J. Han) Chapter 6 Fragment shader Vertex and Fragment Shaders The inputs to the fragment shader Varyings: The per-vertex output variables produced by the vertex shader
More informationComputer Graphics (CS 543) Lecture 8a: Per-Vertex lighting, Shading and Per-Fragment lighting
Computer Graphics (CS 543) Lecture 8a: Per-Vertex lighting, Shading and Per-Fragment lighting Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Computation of Vectors To calculate
More informationIllumination & Shading
Illumination & Shading Goals Introduce the types of light-material interactions Build a simple reflection model---the Phong model--- that can be used with real time graphics hardware Why we need Illumination
More informationCSE 167: Lecture #8: GLSL. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012
CSE 167: Introduction to Computer Graphics Lecture #8: GLSL Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Announcements Homework project #4 due Friday, November 2 nd Introduction:
More informationObjectives. Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out
Objectives Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out 1 Steps in OpenGL shading Enable shading and select
More informationCS452/552; EE465/505. Lighting & Shading
CS452/552; EE465/505 Lighting & Shading 2-17 15 Outline! More on Lighting and Shading Read: Angel Chapter 6 Lab2: due tonight use ASDW to move a 2D shape around; 1 to center Local Illumination! Approximate
More informationWHY WE NEED SHADING. Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something like.
LIGHTING 1 OUTLINE Learn to light/shade objects so their images appear three-dimensional Introduce the types of light-material interactions Build a simple reflection model---the Phong model--- that can
More informationShading and Illumination
Shading and Illumination OpenGL Shading Without Shading With Shading Physics Bidirectional Reflectance Distribution Function (BRDF) f r (ω i,ω ) = dl(ω ) L(ω i )cosθ i dω i = dl(ω ) L(ω i )( ω i n)dω
More informationCS452/552; EE465/505. Intro to Lighting
CS452/552; EE465/505 Intro to Lighting 2-10 15 Outline! Projection Normalization! Introduction to Lighting (and Shading) Read: Angel Chapter 5., sections 5.4-5.7 Parallel Projections Chapter 6, sections
More informationOrthogonal Projection Matrices. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Orthogonal Projection Matrices 1 Objectives Derive the projection matrices used for standard orthogonal projections Introduce oblique projections Introduce projection normalization 2 Normalization Rather
More informationComputer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model
Computer Graphics (CS 543) Lecture 7b: Intro to lighting, Shading and Materials + Phong Lighting Model Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Why do we need Lighting
More informationReading. Shading. Introduction. An abundance of photons. Required: Angel , Optional: OpenGL red book, chapter 5.
Reading Required: Angel 6.1-6.5, 6.7-6.8 Optional: Shading OpenGL red book, chapter 5. 1 2 Introduction So far, we ve talked exclusively about geometry. What is the shape of an obect? How do I place it
More informationComputer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1)
Computer Graphics (CS 4731) Lecture 16: Lighting, Shading and Materials (Part 1) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Why do we need Lighting & shading? Sphere
More informationComputer Graphics Coursework 1
Computer Graphics Coursework 1 Deadline Deadline: 4pm, 24/10/2016 4pm 23/10/2015 Outline The aim of the coursework is to modify the vertex and fragment shaders in the provided OpenGL framework to implement
More informationPhong Lighting & Materials. Some slides modified from: David Kabala Others from: Andries Van Damm, Brown Univ.
Phong Lighting & Materials Some slides modified from: David Kabala Others from: Andries Van Damm, Brown Univ. Lighting and Shading Lighting, or illumination, is the process of computing the intensity and
More informationEDAF80 Introduction to Computer Graphics. Seminar 3. Shaders. Michael Doggett. Slides by Carl Johan Gribel,
EDAF80 Introduction to Computer Graphics Seminar 3 Shaders Michael Doggett 2017 Slides by Carl Johan Gribel, 2010-13 Today OpenGL Shader Language (GLSL) Shading theory Assignment 3: (you guessed it) writing
More informationLighting and Shading
Lighting and Shading Today: Local Illumination Solving the rendering equation is too expensive First do local illumination Then hack in reflections and shadows Local Shading: Notation light intensity in,
More informationIllumination and Shading
Illumination and Shading Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/14/07 1 From last time Texture mapping overview notation wrapping Perspective-correct interpolation Texture
More informationColor and Light CSCI 4229/5229 Computer Graphics Fall 2016
Color and Light CSCI 4229/5229 Computer Graphics Fall 2016 Solar Spectrum Human Trichromatic Color Perception Color Blindness Present to some degree in 8% of males and about 0.5% of females due to mutation
More informationShading. Brian Curless CSE 457 Spring 2015
Shading Brian Curless CSE 457 Spring 2015 1 Reading Required: Angel chapter 5. Optional: OpenGL red book, chapter 5. 2 Basic 3D graphics With affine matrices, we can now transform virtual 3D objects in
More informationShading. Why we need shading. Scattering. Shading. Objectives
Shading Why we need shading Objectives Learn to shade objects so their images appear three-dimensional Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something
More informationShading. CSE 457 Winter 2015
Shading CSE 457 Winter 2015 Reading Required: Angel chapter 5. Optional: OpenGL red book, chapter 5. 2 Basic 3D graphics With affine matrices, we can now transform virtual 3D objects in their local coordinate
More informationWhy we need shading?
Why we need shading? Suppose we build a model of a sphere using many polygons and color it with glcolor. We get something like But we want Light-material interactions cause each point to have a different
More informationCS230 : Computer Graphics Lighting and Shading. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lighting and Shading Tamar Shinar Computer Science & Engineering UC Riverside General light source Illumination function: [Angel and Shreiner] integrate contributions from all
More informationVirtual Reality for Human Computer Interaction
Virtual Reality for Human Computer Interaction Appearance: Lighting Representation of Light and Color Do we need to represent all I! to represent a color C(I)? No we can approximate using a three-color
More informationIllumination and Shading with GLSL/WebGL
Illumination and Shading with GLSL/WebGL Illumination with Shaders! Remember the local illumination model (Phong illumination) Illumination = ambient + diffuse + specular = Ka x Ia + Kd x Id x (N.L) +
More informationHomework 3: Programmable Shaders
Homework 3: Programmable Shaders Introduction to Computer Graphics and Imaging (Summer 2012), Stanford University Due Monday, July 23, 11:59pm Warning: The coding portion of this homework involves features
More informationIllumination in Computer Graphics
Illumination in Computer Graphics Ann McNamara Illumination in Computer Graphics Definition of light sources. Analysis of interaction between light and objects in a scene. Rendering images that are faithful
More informationIntroduction to Computer Graphics 7. Shading
Introduction to Computer Graphics 7. Shading National Chiao Tung Univ, Taiwan By: I-Chen Lin, Assistant Professor Textbook: Hearn and Baker, Computer Graphics, 3rd Ed., Prentice Hall Ref: E.Angel, Interactive
More informationIllumination & Shading
Illumination & Shading Light Sources Empirical Illumination Shading Lecture 15 CISC440/640 Spring 2015 Illumination Models Computer Graphics Jargon: Illumination - the transport luminous flux from light
More informationInteractive Real-Time Raycasting
Interactive Real-Time Raycasting CS184 AS4 Due 2009-02-26 11:00pm We start our exploration of Rendering - the process of converting a high-level object-based description into a graphical image for display.
More informationIllumination & Shading I
CS 543: Computer Graphics Illumination & Shading I Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu
More informationINFOGR Computer Graphics
INFOGR Computer Graphics Jacco Bikker & Debabrata Panja - April-July 2017 Lecture 10: Shaders Welcome! INFOGR2016/17 Today s Agenda: Recap: Diffuse Materials The Phong Shading Model Environment
More informationCSE 167: Introduction to Computer Graphics Lecture #6: Colors. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013
CSE 167: Introduction to Computer Graphics Lecture #6: Colors Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework project #3 due this Friday, October 18
More informationCS 432 Interactive Computer Graphics
CS 432 Interactive Computer Graphics Lecture 6 Part 2 Lighting and Shading in OpenGL Matt Burlick - Drexel University - CS 430 1 OpenGL Shading Need Vertex Normals Material properties Lights Position of
More informationIllumination and Shading
Illumination and Shading Illumination (Lighting)! Model the interaction of light with surface points to determine their final color and brightness! The illumination can be computed either at vertices or
More informationTopic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source
Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport
More informationComputer Graphics. Shading. Based on slides by Dianna Xu, Bryn Mawr College
Computer Graphics Shading Based on slides by Dianna Xu, Bryn Mawr College Image Synthesis and Shading Perception of 3D Objects Displays almost always 2 dimensional. Depth cues needed to restore the third
More informationLight Sources. Spotlight model
lecture 12 Light Sources sunlight (parallel) Sunny day model : "point source at infinity" - lighting - materials: diffuse, specular, ambient spotlight - shading: Flat vs. Gouraud vs Phong light bulb ambient
More informationLighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch
15-462 Computer Graphics I Lecture 7 Lighting and Shading February 12, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/ Light Sources Phong Illumination Model
More informationLights and Lighting. Lecture overview. Light 2/3/2013. Digital Lighting and Rendering CGT 340
Lights and Lighting Digital Lighting and Rendering CGT 340 Lighting is 5% of light setup and 95% of revisions and adjustments. Jeremy Birn Lecture overview What is light? Spectrum Typical cases Metamers
More informationGLSL Introduction. Fu-Chung Huang. Thanks for materials from many other people
GLSL Introduction Fu-Chung Huang Thanks for materials from many other people Programmable Shaders //per vertex inputs from main attribute aposition; attribute anormal; //outputs to frag. program varying
More informationAdvanced Lighting Techniques Due: Monday November 2 at 10pm
CMSC 23700 Autumn 2015 Introduction to Computer Graphics Project 3 October 20, 2015 Advanced Lighting Techniques Due: Monday November 2 at 10pm 1 Introduction This assignment is the third and final part
More informationTopic 9: Lighting & Reflection models. Lighting & reflection The Phong reflection model diffuse component ambient component specular component
Topic 9: Lighting & Reflection models Lighting & reflection The Phong reflection model diffuse component ambient component specular component Spot the differences Terminology Illumination The transport
More informationShading. Brian Curless CSE 557 Autumn 2017
Shading Brian Curless CSE 557 Autumn 2017 1 Reading Optional: Angel and Shreiner: chapter 5. Marschner and Shirley: chapter 10, chapter 17. Further reading: OpenGL red book, chapter 5. 2 Basic 3D graphics
More informationComputer Graphics (CS 4731) Lecture 18: Lighting, Shading and Materials (Part 3)
Computer Graphics (CS 4731) Lecture 18: Lighting, Shading and Materials (Part 3) Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Recall: Flat Shading compute lighting once
More informationINFOGR Computer Graphics
INFOGR Computer Graphics Jacco Bikker & Debabrata Panja - April-July 2018 Lecture 10: Shaders Welcome! Ƹ Ƹ Ƹ x M final = T totorso R T down R = x y z 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Operations: 1. Translate
More informationSung-Eui Yoon ( 윤성의 )
CS380: Computer Graphics Illumination and Shading Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/cg/ Course Objectives (Ch. 10) Know how to consider lights during rendering models
More informationLab 9 - Metal and Glass
Lab 9 - Metal and Glass Let the form of an object be what it may, light, shade, and perspective will always make it beautiful. -John Constable Prologue Support code: /course/cs1230/src/labs/lab09 This
More informationReflection and Shading
Reflection and Shading R. J. Renka Department of Computer Science & Engineering University of North Texas 10/19/2015 Light Sources Realistic rendering requires that we model the interaction between light
More informationShading II. CITS3003 Graphics & Animation
Shading II CITS3003 Graphics & Animation Objectives Introduce distance terms to the shading model. More details about the Phong model (lightmaterial interaction). Introduce the Blinn lighting model (also
More informationRecollection. Models Pixels. Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows
Recollection Models Pixels Model transformation Viewport transformation Clipping Rasterization Texturing + Lights & shadows Can be computed in different stages 1 So far we came to Geometry model 3 Surface
More informationIllumination. Michael Kazhdan ( /657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2
Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Ray Casting Image RayCast(Camera camera, Scene scene, int width, int height) { Image image = new Image(width, height); for
More informationIntroduction to Computer Graphics. Farhana Bandukwala, PhD Lecture 14: Light Interacting with Surfaces
Introduction to Computer Graphics Farhana Bandukwala, PhD Lecture 14: Light Interacting with Surfaces Outline Computational tools Reflection models Polygon shading Computation tools Surface normals Vector
More informationCOMP371 COMPUTER GRAPHICS
COMP371 COMPUTER GRAPHICS SESSION 12 PROGRAMMABLE SHADERS Announcement Programming Assignment #2 deadline next week: Session #7 Review of project proposals 2 Lecture Overview GPU programming 3 GPU Pipeline
More informationGame Graphics & Real-time Rendering
Game Graphics & Real-time Rendering CMPM 163, W2018 Prof. Angus Forbes (instructor) angus@ucsc.edu Lucas Ferreira (TA) lferreira@ucsc.edu creativecoding.soe.ucsc.edu/courses/cmpm163 github.com/creativecodinglab
More informationHomework #2. Shading, Ray Tracing, and Texture Mapping
Computer Graphics Prof. Brian Curless CSE 457 Spring 2000 Homework #2 Shading, Ray Tracing, and Texture Mapping Prepared by: Doug Johnson, Maya Widyasari, and Brian Curless Assigned: Monday, May 8, 2000
More informationUniversity of British Columbia CPSC 314 Computer Graphics Sep-Dec Tamara Munzner (guest lecturing) Lighting/Shading
University of British Columbia CPSC 314 Computer Graphics Sep-Dec 2010 Tamara Munzner (guest lecturing) Lighting/Shading Lighting 2 Rendering Pipeline Geometry Database Model/View Transform. Lighting Perspective
More informationFrom Graphics to Visualization
From Graphics to Visualization Introduction Light Sources Surface Lighting Effects Basic (Local ) Illumination Models Polgon-Rendering Methods Texture Mapping Transparenc and Blending Visualization Pipeline
More information1.6 Rough Surface Scattering Applications Computer Graphic Shading and Rendering
20 Durgin ECE 3065 Notes Rough Surface Scattering Chapter 1 1.6 Rough Surface Scattering Applications 1.6.1 Computer Graphic Shading and Rendering At optical frequencies, nearly every object in our everyday
More informationShading Models. Simulate physical phenomena
Illumination Models & Shading Shading Models Simulate hysical henomena Real illumination simulation is comlicated & exensive Use aroximation and heuristics with little hysical basis that looks surrisingly
More informationComputer Graphics. Illumination and Shading
Rendering Pipeline modelling of geometry transformation into world coordinates placement of cameras and light sources transformation into camera coordinates backface culling projection clipping w.r.t.
More information