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 6 Basic Texturing

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 TSurface TPolygon TVertex TObject TSurface TPolygon TVertex TObject TSurface TPolygon TVertex TMaterial TTexture TMaterial TTexture TMaterial TTexture Cameras Motion Data Lights CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 3

4 Data Hierarchy TObject TextureList TextureListLen TSurface VertexList NormalList TexCoords TMaterial Specular Diffuse Ambient Emissive Shininess Smoothing Doublesided Wireframe Visible TextureIDList TextureOperation TextureIDListLen TTexture Image Data [r,g,b,a] ID Name Width Height Interpolation CromaKey KeyColor CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 4

5 Texture Loading Workflow Load Image File to RAM Image Pre-Processing Data Transfer Properties Texture ID Generation and Selection Interpolation Settings Video RAM Allocation and transfer CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 5

6 Texture Drawing Workflow V1(x,y,z) T1(u,v) 0,0 1,0 u V0(x,y,z) T0(u,v) v 0,1 1,1 V2(x,y,z) T2(u,v) Usually square with side lengths power of 2 ( 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, 128x128, 256x256, 512x512, 1024x1024, etc.) CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 6

7 Texture Drawing Workflow Texture Selection Operation Selection Vertices Normals Texture Coordinates Grapic Rendering CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 7

8 Textured Triangle Drawing glenable(gl_texture_2d); glbindtexture(gl_texture_2d,textureid); glbegin(gl_triangles); glnormal3f(n0.x,n0.y,n0.z);gltexcoord2f(u0,v1);glvertex3f(v0.x,v0.y,v0.z); glnormal3f(n1.x,n1.y,n1.z);gltexcoord2f(u1,v1);glvertex3f(v1.x,v1.y,v1.z); glnormal3f(n2.x,n2.y,n2.z);gltexcoord2f(u2,v2);glvertex3f(v2.x,v2.y,v2.z); glend(); V1(x,y,z) T1(u,v) gldisable(gl_texture_2d); V0(x,y,z) T0(u,v) V2(x,y,z) T2(u,v) CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 8

9 Textured Interpolation MIPMAP Sets NEAREST as default for small polygons where no interpolation is necessary. Then automatically switches to LINEAR when the polygons are bigger than the original texture CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 9

10 Class TTexture #define MAX_TX_NAME 256 class TTexture char Name; unsigned int Width; unsigned int Height; unsigned int ID; int Interpolation; int CromaKey; TColor KeyColor; TTexture(void); ~Ttexture(void); int LoadBMPTexture(char * filename, int InterpolationMode); int BuildTexture(RGBA8 TxData); ; int TTexture::LoadBMPTexture(char * filename, int InterpolationMode) FILE * fp; if(fp=fopen(filename,"r")) fclose(fp); AUX_RGBImageRec * TextureImage=NULL; RGBA8 * pdata; RGB8 * pdatargb; Interpolation = InterpolationMode; if(textureimage=auxdibimageload(filename)) int imagesize = TextureImage->sizeX * TextureImage->sizeY; pdatargb = (RGB8 *)TextureImage->data; pdata = new TColor[TextureImage->sizeX * TextureImage->sizeY]; unsigned int i; for(i=0;i<imagesize;i++) pdata[i].r=pdatargb[i].r; pdata[i].g=pdatargb[i].g; pdata[i].b=pdatargb[i].b; pdata[i].a=(float)(pdata[i].r+pdata[i].g+pdata[i].b)/3.0f; if( pdata[i] == CromKey)pData[i].Clear(); CromaKey=TRUE; Width = TextureImage->sizeX; Height = TextureImage->sizeY; BuildTexture(pData); if(textureimage) if(textureimage->data) delete TextureImage->data; delete TextureImage; if(pdata) delete pdata; return TRUE; return FALSE; typedef struct char b,g,r; RGB8; typedef struct char b,g,r,a; RGBA8; Channel by channel (r,g,b,a) CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 10

11 Class TTexture #define MAX_TX_NAME 256 class TTexture char Name; unsigned int Width; unsigned int Height; unsigned int ID; int Interpolation; int CromaKey; TColor KeyColor; TTexture(void); ~Ttexture(void); int LoadBMPTexture(char * filename, int InterpolationMode); int BuildTexture(RGBA8 TxData); ; int TTexture::BuildTexture(RGBA8 * TxData) glpixeltransferf(gl_red_scale,1.0f); glpixeltransferf(gl_green_scale,1.0f); glpixeltransferf(gl_blue_scale,1.0f); gltexparameteri (GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT ); gltexparameteri (GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT ); glgentextures(1,&id); glbindtexture(gl_texture_2d,id); Scale Color During Transfer to Video Memory Repeat Texture Coordinates switch(interpolation) case TXNEAREST :gltexparameteri(gl_texture_2d,gl_texture_min_filter,gl_nearest); gltexparameteri(gl_texture_2d,gl_texture_mag_filter,gl_nearest); glteximage2d (GL_TEXTURE_2D,0,GL_RGBA,Width,Height,0,GL_RGBA,GL_UNSIGNED_BYTE,pData); break; case TXLINEAR :gltexparameteri(gl_texture_2d,gl_texture_min_filter,gl_linear); gltexparameteri(gl_texture_2d,gl_texture_mag_filter,gl_linear); glteximage2d (GL_TEXTURE_2D,0,GL_RGBA,Width,Height,0,GL_RGBA,GL_UNSIGNED_BYTE,pData); break; case TXMIPMAP :gltexparameteri(gl_texture_2d,gl_texture_min_filter,gl_linear); gltexparameteri(gl_texture_2d,gl_texture_mag_filter,gl_linear_mipmap_nearest); glubuild2dmipmaps(gl_texture_2d,gl_rgba,width,height,gl_rgba,gl_unsigned_byte,pdata); break; typedef struct char b,g,r; RGB8; typedef struct char b,g,r,a; RGBA8; Interpolation Selection CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 11

12 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 TTexture TextureList[ ]; //list of Textures unsigned int TextureListLen; //Number of Textures 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 int AddTexture(char * filename, int Interpolation); void DeleteTexture(unsigned int Index); ; For example NB: This model doesn t consider the vertex optimization CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 12

13 TMaterials Class typedef struct unsigned int ID; unsigned int Operation; TextureLevel; 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; TextureLevel TextureList[ ]; unsigned int TextureListLen[ ]; void LoadDefaultMaterial(); void LoadMaterial(); int AddTextureLevel(unsigned int TexID, unsigned int Operation); void RemoveTextureLevel(unsigned int Level); ; CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 13

14 Surface Class typedef struct float u,v; TTexCoord; 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 TTexCoord TexCoordList[ ]; //List of Texture Coordinate per Vertex 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); NB: This model doesn t consider the vertex optimization CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 14

15 Polygon Class class TPolygon public: int v0,v1,v2; //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 TTexCoord * TList; //List of Texture Coordinates void CalcNormal(); //calculate Normal void Flip(); //flip the normal orientation void Draw(); //draw ; void TPolygon::Draw() int I; if(visible) if(material->smoothing) if(material->texturelistlen) for(i=0;i<texturelistlen;i++) glbegin(gl_triangles); glnormal3f(nlist[v0].x, Nlist[v0].y, Nlist[v0].z); gltexcoord2f(tlist[v0].u, TList[v0].v); glvertex3f(vlist[v0].x, Vlist[v0].y, Vlist[v0].z); glnormal3f(nlist[v1].x, Nlist[v1].y, Nlist[v1].z); gltexcoord2f(tlist[v1].u, TList[v1].v); glvertex3f(vlist[v1].x, Vlist[v1].y, Vlist[v1].z); glnormal3f(nlist[v2].x, Nlist[v2].y, Nlist[v2].z); gltexcoord2f(tlist[v2].u, TList[v2].v); glvertex3f(vlist[v2].x, Vlist[v2].y, Vlist[v2].z); glend(); else... else if(material->texturelistlen) glbegin(gl_triangles); glnormal3f(nlist[v0].x, Nlist[v0].y, Nlist[v0].z); gltexcoord2f(tlist[v0].u, TList[v0].v); glvertex3f(vlist[v0].x, Vlist[v0].y, Vlist[v0].z); gltexcoord2f(tlist[v1].u, TList[v1].v); glvertex3f(vlist[v1].x, Vlist[v1].y, Vlist[v1].z); gltexcoord2f(tlist[v2].u, TList[v2].v); glvertex3f(vlist[v2].x, Vlist[v2].y, Vlist[v2].z); glend(); else... NB: This model doesn t consider the vertex optimization CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 15

16 Texture Coordinates Assuming that: We know how lo load a texture We know how to draw textured primitives How do we generate texture Coordinates? CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 16

17 Texture Coordinates Generation CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 17

18 Method 1: Planar Mapping u = x minx meshwidth v = y miny meshheight int i for(i=0;i<vertexlistlen;i++) TexCoord[i].u = (x-miny)/meshwidth; TexCoord[i].v = (y-miny)/meshheight; NB: it depends from where the mapping plan is. We assume for simplicity that it is parallel to the plane XY CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 18

19 Method 2: Cylindrical Mapping u = x 0 x < 0 acos(z/r 0 ) π 360 acos(z/d) π v = y miny meshheight float CalcPolarCoordinate(float x,float z) float dist = sqrt(x*x+z*z); float a = (float)acos((float)z/dist)/pi; if(x>=0) return a; return 360-a;... int i for(i=0;i<vertexlistlen;i++) TexCoord[i].u = CalcPolarCoordinate(x,z); TexCoord[i].v = (y-miny)/meshheight; CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 19

20 Method 3: Spherical Mapping u = x 0 acos(z/r 0 ) π x < acos(z/r 0) π v = y 0 y < 0 acos(z/d) π acos(z/d) π int i for(i=0;i<vertexlistlen;i++) TexCoord[i].u = CalcPolarCoordinate(x,z); TexCoord[i].v = CalcPolarCoordinate(y,z); CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 20

21 Method 4: Reflection Spherical Map glenable(gl_texture_2d); glbindtexture(gl_texture_2d,texture); gltexgeni(gl_s, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); gltexgeni(gl_t, GL_TEXTURE_GEN_MODE, GL_SPHERE_MAP); glenable(gl_texture_gen_t); glenable(gl_texture_gen_s); glbegin(gl_triangle_strip); glnormal3f(n1.x,n1.y,n1.z); glvertex3f(pv1.x,pv1.y,pv1.z); glnormal3f(n2.x,n2.y,n2.z); glvertex3f(pv2.x,pv2.y,pv2.z); glnormal3f(n3.x,n3.y,n3.z); glvertex3f(pv3.x,pv3.y,pv3.z); glend(); gldisable(gl_texture_gen_s); gldisable(gl_texture_gen_t); gldisable(gl_texture_2d); n Ambient R No Texture Coordinates!!! Coordinates are generated in real-time by OpenGL using the normal and its reflection vectors I CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 21

22 Method 1,2,3: Automatic UV Map CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 22

23 Method Optimized UV Mapping CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 23

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

25 What can I do with Texture Mapping? CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 25

26 Multitexturing CSCI E-74 Virtual and Augmented Reality for Simulation and Gaming 26

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 5 Basic Lighting and Materials Data Structures in a 3D Engine Vertices/Vectors Segments Matrices

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

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

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

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

CS 432 Interactive Computer Graphics

CS 432 Interactive Computer Graphics CS 432 Interactive Computer Graphics Lecture 7 Part 2 Texture Mapping in OpenGL Matt Burlick - Drexel University - CS 432 1 Topics Texture Mapping in OpenGL Matt Burlick - Drexel University - CS 432 2

More information

Texture Mapping. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science

Texture Mapping. CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science Texture Mapping CS 537 Interactive Computer Graphics Prof. David E. Breen Department of Computer Science 1 Objectives Introduce Mapping Methods - Texture Mapping - Environment Mapping - Bump Mapping Consider

More information

Terrain rendering (cont.) Terrain rendering. Terrain rendering (cont.) Terrain rendering (cont.)

Terrain rendering (cont.) Terrain rendering. Terrain rendering (cont.) Terrain rendering (cont.) Terrain rendering Terrain is an approximation of the surface shape of an outdoor environment Usually consider the world as being flat, not curved Terrain defined as a heightfield Stores the height at numerous

More information

Lecture 5 3D graphics part 3

Lecture 5 3D graphics part 3 Lecture 5 3D graphics part 3 Shading; applying lighting Surface detail: Mappings Texture mapping Light mapping Bump mapping Surface detail Shading: takes away the surface detail of the polygons Texture

More information

Live2D Cubism Native Core API Reference. Version r3 Last Update 2018/07/20

Live2D Cubism Native Core API Reference. Version r3 Last Update 2018/07/20 Live2D Cubism Native Core API Reference Version r3 Last Update 2018/07/20 Changelog Update day Version Update Type Content 2018/06/14 r2 translation translation to English from Japanese 2018/07/20 r3 Corrected

More information

The Application Stage. The Game Loop, Resource Management and Renderer Design

The Application Stage. The Game Loop, Resource Management and Renderer Design 1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data

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

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 2 Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures 3 Texture mapping Glue textures (images)

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

Textures. Texture Mapping. Bitmap Textures. Basic Texture Techniques

Textures. Texture Mapping. Bitmap Textures. Basic Texture Techniques Texture Mapping Textures The realism of an image is greatly enhanced by adding surface textures to the various faces of a mesh object. In part a) images have been pasted onto each face of a box. Part b)

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

MD2 format/ Interesting Worlds. CS116A Chris Pollett Nov. 10, 2004.

MD2 format/ Interesting Worlds. CS116A Chris Pollett Nov. 10, 2004. MD2 format/ Interesting Worlds CS116A Chris Pollett Nov. 10, 2004. Outline MD2 file format Pop and Quake Ballworld Game MD2 and MD3 file formats Used in projects based on the id software s Quake engine.

More information

Texturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018

Texturing Theory. Overview. All it takes is for the rendered image to look right. -Jim Blinn 11/10/2018 References: Real-Time Rendering 3 rd Edition Chapter 6 Texturing Theory All it takes is for the rendered image to look right. -Jim Blinn Overview Introduction The Texturing Pipeline Example The Projector

More information

CS212. OpenGL Texture Mapping and Related

CS212. OpenGL Texture Mapping and Related CS212 OpenGL Texture Mapping and Related Basic Strategy Three steps to applying a texture 1. specify the texture read or generate image assign to texture enable texturing 2. assign texture coordinates

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring

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

Today. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik

Today. Texture mapping in OpenGL. Texture mapping. Basic shaders for texturing. Today. Computergrafik Computergrafik Today Basic shader for texture mapping Texture coordinate assignment Antialiasing Fancy textures Matthias Zwicker Universität Bern Herbst 2009 Texture mapping Glue textures (images) onto

More information

Texture and other Mappings

Texture and other Mappings Texture and other Mappings Texture Mapping Bump Mapping Displacement Mapping Environment Mapping Example: Checkerboard Particularly severe problems in regular textures 1 The Beginnings of a Solution: Mipmapping

More information

Models and Architectures

Models and Architectures Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation

More information

Module 13C: Using The 3D Graphics APIs OpenGL ES

Module 13C: Using The 3D Graphics APIs OpenGL ES Module 13C: Using The 3D Graphics APIs OpenGL ES BREW TM Developer Training Module Objectives See the steps involved in 3D rendering View the 3D graphics capabilities 2 1 3D Overview The 3D graphics library

More information

Announcements. Written Assignment 2 is out see the web page. Computer Graphics

Announcements. Written Assignment 2 is out see the web page. Computer Graphics Announcements Written Assignment 2 is out see the web page 1 Texture and other Mappings Shadows Texture Mapping Bump Mapping Displacement Mapping Environment Mapping Watt Chapter 8 COMPUTER GRAPHICS 15-462

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

CS179: GPU Programming

CS179: GPU Programming CS179: GPU Programming Lecture 4: Textures Original Slides by Luke Durant, Russel McClellan, Tamas Szalay Today Recap Textures What are textures? Traditional uses Alternative uses Recap Our data so far:

More information

Lecture 07: Buffers and Textures

Lecture 07: Buffers and Textures Lecture 07: Buffers and Textures CSE 40166 Computer Graphics Peter Bui University of Notre Dame, IN, USA October 26, 2010 OpenGL Pipeline Today s Focus Pixel Buffers: read and write image data to and from

