CSCI E-74. Simulation and Gaming

Size: px
Start display at page:

Download "CSCI E-74. Simulation and Gaming"

Transcription

1 CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming Fall term 2017 Gianluca De Novi, PhD Lesson 5 Basic Lighting and Materials

2 Data Structures in a 3D Engine Vertices/Vectors Segments Matrices Polygons Surfaces Materials Objects (Generic) Super categories of Objects Lights Camera Motion Data Lattices Skeletons Textures Particles CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 2

3 Data Structure TEngineVR TScene TObject TObject TObject Vectors Vertices Segments Vectors Vertices Segments Vectors Vertices Segments Materials Materials Materials Cameras Motion Data Lights CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 3

4 Data Hierarchy Object Surfaces Polygons Vectors Vertices Segments Character : Object Surfaces Polygons Vectors Vertices Segments Skeleton Motion Data Materials CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 4

5 OpenGL Lighting Enable the OpenGL Lighting void glenable(gl_lighting); Enables the light number i void glenable(gl_lighti); CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 5

6 OpenGL Lighting gllightfv(gl_light0+lindex,gl_ambient, Ambient); gllightfv(gl_light0+lindex,gl_diffuse, Diffuse); gllightfv(gl_light0+lindex,gl_specular,specular); //Ambient Light //Diffuse Light //Specular Diffuse Specular Ambient CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 6

7 OpenGL Lighting gllightfv(gl_light0+lindex,gl_position, Position); //position of the light gllightfv(gl_light0+lindex,gl_spot_direction, Direction); //direction of the center of the light projection gllightfv(gl_light0+lindex,gl_spot_cutoff,&cutoff); // cone cutoff angle gllightfv(gl_light0+lindex,gl_spot_exponent,&exponent); // spot profile gllightfv(gl_light0+lindex,gl_constant_attenuation,&constantattenuation); // constant attenuation factor gllightfv(gl_light0+lindex,gl_linear_attenuation,&linearattenuation); // linear attenuation factor gllightfv(gl_light0+lindex,gl_quadratic_attenuation,&quadraticattenuation); // quadratic attenuation factor CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 7

8 OpenGL Lighting Enable the OpenGL Lighting void TLight::EnableLight(int enable) if(enable) glenable(gl_light0+index); else gldisable(gl_light0+index); Class TLight int Index; float Ambient[4]; float Diffuse[4]; float Specular[4]; float Position[3]; float Direction[3]; float Specular[4]; float Cutoff); float SpotProfile; float ConstantAttenuation; float LinearAttenuation; float QuadraticAttenuation; TMatrix4x4 T; //Model View Matrix void EnableLight(int enable); void SetAmbientColor(float r, float g, float b, float a); void BuildMatrix(); ; void TLight::SetAmbientColor(float r, float g, float b, float a) Ambient[0]=r; Ambient[1]=g; Ambient[2]=b; Ambient[3]=a; gllightfv(gl_light0+lindex,gl_ambient, Ambient); void Tlight::BuildMatrix() glmatrixmode(gl_modelview); glloadidentity(); gltranslatef(position[0],position[1],position[2]); gllightfv(gl_light0+lightid,gl_position,l->position); gllightfv(gl_light0+lightid,gl_spot_direction,l->direction); glgetfloatv( GL_MODELVIEW_MATRIX, TR); CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 8

9 Flat Shading void glshademodel(gl_flat); L( l n) = ( l n) if l n 0 0 l n CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 9

10 Flat Shading glbegin(gl_triangles); glnormal3f(p[i].n.x, p[i].n.y, p[i].n.z); glvertex3f(vlist[p[i].v1].x, Vlist[p[i].v1].y, Vlist[p[i].v1].z); glvertex3f(vlist[p[i].v2].x, Vlist[p[i].v2].y, Vlist[p[i].v2].z); glvertex3f(vlist[p[i].v3].x, Vlist[p[i].v3].y, Vlist[p[i].v3].z); glend(); CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 10

11 Smooth Shading void glshademodel(gl_smooth); L( l n) = ( l n) if l n 0 0 n n v v = n 1 + n 2 n 1 n 2 l n Normals interpolation CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 11

12 Smooth Shading glbegin(gl_triangles); glnormal3f(nlist[p[i].v1].x, Nlist[p[i].v1].y, Nlist[p[i].v1].z); glvertex3f(vlist[p[i].v1].x, Vlist[p[i].v1].y, Vlist[p[i].v1].z); glnormal3f(nlist[p[i].v2].x, Nlist[p[i].v2].y, Nlist[p[i].v2].z); glvertex3f(vlist[p[i].v2].x, Vlist[p[i].v2].y, Vlist[p[i].v2].z); glnormal3f(nlist[p[i].v3].x, Nlist[p[i].v3].y, Nlist[p[i].v3].z); glvertex3f(vlist[p[i].v3].x, Vlist[p[i].v3].y, Vlist[p[i].v3].z); glend(); CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 12

