Основы компьютерной графики для программистов. Казанцев А.В. - 90 стр.

UptoLike

Составители: 

Основы компьютерной графики для программистов 90
____________________________________________________________________________________________________________________
http://www.ksu.ru/persons/9134.ru.html
glVertex3f (8.0, 0.0, 15.0);
glTexCoord2d (0.0, 1.0);//левый верхний угол текстуры
glVertex3f (-8.0, 8.0, 15.0);
glEnd;
glEndList;//конец создания списка
Рисование с использованием дисплейного списка происходит с помощью команды
glCallList(Quad).
В случае Quadric объектов рассмотрим пример наложения изображения корабля на
сферу.
//устанавливаем изображение корабля в качестве текущей текстуры
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
64, 64, //размеры текстуры
0, GL_RGB, GL_UNSIGNED_BYTE, Ship);
glEnable(GL_TEXTURE_2D);//разрешаем использование текстур
gluQuadricTexture(Sphere,GL_TRUE);//разрешаем наложение текстуры на
//объект Sphere
gluQuadricDrawStyle (Sphere, GLU_FILL);//сплошная закраска сферы
gluSphere(Sphere, 15.0, 24, 24 );//рисуем сферу с наложением
//текстуры
Рисунок проецируется на сферу аналогично тому, как прямоугольная карта земного
шаразаворачивала бы глобус. То есть верхняя и нижняя кромки изображения
текстуры после проецирования на сферу оказываются стянутыми в точку.
Параметры наложения текстуры
Из параметров визуализации рассмотрим установку параметров окружения и
фильтрации пикселов. Параметры окружения устанавливаются функцией
glTexEnv[if].
Действие ее состоит в формировании функции преобразования цветов источника света,
цвета образа текстуры, цвета вершин примитивов и цвета конфигурации текстуры для
получения результирующего цвета поверхности с наложенной на нее текстурой.
Функция существует в двух вариантах в зависимости от входных параметров.
Рассмотрим описание для вещественных входов:
void glTexEnvfv(
GLenum target,
GLenum pname,
const GLfloat *params
);
Параметр
target всегда принимает значение GL_TEXTURE_ENV. Параметр pname
задает один из двух вариантов
GL_TEXTURE_ENV_MODE или
GL_TEXTURE_ENV_COLOR.
Основы компьютерной графики для программистов                                                                  90
____________________________________________________________________________________________________________________


         glVertex3f (8.0, 0.0, 15.0);
         glTexCoord2d (0.0, 1.0);//левый верхний угол текстуры
         glVertex3f (-8.0, 8.0, 15.0);
     glEnd;
  glEndList;//конец создания списка

Рисование с использованием дисплейного списка происходит с помощью команды
glCallList(Quad).
В случае Quadric объектов рассмотрим пример наложения изображения корабля на
сферу.


//устанавливаем изображение корабля в качестве текущей текстуры
   glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
                   64, 64, //размеры текстуры
                   0, GL_RGB, GL_UNSIGNED_BYTE, Ship);

   glEnable(GL_TEXTURE_2D);//разрешаем использование текстур
   gluQuadricTexture(Sphere,GL_TRUE);//разрешаем наложение текстуры на
   //объект Sphere

  gluQuadricDrawStyle (Sphere, GLU_FILL);//сплошная закраска сферы
  gluSphere(Sphere, 15.0, 24, 24 );//рисуем сферу с наложением
//текстуры

Рисунок проецируется на сферу аналогично тому, как прямоугольная карта земного
шара “заворачивала” бы глобус. То есть верхняя и нижняя кромки изображения
текстуры после проецирования на сферу оказываются стянутыми в точку.


Параметры наложения текстуры
Из параметров визуализации рассмотрим установку параметров окружения и
фильтрации пикселов. Параметры окружения устанавливаются функцией glTexEnv[if].
Действие ее состоит в формировании функции преобразования цветов источника света,
цвета образа текстуры, цвета вершин примитивов и цвета конфигурации текстуры для
получения результирующего цвета поверхности с наложенной на нее текстурой.
Функция существует в двух вариантах в зависимости от входных параметров.
Рассмотрим описание для вещественных входов:


     void glTexEnvfv(
     GLenum target,
     GLenum pname,
     const GLfloat *params
     );


Параметр target всегда принимает значение GL_TEXTURE_ENV. Параметр pname
задает   один     из    двух    вариантов   GL_TEXTURE_ENV_MODE      или
GL_TEXTURE_ENV_COLOR.

http://www.ksu.ru/persons/9134.ru.html