More information

Appendix D: POL A Binary File Format for Polygonal Models

Appendix D: POL A Binary File Format for Polygonal Models Appendix D: POL A Binary File Format for Polygonal Models InnovMetric Software has devised POL, a binary file format that allows the description of polygonal models with grouping information, material

More information

CS 4620 Program 3: Pipeline

CS 4620 Program 3: Pipeline CS 4620 Program 3: Pipeline out: Wednesday 14 October 2009 due: Friday 30 October 2009 1 Introduction In this assignment, you will implement several types of shading in a simple software graphics pipeline.

More information

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

Texture. Texture Mapping. Texture Mapping. CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture Texture CS 475 / CS 675 Computer Graphics Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. Lecture 11 : Texture http://en.wikipedia.org/wiki/uv_mapping

More information

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture

CS 475 / CS 675 Computer Graphics. Lecture 11 : Texture CS 475 / CS 675 Computer Graphics Lecture 11 : Texture Texture Add surface detail Paste a photograph over a surface to provide detail. Texture can change surface colour or modulate surface colour. http://en.wikipedia.org/wiki/uv_mapping

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

Objectives. Texture Mapping and NURBS Week 7. The Limits of Geometric Modeling. Modeling an Orange. Three Types of Mapping. Modeling an Orange (2)

Objectives. Texture Mapping and NURBS Week 7. The Limits of Geometric Modeling. Modeling an Orange. Three Types of Mapping. Modeling an Orange (2) CS 480/680 INTERACTIVE COMPUTER GRAPHICS Texture Mapping and NURBS Week 7 David Breen Department of Computer Science Drexel University Objectives Introduce Mapping Methods Texture Mapping Environmental

More information

Texturas. Objectives. ! Introduce Mapping Methods. ! Consider two basic strategies. Computação Gráfica

Texturas. Objectives. ! Introduce Mapping Methods. ! Consider two basic strategies. Computação Gráfica Texturas Computação Gráfica Objectives! Introduce Mapping Methods! Texture Mapping! Environmental Mapping! Bump Mapping! Light Mapping! Consider two basic strategies! Manual coordinate specification! Two-stage

More information

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world

More information

Shading and Texturing Due: Friday, Feb 17 at 6:00pm

Shading and Texturing Due: Friday, Feb 17 at 6:00pm CMSC 23700 Winter 2012 Introduction to Computer Graphics Project 2 Feb 2 Shading and Texturing Due: Friday, Feb 17 at 6:00pm (v1.0 Feb 2: initial version) 1 Summary You can complete this project in pairs

More information

Chapter 3. Texture mapping. Learning Goals: Assignment Lab 3: Implement a single program, which fulfills the requirements:

Chapter 3. Texture mapping. Learning Goals: Assignment Lab 3: Implement a single program, which fulfills the requirements: Chapter 3 Texture mapping Learning Goals: 1. To understand texture mapping mechanisms in VRT 2. To import external textures and to create new textures 3. To manipulate and interact with textures 4. To

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

Computer Graphics and Visualization. Graphics Systems and Models

Computer Graphics and Visualization. Graphics Systems and Models UNIT -1 Graphics Systems and Models 1.1 Applications of computer graphics: Display Of Information Design Simulation & Animation User Interfaces 1.2 Graphics systems A Graphics system has 5 main elements:

More information

Texture mapping. Computer Graphics CSE 167 Lecture 9

Texture mapping. Computer Graphics CSE 167 Lecture 9 Texture mapping Computer Graphics CSE 167 Lecture 9 CSE 167: Computer Graphics Texture Mapping Overview Interpolation Wrapping Texture coordinates Anti aliasing Mipmaps Other mappings Including bump mapping

More information

Department of Computer Sciences Graphics Spring 2013 (Lecture 19) Bump Maps

Department of Computer Sciences Graphics Spring 2013 (Lecture 19) Bump Maps Bump Maps The technique of bump mapping varies the apparent shape of the surface by perturbing the normal vectors as the surface is rendered; the colors that are generated by shading then show a variation

More information