13 OpenGL Materials class TMaterial float Ambient [4]; float Specular[4]; float Diffuse [4]; float Emissive[4]; float Color [4]; float Shinines; short Smoothing; short Visible; short Doublesided; short Wireframe; short Visible; void LoadDefaultMaterial(); void LoadMaterial(); ; void TMaterial::LoadDefaultMaterial() Ambient [0]=0.0f; Ambient [1]=0.0f; Ambient [2]=0.0f; Ambient [3]=1.0f; Diffuse [0]=0.0f; Diffuse [1]=0.0f; Diffuse [2]=0.0f; Diffuse [3]=1.0f; Specular[0]=0.0f; Specular[1]=0.0f; Specular[2]=0.0f; Specular[3]=1.0f; Emissive[0]=0.0f; Emissive[1]=0.0f; Emissive[2]=0.0f; Emissive[3]=1.0f; Color[0]=0.0f; Color[0]=0.0f; Color[0]=0.0f; Color[0]=1.0f; Smoothing = 0; Visible = 1; Doublesided = 0; Wireframe = 0; Visible = 1; void TMaterial::LoadMaterial() glmaterialfv(gl_front_and_back,gl_ambient,ambient); glmaterialfv(gl_front_and_back,gl_diffuse,diffuse); glmaterialfv(gl_front_and_back,gl_specular,specular); glmaterialfv(gl_front_and_back,gl_emission,emissive); glmaterialfv(gl_front_and_back,gl_shininess,&shininess); if(doublesided) gldisable(gl_cull_face); else glenable (GL_CULL_FACE); if(wireframe) else if(smoothing) else glpolygonmode(gl_front_and_back, GL_LINE); glpolygonmode(gl_front_and_back, GL_FILL); glshademodel(gl_smooth); glshademodel(gl_flat); CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 13

14 Object Class class TObject public: TPose Pose; //Object Pose Tvector Scale; //Object Scale TMatrix4x4 TRS; //Model View Matrix TMaterial Mlist[ ]; //List of available materials ; unsigned int MListLen; //Number of materials available TSurface SList[ ]; //Surfaces of the Object unsigned int SListLen; //Number of Surfaces int Visible; //Visibility Flag void CalcNormals(); //calculate Normal void BuildjMatrix(); //Builds the TRS Matrix void Draw(); //draw void TObject::CalcNormal() int i; for(i=0;i<slistlen;i++) Slist[i].CalcNormal(); void TObject::Draw() if(visible) int i; for(i=0;i<slistlen;i++) Slist[i].Draw(); void TObject:: BuildMatrix() glloadidentity(); // loads the identity matrix gltranslatef(pose.x,pose.y,pose.z); // translate the object to the desired position glrotatef (Pose.yaw,0.0f,1.0f,0.0f); // rotation around Y axis glrotatef (Pose.pitch,1.0f,0.0f,0.0f); // rotation around X axis glrotatef (Pose.roll,0.0f,0.0f,1.0f); // rotation around Z axis glscalef (Scale.x,Scale.y,Scale.z); // Scale object glgetfloatv( GL_MODELVIEW_MATRIX, TRS); For example NB: This model doesn t consider the vertex optimization CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 14

15 Surface Class class TSurface public: TVertex VList[ ]; //Vertices on the surface unsigned int VListLen; //Number of Vertices TVector NList[ ]; //Normals on the surface TPolygon Plist[ ]; //Polygons on the surface unsigned int PListLen; //Number of Polygons on the surface TMaterial * Material; //Surface color int Visible; //Visibility Flag ; void CalcNormals(); //calculate Normal void Flip(); //flip the normal orientation void Draw(); //draw //assigns the material for the surface void SetSurfaceMaterial(TMaterial * M); void TSurface::Flip() int i; for(i=0;i<plistlen;i++) Plist[i].Flip(); void TSurface::SetSurfaceMaterial(TMaterial * M); Material = M; for(i=0;i<plistlen;i++) Plist[i].Material = M; void TSurface::Draw() if(visible && Material->Visible) int i; Material->LoadMaterial(); for(i=0;i<plistlen;i++) Plist[i].Draw(); NB: This model doesn t consider the vertex optimization CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 15

16 Surface Class class TSurface public: TVertex VList[ ]; //Vertices on the surface unsigned int VListLen; //Number of Vertices TVector NList[ ]; //Normals on the surface TPolygon PList[ ]; //Polygons on the surface unsigned int PListLen; //Number of Polygons on the surface TMaterial * Material; //Surface color int Visible; //Visibility Flag ; void CalcNormals(); //calculate Normal void Flip(); //flip the normal orientation void Draw(); //draw //assigns the material for the surface void SetSurfaceMaterial(Tmaterial * M); void TSurface::CalcNormal() int i,j; // calculate normals per polygon for(i=0;i<plistlen;i++) Plist[i].CalcNormal(); // calculate normals per vertex Tvector N; N.vector(0,0,0); for(i=0;i<vlistlen;i++) for(j=0;j<plistlen;j++) if(plist[j].v1==i PList[j].v2==i PList[j].v3==i) N+=PList[j].Normal; N.Normalize(); NB: This model doesn t consider the vertex optimization CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 16

