Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Sisältö / 1 Tietokonegrafiikan jatkokurssi T-111.5300 4 op Lauri Savioja 02/06 Tekstuurit OpenGL:ssa.

Samankaltaiset esitykset


Esitys aiheesta: "Sisältö / 1 Tietokonegrafiikan jatkokurssi T-111.5300 4 op Lauri Savioja 02/06 Tekstuurit OpenGL:ssa."— Esityksen transkriptio:

1 Sisältö / 1 Tietokonegrafiikan jatkokurssi T-111.5300 4 op Lauri Savioja 02/06 Tekstuurit OpenGL:ssa

2 Sisältö / 2 Sisältö DisplayList Alpha ja Blend Tekstuurien määrittely Tekstuurien käyttö Esimerkkejä

3 Sisältö / 3 DisplayList - määrittely Listname = Glgenlists (1); Glnewlist (Listname, Gl_Compile); Glcolor3f (1.0, 0.0, 0.0); /* Current Color Red */ Glbegin (Gl_Triangles); Glvertex2f (0.0, 0.0); Glvertex2f (1.0, 0.0); Glvertex2f (0.0, 1.0); Glend (); Gltranslatef (1.5, 0.0, 0.0); /* Move Position */ Glendlist (); Glshademodel (Gl_Flat);

4 Sisältö / 4 DisplayList - kutsuminen GLuint i; glClear (GL_COLOR_BUFFER_BIT); glColor3f (0.0, 1.0, 0.0); /* current color green */ for (i = 0; i < 10; i++) /* draw 10 triangles */ glCallList (listName); drawLine (); /* is this line green? NO! */ /* where is the line drawn? */ void glCallLists( GLsizei n, GLenum type, const GLvoid *lists ) Esimerkki: list.c

5 Sisältö / 5 Läpinäkyvyys RGBA:n A on alpha, eli läpinäkyvyys Punainen kirja: alpha.c ja alpha3D.c glAlphaFunc –Piirretäänkö läpinäkyvät vai ei? glBlendFunc –Kahden läpinäkyvän yhdistäminen –Ei symmetrinen, vaan kummallekin oma funktio

6 Sisältö / 6 Sumu void glFogf( GLenum pname, GLfloat param ) pname: –GL_FOG_MODE, –GL_FOG_DENSITY, –GL_FOG_START, –GL_FOG_END, –GL_FOG_INDEX void glEnable( GL_FOG );

7 Sisältö / 7 Tekstuurien määrittely Nimettyjä (numeroituja) samoin kuin DisplayList:it. void glGenTextures( GLsizei n, GLuint *textures ) void glBindTexture( GLenum target, GLuint texture )

8 Sisältö / 8 Tekstuurien määrittely jatkuu void glTexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels ) void glTexSubImage2D Esimerkki: texsub.c

9 Sisältö / 9 Tekstuurikoordinaatit S (1D) S, T (2D) S, T, R (3D) Normalisoitu 0.0 - 1.0

10 Sisältö / 10 Tekstuurien käyttö void glBindTexture( GLenum target, GLuint texture ) void glTexCoord3f( GLfloat s, GLfloat t, GLfloat r )

11 Sisältö / 11 Kuvien lukeminen ja mipmapit Kurssi tarjoaa RGB-lukijan, joka tekee myös mipmapit GLboolean LoadRGBMipmaps( const char *imageFile, GLint intFormat ); glu osaa hoitaa mipmapien teon. Käyttäjän ei tarvitse niistä huolehtia mipmap.c - punaisesta kirjasta

12 Sisältö / 12 Tekstuurien käyttö void glTexParameterf( GLenum target, GLenum pname, GLfloat param ) pname can be one of the following: GL_TEXTURE_MIN_FILTER, GL_TEXTURE_MAG_FILTER, GL_TEXTURE_MIN_LOD, GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, GL_TEXTURE_MAX_LEVEL, GL_TEXTURE_WRAP_S, GL_TEXTURE_WRAP_T, GL_TEXTURE_WRAP_R, or GL_TEXTURE_PRIORITY. Esimerkit: mipmap.c ja wrap.c

13 Sisältö / 13 Tekstuurien käyttö void glTexEnvf( GLenum target, GLenum pname, GLfloat param ) pname: –GL_TEXTURE_ENV_MODE –GL_TEXTURE_ENV_COLOR param can be: GL_MODULATE, GL_DECAL, GL_BLEND, or GL_REPLACE.

14 Sisältö / 14 Yksiulotteiset tekstuurit Esimerkki: texgen Automaattinen tekstuurikoordinaattien generointi void glTexGenf( GLenum coord, GLenum pname, GLfloat param )


Lataa ppt "Sisältö / 1 Tietokonegrafiikan jatkokurssi T-111.5300 4 op Lauri Savioja 02/06 Tekstuurit OpenGL:ssa."

Samankaltaiset esitykset


Iklan oleh Google