CISC 3620 Lecture 7 Lighting and shading. Topics: Exam results Buffers Texture mapping intro Texture mapping basics WebGL texture mapping

CISC 3620 Lecture 7 Lighting and shading. Topics: Exam results Buffers Texture mapping intro Texture mapping basics WebGL texture mapping CISC 3620 Lecture 7 Lighting and shading Topics: Exam results Buffers Texture mapping intro Texture mapping basics WebGL texture mapping Exam results Grade distribution 12 Min: 26 10 Mean: 74 8 Median:

More information

OpenGL. 1 OpenGL OpenGL 1.2 3D. (euske) 1. Client-Server Model OpenGL

OpenGL. 1 OpenGL OpenGL 1.2 3D. (euske) 1. Client-Server Model OpenGL OpenGL (euske) 1 OpenGL - 1.1 OpenGL 1. Client-Server Model 2. 3. 1.2 3D OpenGL (Depth-Buffer Algorithm Z-Buffer Algorithm) (polygon ) ( rendering) Client-Server Model X Window System ( GL ) GL (Indy O

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

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

Buffers. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015

Buffers. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015 Buffers 1 Objectives Introduce additional WebGL buffers Reading and writing buffers Buffers and Images 2 Buffer Define a buffer by its spatial resolution (n x m) and its depth (or precision) k, the number

More information

Shading. Flat shading Gouraud shading Phong shading

Shading. Flat shading Gouraud shading Phong shading Shading Flat shading Gouraud shading Phong shading Flat Shading and Perception Lateral inhibition: exaggerates perceived intensity Mach bands: perceived stripes along edges Icosahedron with Sphere Normals

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

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

Lecture 22 Sections 8.8, 8.9, Wed, Oct 28, 2009

Lecture 22 Sections 8.8, 8.9, Wed, Oct 28, 2009 s The s Lecture 22 Sections 8.8, 8.9, 8.10 Hampden-Sydney College Wed, Oct 28, 2009 Outline s The 1 2 3 4 5 The 6 7 8 Outline s The 1 2 3 4 5 The 6 7 8 Creating Images s The To create a texture image internally,

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 VR software Two main types of software used: off-line authoring or modelling packages

More information

Graphics. Texture Mapping 고려대학교컴퓨터그래픽스연구실.

Graphics. Texture Mapping 고려대학교컴퓨터그래픽스연구실. Graphics Texture Mapping 고려대학교컴퓨터그래픽스연구실 3D Rendering Pipeline 3D Primitives 3D Modeling Coordinates Model Transformation 3D World Coordinates Lighting 3D World Coordinates Viewing Transformation 3D Viewing

More information

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute

More information

Fog example. Fog is atmospheric effect. Better realism, helps determine distances

Fog example. Fog is atmospheric effect. Better realism, helps determine distances Fog example Fog is atmospheric effect Better realism, helps determine distances Fog Fog was part of OpenGL fixed function pipeline Programming fixed function fog Parameters: Choose fog color, fog model

More information

3ds Max certification prep

3ds Max certification prep 3ds Max certification prep Study online at quizlet.com/_25oorz 1. 24 Frames per second 2. 25 Frames per second, Europe 3. 30 Frames per second, Americas and Japan 4. Absolute mode, off set mode 5. How

More information

Adaptive Point Cloud Rendering

Adaptive Point Cloud Rendering 1 Adaptive Point Cloud Rendering Project Plan Final Group: May13-11 Christopher Jeffers Eric Jensen Joel Rausch Client: Siemens PLM Software Client Contact: Michael Carter Adviser: Simanta Mitra 4/29/13

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

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

Assignment #6 2D Vector Field Visualization Arrow Plot and LIC

Assignment #6 2D Vector Field Visualization Arrow Plot and LIC Assignment #6 2D Vector Field Visualization Arrow Plot and LIC Due Oct.15th before midnight Goal: In this assignment, you will be asked to implement two visualization techniques for 2D steady (time independent)

More information

An Introduction to Maya. Maya. Used in industrial design, CAD, computer games and motion picture effects. The ambition is what get

An Introduction to Maya. Maya. Used in industrial design, CAD, computer games and motion picture effects. The ambition is what get An Introduction to Maya Gustav Taxén gustavt@nada.kth.se 2D1640 Grafik och Interaktionsprogrammering VT 2006 Maya Used in industrial design, CAD, computer games and motion picture effects Special focus

More information

CPSC / Texture Mapping

CPSC / Texture Mapping CPSC 599.64 / 601.64 Introduction and Motivation so far: detail through polygons & materials example: brick wall problem: many polygons & materials needed for detailed structures inefficient for memory

More information

CSE 167: Lecture 11: Textures 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture 11: Textures 2. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture 11: Textures 2 Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Homework assignment #5 due Friday, Nov 4,

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

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

Graphics Hardware and Display Devices

Graphics Hardware and Display Devices Graphics Hardware and Display Devices CSE328 Lectures Graphics/Visualization Hardware Many graphics/visualization algorithms can be implemented efficiently and inexpensively in hardware Facilitates interactive

More information

CS 464 Review. Review of Computer Graphics for Final Exam

CS 464 Review. Review of Computer Graphics for Final Exam CS 464 Review Review of Computer Graphics for Final Exam Goal: Draw 3D Scenes on Display Device 3D Scene Abstract Model Framebuffer Matrix of Screen Pixels In Computer Graphics: If it looks right then

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

Computer Graphics. This Week. Meshes. Meshes. What is a Polygon Mesh? Meshes. Modelling Shapes with Polygon Meshes.

Computer Graphics. This Week. Meshes. Meshes. What is a Polygon Mesh? Meshes. Modelling Shapes with Polygon Meshes. 1 This Week Computer Graphics Modeling Shapes Modelling Shapes with Polygon Solid Modelling Extruded Shapes Mesh Approximations 2 What is a Polygon Mesh? A surface made up of a collection of polygon faces.

More information

Content Loader Introduction

Content Loader Introduction Content Loader Introduction by G.Paskaleva Vienna University of Technology Model Formats Quake II / III (md2 / md3, md4) Doom 3 (md5) FBX Ogre XML Collada (dae) Wavefront (obj) 1 Must-Have Geometry Information

More information

Sign up for crits! Announcments

Sign up for crits! Announcments Sign up for crits! Announcments Reading for Next Week FvD 16.1-16.3 local lighting models GL 5 lighting GL 9 (skim) texture mapping Modern Game Techniques CS248 Lecture Nov 13 Andrew Adams Overview The

More information

OpenGL Texture Mapping. Objectives Introduce the OpenGL texture functions and options

OpenGL Texture Mapping. Objectives Introduce the OpenGL texture functions and options OpenGL Texture Mapping Objectives Introduce the OpenGL texture functions and options 1 Basic Strategy Three steps to applying a texture 1. 2. 3. specify the texture read or generate image assign to texture

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

CS452/552; EE465/505. Texture Mapping in WebGL

CS452/552; EE465/505. Texture Mapping in WebGL CS452/552; EE465/505 Texture Mapping in WebGL 2-26 15 Outline! Texture Mapping in WebGL Read: Angel, Chapter 7, 7.3-7.5 LearningWebGL lesson 5: http://learningwebgl.com/blog/?p=507 Lab3 due: Monday, 3/2

More information

Lecturer Athanasios Nikolaidis

Lecturer Athanasios Nikolaidis Lecturer Athanasios Nikolaidis Computer Graphics: Graphics primitives 2D viewing and clipping 2D and 3D transformations Curves and surfaces Rendering and ray tracing Illumination models Shading models

More information

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

CSE 167: Introduction to Computer Graphics Lecture #9: Textures. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture #9: Textures Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Added Tuesday office hours for Krishna: 11am-12

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

Graphical Editors used at CSC/Nada earlier. Main competitors. What is Maya? What is Maya? An Introduction to Maya. Maya

Graphical Editors used at CSC/Nada earlier. Main competitors. What is Maya? What is Maya? An Introduction to Maya. Maya DH2640 Grafik och interaktionsprogrammering DH2323 Datorgrafik och interaktion NA8740 Datorgrafik och användargränssnitt An Introduction to Maya original slides by Gustav Taxén Lars Kjelldahl lassekj@csc.kth.se

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry Texturing Christopher Dyken Martin Reimers 06.10.2010 Page 1 Texturing Linear interpolation Real Time Rendering: Chapter 5: Visual Appearance Chapter 6:

More information

... Print PROGRAMS\Final Project final\planes\planeshoot.c 1

... Print PROGRAMS\Final Project final\planes\planeshoot.c 1 ... Print PROGRAMS\Final Project final\planes\planeshoot.c 1 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include

More information

Animation Basics. Learning Objectives

Animation Basics. Learning Objectives Animation Basics Learning Objectives After completing this chapter, you will be able to: Work with the time slider Understand animation playback controls Understand animation and time controls Morph compound

More information

Texture Mapping 1/34

Texture Mapping 1/34 Texture Mapping 1/34 Texture Mapping Offsets the modeling assumption that the BRDF doesn t change in u and v coordinates along the object s surface Store a reflectance as an image called a texture Map

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

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

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

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

+ = Texturing: Glue n-dimensional images onto geometrical objects. Texturing. Texture magnification. Texture coordinates. Bilinear interpolation

+ = Texturing: Glue n-dimensional images onto geometrical objects. Texturing. Texture magnification. Texture coordinates. Bilinear interpolation Texturing Slides done bytomas Akenine-Möller and Ulf Assarsson Chalmers University of Technology Texturing: Glue n-dimensional images onto geometrical objects Purpose: more realism, and this is a cheap

More information

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

CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window

More information

Lesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117

Lesson 01 Polygon Basics 17. Lesson 02 Modeling a Body 27. Lesson 03 Modeling a Head 63. Lesson 04 Polygon Texturing 87. Lesson 05 NURBS Basics 117 Table of Contents Project 01 Lesson 01 Polygon Basics 17 Lesson 02 Modeling a Body 27 Lesson 03 Modeling a Head 63 Lesson 04 Polygon Texturing 87 Project 02 Lesson 05 NURBS Basics 117 Lesson 06 Modeling

More information

Discrete Techniques. 11 th Week, Define a buffer by its spatial resolution (n m) and its depth (or precision) k, the number of

Discrete Techniques. 11 th Week, Define a buffer by its spatial resolution (n m) and its depth (or precision) k, the number of Discrete Techniques 11 th Week, 2010 Buffer Define a buffer by its spatial resolution (n m) and its depth (or precision) k, the number of bits/pixel Pixel OpenGL Frame Buffer OpenGL Buffers Color buffers

More information

Mattan Erez. The University of Texas at Austin

Mattan Erez. The University of Texas at Austin EE382V: Principles in Computer Architecture Parallelism and Locality Fall 2008 Lecture 10 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should we

More information

Texture Mapping. Mike Bailey.

Texture Mapping. Mike Bailey. Texture Mapping 1 Mike Bailey mjb@cs.oregonstate.edu This work is licensed under a Creative Commons Attribution-NonCommercial- NoDerivatives 4.0 International License TextureMapping.pptx The Basic Idea

More information

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming

Chapter IV Fragment Processing and Output Merging. 3D Graphics for Game Programming Chapter IV Fragment Processing and Output Merging Fragment Processing The per-fragment attributes may include a normal vector, a set of texture coordinates, a set of color values, a depth, etc. Using these

More information

DH2323 DGI13. Lab 2 Raytracing

DH2323 DGI13. Lab 2 Raytracing DH2323 DGI13 Lab 2 Raytracing In this lab you will implement a Raytracer, which draws images of 3D scenes by tracing the light rays reaching the simulated camera. The lab is divided into several steps.

More information

Evolution of GPUs Chris Seitz

Evolution of GPUs Chris Seitz Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing

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

7. Texture Mapping. Idea. Examples Image Textures. Motivation. Textures can be images or procedures. Textures can be 2D or 3D

7. Texture Mapping. Idea. Examples Image Textures. Motivation. Textures can be images or procedures. Textures can be 2D or 3D 3 4 Idea Add srface detail withot raising geometric complexity Textres can be images or procedres Textres can be D or 3D Motiation Wireframe Model + Lighting & Shading + Textre Mapping http://www.3drender.com/jbirn/prodctions.html

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

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