17 Polygon Class class TPolygon public: int v1,v2,v3; //indices to the 3 vertices int Visible; //visibility flag TMaterial* Material; //Material Pointer TVector Normal; //Normal vector TVertex* Vlist; //List of Vertices TVector* Nlist; //List of Normal per Vertex void CalcNormal(); //calculate Normal void Flip(); //flip the normal orientation void Draw(); //draw ; void TPolygon::CalcNormal() Vector t,r,n; t = Vlist[v2]-Vlist[v1]; r = Vlist[v3]-Vlist[v1]; Normal = t^r; Normal.Normalize(); void TPolygon::Flip() int a = v2; v2 = v3; v3 = v2; CalcNormal(); void TPolygon::Draw() if(visible) if(material->smoothing) glbegin(gl_triangles); glnormal3f(nlist[p[i].v1].x, Nlist[p[i].v1].y, Nlist[p[i].v1].z); glvertex3f(vlist[p[i].v1].x, Vlist[p[i].v1].y, Vlist[p[i].v1].z); glnormal3f(nlist[p[i].v2].x, Nlist[p[i].v2].y, Nlist[p[i].v2].z); glvertex3f(vlist[p[i].v2].x, Vlist[p[i].v2].y, Vlist[p[i].v2].z); glnormal3f(nlist[p[i].v3].x, Nlist[p[i].v3].y, Nlist[p[i].v3].z); glvertex3f(vlist[p[i].v3].x, Vlist[p[i].v3].y, Vlist[p[i].v3].z); glend(); else glbegin(gl_triangles); glnormal3f(normal.x, Normal.y, Normal.z); glvertex3f(vlist[v1].x, Vlist[v1].y, Vlist[v1].z); glvertex3f(vlist[v2].x, Vlist[v2].y, Vlist[v2].z); glvertex3f(vlist[v3].x, Vlist[v3].y, Vlist[v3].z); glend(); NB: This model doesn t consider the vertex optimization CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 17

18 Limitation of the OpenGL Lighting OpenGL Lighting, doesn t create Shadows Expected OpenGL CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 18

19 Loading a 3DS (3D Studio file) 0x4D4D // Main Chunk 0x0002 // M3D Version 0x3D3D // 3D Editor Chunk 0x4000 // Object Block 0x4100 // Triangular Mesh 0x4110 // Vertices List 0x4120 // Faces Description 0x4130 // Faces Material 0x4150 // Smoothing Group List 0x4140 // Mapping Coordinates List 0x4160 // Local Coordinates System 0x4600 // Light 0x4610 // Spotlight 0x4700 // Camera 0xAFFF // Material Block 0xA000 // Material Name 0xA010 // Ambient Color 0xA020 // Diffuse Color 0xA030 // Specular Color 0xA200 // Texture Map 1 0xA230 // Bump Map 0xA220 // Reflection Map /* Sub Chunks For Each Map */ 0xA300 // Mapping Filename 0xA351 // Mapping Parameters 0xB000 // Keyframer Chunk 0xB002 // Mesh Information Block 0xB007 // Spot Light Information Block 0xB008 // Frames (Start and End) 0xB010 // Object Name 0xB013 // Object Pivot Point 0xB020 // Position Track 0xB021 // Rotation Track 0xB022 // Scale Track 0xB030 // Hierarchy Position int TObject::Load3DSObject (char * filename) unsigned short l_chunk_id; unsigned int l_chunk_length; unsigned char l_char; unsigned short l_qty; unsigned short l_face_flags; FILE * fp = fopen(filename,"rb"); if(fp) while (ftell (fp) < filelength (fileno (fp))) //Loop to scan the whole file fread (&l_chunk_id, 2, 1, fp); //Read the chunk header fread (&l_chunk_length, 4, 1, fp); //Read the length of the chunk switch (l_chunk_id) case 0x4d4d:... break; case 0x3d3d:... break; case 0x4000:... break;... case 0xB030:... break; CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 19

20 Scene Class class TScene public: TCamera Camera; TLight LList[ ]; unsigned int LListLen; TObject OList[ ]; //List of objects unsigned int OListLen; //Number of objects int Visible; //Visibility Flag void InitScene(); //Initialize Scene Geometry void BuildSceneMatrices();//builds the scene matrices void Draw(); //draw scene void Load3DSObject(char * filename); // Load new object ; CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 20

21 EngineVR Class class TEngineVR public: Tscene SCList[ ]; //Available Scenes unsigned int SCListLen; //Number of Scenes unsigned int CurrentScene; //Selected Scene void InitScene(); //Initializes selected Scene void RenderScene();//draw scene ; Now we can get to this point CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 21

CSCI E-74. Simulation and Gaming

CSCI E-74. Simulation and Gaming CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming Fall term 2017 Gianluca De Novi, PhD Lesson 6 Basic Texturing Data Structures in a 3D Engine Vertices/Vectors Segments Matrices Polygons

More information

CSCI E-74. Simulation and Gaming

CSCI E-74. Simulation and Gaming CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming Fall term 2017 Gianluca De Novi, PhD Lesson 7 Multi Texturing Data Structures in a 3D Engine Vertices/Vectors Segments Matrices Polygons

