Народный учебник по OpenGL

         

Код инициализации необходимая формальность. Мы


{
  int Status=FALSE;                 // Индикатор состояния
  AUX_RGBImageRec *TextureImage[5]; // Создать место для текстуры
  memset(TextureImage,0,sizeof(void *)*5); // Установить указатель в NULL
 
  if ((TextureImage[0]=LoadBMP("Data/logo.bmp")) &&   // Текстура эмблемы
      (TextureImage[1]=LoadBMP("Data/mask1.bmp")) &&  // Первая маска
      (TextureImage[2]=LoadBMP("Data/image1.bmp")) && // Первое изображение
      (TextureImage[3]=LoadBMP("Data/mask2.bmp")) &&  // Вторая маска
      (TextureImage[4]=LoadBMP("Data/image2.bmp")))   // Второе изображение
  {
    Status=TRUE;                    // Задать статус в TRUE
    glGenTextures(5, &texture[0]);  // Создать пять текстур
    for (loop=0; loop<5; loop++)    // Цикл по всем пяти текстурам
    {
      glBindTexture(GL_TEXTURE_2D, texture[loop]);
      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);
      glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);
      glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[loop]->sizeX, TextureImage[loop]->sizeY,
        0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[loop]->data);
    }
  }
  for (loop=0; loop<5; loop++)      // Цикл по всем пяти текстурам
  {
    if (TextureImage[loop])         // Если текстура существуют
    {
      if (TextureImage[loop]->data) // Если изображение текстуры существует
      {
        free(TextureImage[loop]->data); // Освободить память изображения
      }
      free(TextureImage[loop]);     // Освободить структуру изображения
    }
  }
  return Status;                    // Возвращаем статус
}
Код ReSizeGLScene() не изменился, и мы опустим его.

Код инициализации необходимая формальность. Мы загружаем наши текстуры, задаем цвет очистки, задаем и разрешаем тест глубины, включаем плавное закрашивание, и разрешаем наложение текстуры. У нас простая программа, поэтому нет необходимости в сложной инициализации :).

Содержание  Назад  Вперед







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий