CSCI E-74. Simulation and Gaming
|
|
- Marianna Morgan
- 5 years ago
- Views:
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 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 informationCSCI 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 informationInput 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 informationRyan 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 informationCSCI 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 informationCS 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 informationTexture 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 informationTerrain 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 informationLecture 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 informationLive2D 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 informationThe 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 informationObjectives. Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out
Objectives Introduce the OpenGL shading Methods 1) Light and material functions on MV.js 2) per vertex vs per fragment shading 3) Where to carry out 1 Steps in OpenGL shading Enable shading and select
More informationComputergrafik. 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 informationCS 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 informationTextures. 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 informationShading/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 informationMD2 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 informationTexturing 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 informationCS212. 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 informationCS 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 informationParametric 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 informationToday. 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 informationTexture 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 informationModels 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 informationModule 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 informationAnnouncements. 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 informationVirtual 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 informationCS179: 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 informationLecture 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 informationAppendix 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 informationCS 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 informationTexture. 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 informationCS 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 informationIntroduction 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 informationObjectives. 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 informationTexturas. 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 informationRendering. 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 informationShading 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 informationChapter 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 informationGraphics 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 informationComputer 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 informationTexture 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 informationDepartment 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 informationCISC 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 informationOpenGL. 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 information5.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 informationModule 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 informationBuffers. 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 informationShading. 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 informationOpenGL. 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 informationHomework #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 informationLecture 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 informationGraphics 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 informationGraphics. 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 informationCS230 : 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 informationFog 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 information3ds 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 informationAdaptive 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 informationCSE 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 information3DS 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 informationAssignment #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 informationAn 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 informationCPSC / 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 informationCSE 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 informationShading 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 informationGUERRILLA 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 informationGraphics 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 informationCS 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 informationComputer 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 informationComputer 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 informationContent 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 informationSign 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 informationOpenGL 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 informationGraphics 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 informationCS452/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 informationLecturer 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 informationCSE 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 informationCGDD 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 informationGraphical 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 informationINF3320 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 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include
More informationAnimation 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 informationTexture 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 informationSurface 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 information6.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 informationGraphics 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 informationCHAPTER 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 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 informationCSE 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 informationLesson 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 informationDiscrete 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 informationMattan 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 informationTexture 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 informationChapter 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 informationDH2323 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 informationEvolution 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 information3D 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 information7. 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 informationCMSC427 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 informationOpen 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