More information

CSCI E-74. Simulation and Gaming

CSCI E-74. Simulation and Gaming CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming Fall term 2017 Gianluca De Novi, PhD Lesson 3 General Introduction to OpenGL APIs and TRS Perspective Simulation Perspective simulation

More information

OpenJSGL Web 3D Rendering Without Plug-Ins Andrés Buriticá Loyola Marymount University Faculty Mentor: John David N. Dionisio

OpenJSGL Web 3D Rendering Without Plug-Ins Andrés Buriticá Loyola Marymount University Faculty Mentor: John David N. Dionisio OpenJSGL Web 3D Rendering Without Plug-Ins Andrés Buriticá Loyola Marymount University Faculty Mentor: John David N. Dionisio Southern California Conference for Undergraduate Research November 17, 2007

More information

Methodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010)

Methodology for Lecture. Importance of Lighting. Outline. Shading Models. Brief primer on Color. Foundations of Computer Graphics (Spring 2010) Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 11: OpenGL 3 http://inst.eecs.berkeley.edu/~cs184 Methodology for Lecture Lecture deals with lighting (teapot shaded as in HW1) Some Nate

More information

Computer Graphics. Illumination and Shading

Computer 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 information

5.2 Shading in OpenGL

5.2 Shading in OpenGL Fall 2017 CSCI 420: Computer Graphics 5.2 Shading in OpenGL Hao Li http://cs420.hao-li.com 1 Outline Normal Vectors in OpenGL Polygonal Shading Light Sources in OpenGL Material Properties in OpenGL Example:

More information

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

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 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 information

Shading and Illumination

Shading 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 information

Computer Graphics Lighting

Computer Graphics Lighting Lighting 1 Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License Lighting.pptx Why Do We Care About Lighting?

More information

Computer Graphics Lighting. Why Do We Care About Lighting?

Computer Graphics Lighting. Why Do We Care About Lighting? Lighting 1 Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License Lighting.pptx Why Do We Care About Lighting?

More information

Shading in OpenGL. Outline. Defining and Maintaining Normals. Normalization. Enabling Lighting and Lights. Outline

Shading in OpenGL. Outline. Defining and Maintaining Normals. Normalization. Enabling Lighting and Lights. Outline CSCI 420 Computer Graphics Lecture 10 Shading in OpenGL Normal Vectors in OpenGL Polygonal Shading Light Source in OpenGL Material Properties in OpenGL Approximating a Sphere [Angel Ch. 6.5-6.9] Jernej

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

Deferred Rendering Due: Wednesday November 15 at 10pm CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture

More information

CS Surface Rendering

CS Surface Rendering CS10101001 Surface Rendering Junqiao Zhao 赵君峤 Department of Computer Science and Technology College of Electronics and Information Engineering Tongji University Surface rendering How do we choose a color

More information

Ryan Marcotte CS 499 (Honours Seminar) March 16, 2011

Ryan Marcotte   CS 499 (Honours Seminar) March 16, 2011 Ryan Marcotte www.cs.uregina.ca/~marcottr CS 499 (Honours Seminar) March 16, 2011 Outline Introduction to the problem Basic principles of skeletal animation, tag points Description of animation algorithm

More information

Transformation Pipeline

Transformation Pipeline Transformation Pipeline Local (Object) Space Modeling World Space Clip Space Projection Eye Space Viewing Perspective divide NDC space Normalized l d Device Coordinatesd Viewport mapping Screen space Coordinate

More information

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

CSE 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 information

Surface Rendering Methods

Surface Rendering Methods Surface Rendering Methods 6 th Week, 2008 Sun-Jeong Kim Polygon Rendering Methods Determining the surface intensity at every projected pixel position using an illumination model Light-material interactions

More information

Computer graphics MN1

Computer graphics MN1 Computer graphics MN1 Hierarchical modeling Transformations in OpenGL glmatrixmode(gl_modelview); glloadidentity(); // identity matrix gltranslatef(4.0, 5.0, 6.0); glrotatef(45.0, 1.0, 2.0, 3.0); gltranslatef(-4.0,

More information

Why we need shading?

Why 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 information

Lecture 17: Shading in OpenGL. CITS3003 Graphics & Animation

Lecture 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 information

Three-Dimensional Graphics V. Guoying Zhao 1 / 55

Three-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 information

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking

Input Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking Input Nodes Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking The different Input nodes, where they can be found, what their outputs are. Surface Input When editing a surface,

More information

Introduction to OpenGL

Introduction to OpenGL Introduction to OpenGL Banafsheh Azari http://www.uni-weimar.de/cms/medien/cg.html What You ll See Today What is OpenGL? Related Libraries OpenGL Command Syntax B. Azari http://www.uni-weimar.de/cms/medien/cg.html

More information

CGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing

CGDD 4113 Final Review. Chapter 7: Maya Shading and Texturing CGDD 4113 Final Review Chapter 7: Maya Shading and Texturing Maya topics covered in this chapter include the following: Shader Types Shader Attributes Texturing the Axe Life, Love, Textures and Surfaces

More information

