Chapter 5
������ � ����������

5.7  �������� �� �����

     ����� � ������, ��� �������� � ����� ������������ ��������� � ����������� �������� �� �����. �������� ����� ������ � ������ sphere. �������� ���������� ����������.

AUX_RGBImageRec* photo_image;
� ������� main ��������� ����������� � �������� ��������. ��������� �������� � ��� � ���� ���������� ����� ����, �� ��������� ������������� ��� ��� �� ����.
void main()
{
    auxInitPosition( 50, 10, 400, 400);
    auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE );
    auxInitWindow( "Shapes" );
    auxIdleFunc(display);
    auxReshapeFunc(resize);
    
    glEnable(GL_DEPTH_TEST);
    glEnable(GL_TEXTURE_2D);

    photo_image = auxDIBImageLoad("photo.bmp");

    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, 
                 photo_image->sizeX,
                 photo_image->sizeY,
                 0, GL_RGB, GL_UNSIGNED_BYTE,
                 photo_image->data);

    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

    auxMainLoop(display);
}

     �������������� ������� display. ����� ��� ��� ������� ��. 4.1, ����� gluQuadricTexture. ��� ������� ��������� ��� ��������� ��������� �������� �� ���������� ������. ������ �������� GL_TRUE ��� GL_FALSE. �� ��������� ��������� �������� ���������.

void CALLBACK display(void)
{
GLUquadricObj *quadObj; 

glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

quadObj = gluNewQuadric(); 
gluQuadricTexture(quadObj, GL_TRUE);
gluQuadricDrawStyle(quadObj, GLU_FILL); 
glColor3d(1,1,1);

glRotated(5, 0,1,0);

glPushMatrix();
 glRotated(-90, 1,0,0);
  gluSphere(quadObj, 3, 16, 16); 
glPopMatrix(); 

gluDeleteQuadric(quadObj);
auxSwapBuffers();
}


�������� ���� �������� �����. ����������� ���� �����.
��� ���������� �����.