// set texture to repeat mode glTexParameteri ( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
glTexParameteri ( GI_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;
}

Обратите внимание, что для использования пирамидального фильтрования оказалось достаточным всего лишь задать этот режим при загрузке соответствующей текстуры. Все остальное делается автоматически. Артефакты текстурирования при этом практически полностью исчезли.

Помимо явного задания текстурных координат в вершинах многоугольника существует способ их автоматического вычисления. В этом случае задавать текстурные координаты не нужно: они будут автоматически вычисляться для каждой вершины. Для задания способа автоматического вычисления координат служит функция

void glTexGen [ifd] ( GLenum coord, GLenum pname,
GLtype parm ); void glTexGen [ifd]v ( GLenum coord, GLenum pname,
const GLtype * parms );

Первый параметр, coord, определяет координату текстуры, которая будет вычисляться автоматически и принимает одно из следующих значений: GL_S, GL_T, GL_R или GLQ.

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

Следующий параметр, рпате, определяет используемый метод генерации текстурных координат и может принимать одно из следующих значений: ОЬ.теХТиКЕ^ЕМ.МСЮЕ, ОЬ_ОВ1ЕСТ_РЬА№ или ОЬ_ЕУЕ_РЬАЖ (последние два варианта могут использоваться только в векторном варианте команды).

Последний параметр, рати, определяет формируемое значение и принимает одно из следующих значений: ОЬ_ОВШСТ_иНЕАК, ОЬ_ЕУЕ_ЫЫЕАК или 01_8РНЕ1Ш._МАР.

Если текстурные координаты вычисляются при помощи функции ОЕ_ОВШСТ_1ЛНЕА11, то соответствующая текстурная координата вычисляется по формуле Я-РхХ+РгУ + р^ + р^, (4.6)

где g - вычисляемая текстурная координата; рх, рг, р} и рА - значения, заданные параметром рагтя; (х, у, г, и>) - координаты вершины в системе


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