Shading/Texturing. Dr. Scott Schaefer

Shading/Texturing. Dr. Scott Schaefer Shading/Texturing Dr. Scott Schaefer Problem / Problem / Problem 4/ Problem / Problem / Shading Algorithms Flat Shading Gouraud Shading Phong Shading / Flat Shading Apply same color across entire polygon

More information

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Exercise Max. Points Total 90

Exercise Max. Points Total 90 University of California San Diego Department of Computer Science CSE167: Introduction to Computer Graphics Fall Quarter 2014 Midterm Examination #1 Thursday, October 30 th, 2014 Instructor: Dr. Jürgen

More information

Advanced Lighting Techniques Due: Monday November 2 at 10pm

Advanced 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 information

Overview. Shading. Shading. Why we need shading. Shading Light-material interactions Phong model Shading polygons Shading in OpenGL

Overview. 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 information

Virtual Environments

Virtual Environments ELG 524 Virtual Environments Jean-Christian Delannoy viewing in 3D world coordinates / geometric modeling culling lighting virtualized reality collision detection collision response interactive forces

More information

Full Screen Layout. Main Menu Property-specific Options. Object Tools ( t ) Outliner. Object Properties ( n ) Properties Buttons

Full Screen Layout. Main Menu Property-specific Options. Object Tools ( t ) Outliner. Object Properties ( n ) Properties Buttons Object Tools ( t ) Full Screen Layout Main Menu Property-specific Options Object Properties ( n ) Properties Buttons Outliner 1 Animation Controls The Create and Add Menus 2 The Coordinate and Viewing

More information

CEng 477 Introduction to Computer Graphics Fall

CEng 477 Introduction to Computer Graphics Fall Illumination Models and Surface-Rendering Methods CEng 477 Introduction to Computer Graphics Fall 2007 2008 Illumination Models and Surface Rendering Methods In order to achieve realism in computer generated

More information

CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture #8: Lighting. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture #8: Lighting Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework project #4 due Friday, October 28 Introduction:

More information

3DS Format (.3ds) If you have any additions or comments to this file please me.

3DS Format (.3ds) If you have any additions or comments to this file please  me. Page 1 of 6 3DS Format (.3ds) Back.3DS File Format 3D Studio File Format (3ds). Autodesk Ltd. Document Revision 0.8 - December 1994. First Public Release. If you have any additions or comments to this

More information

Scene Graphs. CS4620/5620: Lecture 7. Announcements. HW 1 out. PA 1 will be out on Wed

Scene Graphs. CS4620/5620: Lecture 7. Announcements. HW 1 out. PA 1 will be out on Wed CS4620/5620: Lecture 7 Scene Graphs 1 Announcements HW 1 out PA 1 will be out on Wed Next week practicum will have an office hour type session on Open GL 2 Example Can represent drawing with flat list

More information

Virtual Reality for Human Computer Interaction

Virtual 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 information

6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm

6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm 6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm In this assignment, you will add an interactive preview of the scene and solid

More information

Today s class. Simple shadows Shading Lighting in OpenGL. Informationsteknologi. Wednesday, November 21, 2007 Computer Graphics - Class 10 1

Today s class. Simple shadows Shading Lighting in OpenGL. Informationsteknologi. Wednesday, November 21, 2007 Computer Graphics - Class 10 1 Today s class Simple shadows Shading Lighting in OpenGL Wednesday, November 21, 27 Computer Graphics - Class 1 1 Simple shadows Simple shadows can be gotten by using projection matrices Consider a light

More information

Illumination Model. The governing principles for computing the. Apply the lighting model at a set of points across the entire surface.

Illumination Model. The governing principles for computing the. Apply the lighting model at a set of points across the entire surface. Illumination and Shading Illumination (Lighting) Model the interaction of light with surface points to determine their final color and brightness OpenGL computes illumination at vertices illumination Shading

More information

CS4202: Test. 1. Write the letter corresponding to the library name next to the statement or statements that describe library.

CS4202: Test. 1. Write the letter corresponding to the library name next to the statement or statements that describe library. CS4202: Test Name: 1. Write the letter corresponding to the library name next to the statement or statements that describe library. (4 points) A. GLUT contains routines that use lower level OpenGL commands

More information

Parametric description

Parametric description Examples: surface of revolution Vase Torus Parametric description Parameterization for a subdivision curve Modeling Polygonal meshes Graphics I Faces Face based objects: Polygonal meshes OpenGL is based

More information

OpenGL. Jimmy Johansson Norrköping Visualization and Interaction Studio Linköping University

OpenGL. Jimmy Johansson Norrköping Visualization and Interaction Studio Linköping University OpenGL Jimmy Johansson Norrköping Visualization and Interaction Studio Linköping University Background Software interface to graphics hardware 250+ commands Objects (models) are built from geometric primitives

More information

Objectives Shading in OpenGL. Front and Back Faces. OpenGL shading. Introduce the OpenGL shading methods. Discuss polygonal shading

Objectives 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 information

蔡侑庭 (Yu-Ting Tsai) National Chiao Tung University, Taiwan. Prof. Wen-Chieh Lin s CG Slides OpenGL 2.1 Specification

