Основы библиотеки OpenGL

glEnable ( GL_TEXTURE_GEN_S ),-glEnable ( GL_TEXTURE_GEN_T );
glRotatef ( angle, 1, 1, 1 );
glutSolidTorus(2.0,5.0,20,20);
glDisable ( GL_TEXTURE_GEN_S'); glDisable ( GL_TEXTURE_GEN_T );
glPOpMatrix ();
glutSwapBuffers () ;
)
void reshape ( int w, int h )
{
glviewport ( 0, 0, w, h ) , glMatrixMode ( GL_PROJECTION ); glLoadldentity ();
gluPerspective ( 60.0, (GLfloat) w/ (GLfloat)h, l.Of, 60.Of ) ,-
glMatrixMode ( GL_MODELVIEW ); glLoadldentity ();
gluLookAt ( 0, 0, 25, 0, 0, 0, 0, 1, 0 );
}
void key ( unsigned char key, int x, int y )
{
if ( key ==27 || key == 'q' || key == 'Q' ) exit ( 0 ); // quit requested
}
int main ( int argc, char ** argv ) {
// initialise glut glutlnit ( &argc, argv );
glutlnitDisplayMode ( GLUT_DOUBLE | GLUT_RQB | GLUT_DEPTH ); glutlnitWindowSize ( 400, 400 );
// create window int glWin = glutCreateWindow ( "OpenGL example 8" );
initO ;
// register handlers glutDisplayFunc ( display ); glutReshapeFunc ( reshape );
glutKeyboardFunc ( key ); glutldleFunc ( animate );
// load texture localTexture = auxDIBImageLoad ( "stars.bmp" );
glGenTextures ( 1, &textureld ); glBindTexture ( GL_TEXTURE_2D, textureld ); glPixelStorei ( GL_UNPACK_ALIGNMENT, 1 ); // set 1-byte alignment
// set texture to repeat mode glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GLJREPEAT );
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE__WRAP_T, GL_REPEAT );
gluBuild2DMipmaps ( GL_TEXTURE_2D, GL_RGB,
localTexture -> sizeX, localTexture -> sizeY, GL_RGB, GL_UNSIGNED_BYTE, localTexture -> data );
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR );
glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR \;
glutMainLoop (); return 0;
}

Для использования автоматического вычисления текстурных координат необходимо помимо задания параметров и способа их вычисления разрешить их вычисление. Это осуществляется посредством следующих вызовов:


⇐ Предыдущая| |Следующая ⇒