蔡侑庭 (Yu-Ting Tsai) National Chiao Tung University, Taiwan. Prof. Wen-Chieh Lin s CG Slides OpenGL 2.1 Specification 蔡侑庭 (Yu-Ting Tsai) Department of Computer Science National Chiao Tung University, Taiwan Prof. Wen-Chieh Lin s CG Slides OpenGL 2.1 Specification OpenGL Programming Guide, Chap. 5 2 http://caig.cs.nctu.edu.tw/course/cg2007/files

More information

Illumination and Shading

Illumination and Shading Illumination and Shading Illumination (Lighting) Model the interaction of light with surface points to determine their final color and brightness OpenGL computes illumination at vertices illumination Shading

More information

CS451Real-time Rendering Pipeline

CS451Real-time Rendering Pipeline 1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does

More information

Ch 10: Game Event Management. Quiz # 4 Discussion

Ch 10: Game Event Management. Quiz # 4 Discussion Ch 10: Game Event Management Quiz # 4 Discussion Moving the Camera Toggle between first and third person view Translate object Transformations ò Quaternion: rotation around arbitrary axis ò Advantages

More information

ECS 175 COMPUTER GRAPHICS. Ken Joy.! Winter 2014

ECS 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 information

Graphics Hardware and OpenGL

Graphics Hardware and OpenGL Graphics Hardware and OpenGL Ubi Soft, Prince of Persia: The Sands of Time What does graphics hardware have to do fast? Camera Views Different views of an object in the world 1 Camera Views Lines from

More information

Topic 9: Lighting & Reflection models 9/10/2016. Spot the differences. Terminology. Two Components of Illumination. Ambient Light Source

Topic 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 information

CS559: Computer Graphics. Lecture 12: OpenGL Transformation Li Zhang Spring 2008

CS559: Computer Graphics. Lecture 12: OpenGL Transformation Li Zhang Spring 2008 CS559: Computer Graphics Lecture 2: OpenGL Transformation Li Zhang Spring 28 Today Transformation in OpenGL Reading Chapter 3 Last time Primitive Details glpolygonmode(glenum face, GLenum mode); face:

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

CSE4030 Introduction to Computer Graphics

CSE4030 Introduction to Computer Graphics CSE4030 Introduction to Computer Graphics Dongguk University Jeong-Mo Hong Timetable 00:00~00:10 Introduction (English) 00:10~00:50 Topic 1 (English) 00:50~00:60 Q&A (English, Korean) 01:00~01:40 Topic

More information

QUESTION 1 [10] 2 COS340-A October/November 2009

QUESTION 1 [10] 2 COS340-A October/November 2009 2 COS340-A QUESTION 1 [10] a) OpenGL uses z-buffering for hidden surface removal. Explain how the z-buffer algorithm works and give one advantage of using this method. (5) Answer: OpenGL uses a hidden-surface

More information

3D GRAPHICS. design. animate. render

3D GRAPHICS. design. animate. render 3D GRAPHICS design animate render 3D animation movies Computer Graphics Special effects Computer Graphics Advertising Computer Graphics Games Computer Graphics Simulations & serious games Computer Graphics

More information

CS 432 Interactive Computer Graphics

CS 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 information

Topic 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 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 information

OpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL

OpenGL: Open Graphics Library. Introduction to OpenGL Part II. How do I render a geometric primitive? What is OpenGL OpenGL: Open Graphics Library Introduction to OpenGL Part II CS 351-50 Graphics API ( Application Programming Interface) Software library Layer between programmer and graphics hardware (and other software

More information

Maya tutorial. 1 Camera calibration

Maya tutorial. 1 Camera calibration Maya tutorial In this tutorial we will augment a real scene with virtual objects. This tutorial assumes that you have downloaded the file Maya.zip from the course web page and extracted it somewhere. 1

More information

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling

CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project

More information

OpenGL Tutorial. Ceng 477 Introduction to Computer Graphics

OpenGL Tutorial. Ceng 477 Introduction to Computer Graphics OpenGL Tutorial Ceng 477 Introduction to Computer Graphics Adapted from: http://www.cs.princeton.edu/courses/archive/spr06/cos426/assn3/opengl_tutorial.ppt OpenGL IS an API OpenGL IS nothing more than

More information

Reading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional:

Reading. Hierarchical Modeling. Symbols and instances. Required: Angel, sections , 9.8. Optional: Reading Required: Angel, sections 9.1 9.6, 9.8 Optional: Hierarchical Modeling OpenGL rogramming Guide, the Red Book, chapter 3 cse457-07-hierarchical 1 cse457-07-hierarchical 2 Symbols and instances Most

More information

Chapter 3: Modeling Transformation

Chapter 3: Modeling Transformation Chapter 3: Modeling Transformation Graphics Programming, 8th Sep. Graphics and Media Lab. Seoul National University 2011 Fall OpenGL Steps Every step in the graphics pipeline is related to the transformation.

More information

Notes on Computer Graphics and OpenGL. Thomas Strathmann

Notes on Computer Graphics and OpenGL. Thomas Strathmann Notes on Computer Graphics and OpenGL Thomas Strathmann February 2, 2011 Preface The purpose of this document is to server as a sort of logbook in which I put down all the interesting math and assorted

More information

CHAPTER 1 Graphics Systems and Models 3

CHAPTER 1 Graphics Systems and Models 3 ?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........

More information

Classic Rendering Pipeline

Classic Rendering Pipeline CS580: Classic Rendering Pipeline Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/gcg/ Course Objectives Understand classic rendering pipeline Just high-level concepts, not all the

More information

Illumination and Shading

Illumination 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 information

CSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015

CSE 167: Introduction to Computer Graphics Lecture #7: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #7: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Spring Quarter 2015 Announcements Thursday in-class: Midterm Can include material

More information

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON Deferred Rendering in Killzone 2 Michal Valient Senior Programmer, Guerrilla Talk Outline Forward & Deferred Rendering Overview G-Buffer Layout Shader Creation Deferred Rendering in Detail Rendering Passes

More information

Visualizing Molecular Dynamics

Visualizing Molecular Dynamics Visualizing Molecular Dynamics Aiichiro Nakano Collaboratory for Advanced Computing & Simulations Department of Computer Science Department of Physics & Astronomy Department of Chemical Engineering & Materials

More information

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches: Surface Graphics Objects are explicitely defined by a surface or boundary representation (explicit inside vs outside) This boundary representation can be given by: - a mesh of polygons: 200 polys 1,000

More information

Shaders. Slide credit to Prof. Zwicker

Shaders. Slide credit to Prof. Zwicker Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?

More information

Virtual Reality for Human Computer Interaction

Virtual Reality for Human Computer Interaction Virtual Reality for Human Computer Interaction Appearance: Lighting Representation of Light and Color Representation of Light and Color Do we need to represent all I! to represent a color C(I)? Representation

More information

Graphics Programming

Graphics Programming Graphics Programming 3 rd Week, 2011 OpenGL API (1) API (application programming interface) Interface between an application program and a graphics system Application Program OpenGL API Graphics Library

More information

ttp://www.martinreddy.net/gfx/3d/3ds.spec

ttp://www.martinreddy.net/gfx/3d/3ds.spec 01/11/2007 03:18 PM Page 1 of 22 3D-Studio File Format (.3ds) Autodesk Ltd. Document Revision 0.93 - Januari 1997 Rewritten by Martin van Velsen (email: vvelsen@ronix.ptf.hro.nl ) and Robin Fercoq ( 3ds-bin

More information

Graphics for VEs. Ruth Aylett

Graphics for VEs. Ruth Aylett Graphics for VEs Ruth Aylett Overview VE Software Graphics for VEs The graphics pipeline Projections Lighting Shading Runtime VR systems Two major parts: initialisation and update loop. Initialisation

More information

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th

Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th Homework #2 and #3 Due Friday, October 12 th and Friday, October 19 th 1. a. Show that the following sequences commute: i. A rotation and a uniform scaling ii. Two rotations about the same axis iii. Two

More information

Basic Graphics Programming

Basic Graphics Programming CSCI 480 Computer Graphics Lecture 2 Basic Graphics Programming January 11, 2012 Jernej Barbic University of Southern California http://www-bcf.usc.edu/~jbarbic/cs480-s12/ Graphics Pipeline OpenGL API

More information

SHADER PROGRAMMING. Based on Jian Huang s lecture on Shader Programming

SHADER PROGRAMMING. Based on Jian Huang s lecture on Shader Programming SHADER PROGRAMMING Based on Jian Huang s lecture on Shader Programming What OpenGL 15 years ago could do http://www.neilturner.me.uk/shots/opengl-big.jpg What OpenGL can do now What s Changed? 15 years

More information

1.2 Basic Graphics Programming

1.2 Basic Graphics Programming Fall 2018 CSCI 420: Computer Graphics 1.2 Basic Graphics Programming Hao Li http://cs420.hao-li.com 1 Last time Last Time Story Computer Graphics Image Last Time 3D Printing 3D Capture Animation Modeling

More information

CS Simple Raytracer for students new to Rendering

CS Simple Raytracer for students new to Rendering CS 294-13 Simple Raytracer for students new to Rendering Ravi Ramamoorthi This assignment should be done only by those small number of students who have not yet written a raytracer. For those students

More information

GL_MODELVIEW transformation

GL_MODELVIEW transformation lecture 3 view transformations model transformations GL_MODELVIEW transformation view transformations: How do we map from world coordinates to camera/view/eye coordinates? model transformations: How do

More information

API for creating a display window and using keyboard/mouse interations. See RayWindow.cpp to see how these are used for Assignment3

API for creating a display window and using keyboard/mouse interations. See RayWindow.cpp to see how these are used for Assignment3 OpenGL Introduction Introduction OpenGL OpenGL is an API for computer graphics. Hardware-independent Windowing or getting input is not included in the API Low-level Only knows about triangles (kind of,

More information

Modeling with Transformations

Modeling with Transformations Modeling with Transformations Prerequisites This module requires some understanding of 3D geometry, particularly a sense of how objects can be moved around in 3-space. The student should also have some

More information

CSC 240 Computer Graphics. Fall 2015 Smith College

CSC 240 Computer Graphics. Fall 2015 Smith College CSC 240 Computer Graphics Fall 2015 Smith College Outline: 11/9 Stacks revisited Shading (using normal vectors) Texture Mapping Final quiz If time: robot with two arms White background slides from Eitan

More information

CMSC427 Final Practice v2 Fall 2017

CMSC427 Final Practice v2 Fall 2017 CMSC427 Final Practice v2 Fall 2017 This is to represent the flow of the final and give you an idea of relative weighting. No promises that knowing this will predict how you ll do on the final. Some questions

More information

- Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr

- Location: Annenberg Text: Mostly Self-Contained on course Web pages. - Al Barr CS171 Computer Graphics Time: 3pm-3:55pm MW(F) - Location: Annenberg 105 - Text: Mostly Self-Contained on course Web pages Instructor: - Al Barr barradmin@cs.caltech.edu, TAs: - Kevin (Kevli) Li - kevli@caltech.edu

More information

CS 591B Lecture 9: The OpenGL Rendering Pipeline

CS 591B Lecture 9: The OpenGL Rendering Pipeline CS 591B Lecture 9: The OpenGL Rendering Pipeline 3D Polygon Rendering Many applications use rendering of 3D polygons with direct illumination Spring 2007 Rui Wang 3D Polygon Rendering Many applications

More information

11/1/13. Basic Graphics Programming. Teaching Assistant. What is OpenGL. Course Producer. Where is OpenGL used. Graphics library (API)

11/1/13. Basic Graphics Programming. Teaching Assistant. What is OpenGL. Course Producer. Where is OpenGL used. Graphics library (API) CSCI 420 Computer Graphics Lecture 2 Basic Graphics Programming Teaching Assistant Yijing Li Office hours TBA Jernej Barbic University of Southern California Graphics Pipeline OpenGL API Primitives: Lines,

More information

CS5620 Intro to Computer Graphics

CS5620 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 information

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014 CSE 167: Introduction to Computer Graphics Lecture #6: Lights Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014 Announcements Project 2 due Friday, Oct. 24 th Midterm Exam

More information

Illumination and Reflection in OpenGL CS 460/560. Computer Graphics. Shadows. Photo-Realism: Ray Tracing. Binghamton University.

Illumination and Reflection in OpenGL CS 460/560. Computer Graphics. Shadows. Photo-Realism: Ray Tracing. Binghamton University. Binghamton University EngiNet State University of New York EngiNet Thomas J. Watson School of Engineering and Applied Science WARNING All rights reserved. No Part of this video lecture series may be reproduced

More information

Computer graphics Labs: OpenGL (1/3) Geometric transformations and projections

Computer graphics Labs: OpenGL (1/3) Geometric transformations and projections University of Liège Department of Aerospace and Mechanical engineering Computer graphics Labs: OpenGL (1/3) Geometric transformations and projections Exercise 1: Geometric transformations (Folder transf

More information

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1 UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series PG Examination 2013-14 COMPUTER GAMES DEVELOPMENT CMPSME27 Time allowed: 2 hours Answer any THREE questions. (40 marks each) Notes are

More information

To Do. Demo for mytest3. Methodology for Lecture. Importance of Lighting. Brief primer on Color. Foundations of Computer Graphics (Spring 2012)

To Do. Demo for mytest3. Methodology for Lecture. Importance of Lighting. Brief primer on Color. Foundations of Computer Graphics (Spring 2012) Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 7: OpenGL Shading http://inst.eecs.berkeley.edu/~cs184 To Do Submit HW 1 (due tomorrow) Must include partners for HW 2 (speak with TA to find

More information

CSE Intro to Computer Graphics. ANSWER KEY: Midterm Examination. November 18, Instructor: Sam Buss, UC San Diego

CSE Intro to Computer Graphics. ANSWER KEY: Midterm Examination. November 18, Instructor: Sam Buss, UC San Diego CSE 167 - Intro to Computer Graphics ANSWER KEY: Midterm Examination November 18, 2003 Instructor: Sam Buss, UC San Diego Write your name or initials on every page before beginning the exam. You have 75

More information

CS 130 Exam I. Fall 2015

CS 130 Exam I. Fall 2015 S 3 Exam I Fall 25 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying

More information

Rendering. Illumination Model. Wireframe rendering simple, ambiguous Color filling flat without any 3D information

Rendering. Illumination Model. Wireframe rendering simple, ambiguous Color filling flat without any 3D information llumination Model Wireframe rendering simple, ambiguous Color filling flat without any 3D information Requires modeling interaction of light with the object/surface to have a different color (shade in

More information

Open Game Engine Exchange Specification

Open Game Engine Exchange Specification Open Game Engine Exchange Specification Version 1.0.1 by Eric Lengyel Terathon Software LLC Roseville, CA Open Game Engine Exchange Specification ISBN-13: 978-0-9858117-2-3 Copyright 2014, by Eric Lengyel

More information