Функция glFogiv

Функция glFogfv задает параметры тумана.

Синтаксис

void WINAPI glFogiv(
         GLenum pname,
   const GLint  *params
);

Параметры

pname

Задает параметр fog.

Принимает одно из следующих значений.

Значение Значение
GL_FOG_MODE
Параметр params представляет собой одно целочисленное значение, указывающее уравнение, которое будет использоваться для вычисления коэффициента смешения тумана f. Принимаются три символьные константы: GL_LINEAR, GL_EXP и GL_EXP2. Уравнения, соответствующие этим символьным константам, определяются в следующем разделе Примечаний. Режим тумана по умолчанию — GL_EXP.
GL_FOG_DENSITY
Параметр params — это одно целочисленное значение, указывающее плотность тумана, используемую в обоих уравнениях экспоненциального тумана. Принимаются только неагентные плотности. Плотность тумана по умолчанию — 1,0.
GL_FOG_START
Параметр params представляет собой одно целочисленное значение, указывающее начальное расстояние, ближайшее расстояние, используемое в уравнении линейного тумана. По умолчанию ближнее расстояние равно 0,0.
GL_FOG_END
Параметр params представляет собой одно целочисленное значение, указывающее конец , дальней дистанции, используемой в уравнении линейного тумана. Расстояние по умолчанию — 1,0.
GL_FOG_INDEX
Параметр params — это одно целочисленное значение, указывающее if , индекс цвета тумана. Индекс тумана по умолчанию — 0,0.
GL_FOG_COLOR
Параметр params содержит четыре целочисленных значения или значения с плавающей запятой, указывающие Cf , цвет тумана. Целочисленные значения сопоставляются линейно так, что наиболее положительное представляющее значение сопоставляется с 1,0, а наиболее отрицательное из них — с -1,0. Значения с плавающей запятой сопоставляются напрямую. После преобразования все компоненты цвета зажимаются в диапазоне [0,1]. Цвет тумана по умолчанию — (0,0,0,0).

params

Указывает значение или значения, присваиваемые pname. GL_FOG_COLOR требуется массив из четырех значений. Все остальные параметры принимают массив, содержащий только одно значение.

Возвращаемое значение

Эта функция не возвращает значение.

Коды ошибок

Следующие коды ошибок могут быть получены функцией glGetError .

Имя Значение
GL_INVALID_ENUM
pname не является допустимым значением.
GL_INVALID_OPERATION
Функция была вызвана между вызовом glBegin и соответствующим вызовом glEnd.

Комментарии

Вы включаете и отключаете туман с помощью glEnable и glDisable, используя аргумент GL_FOG. Хотя этот параметр включен, туман влияет на растровую геометрию, растровые изображения и пиксельные блоки, но не на операции очистки буфера.

Функция glFogiv присваивает значение или значения в параметре params параметру fog, указанному в параметре pname.

Туман смешивает цвет тумана с цветом каждого растрированного пиксельного фрагмента posttexturing с использованием коэффициента смешивания f. Фактор f вычисляется одним из трех способов в зависимости от режима тумана. Пусть z — это расстояние в координатах глаз от источника до запотеченного фрагмента. Уравнение для GL_LINEAR тумана:

Уравнение, показывающее значение коэффициента смешения в GL_LINEAR режиме тумана как функцию расстояния.

Уравнение для GL_EXP тумана:

Уравнение, показывающее значение коэффициента смешения в GL_EXP режиме тумана.

Уравнение для GL_EXP2 тумана:

Уравнение, показывающее значение коэффициента смешивания в режиме GL_EXP2 тумана.

Независимо от режима тумана, f прижимается к диапазону [0,1] после вычисления. Затем, если OpenGL находится в цветовом режиме RGBA, цвет Cr фрагмента заменяется на

Уравнение, показывающее цвет запотеченного фрагмента как функцию смешивания коэффициента и цвета тумана.

В режиме цветовых индексов цветовый индекс фрагмента заменяется на

Уравнение, показывающее индекс цвета запотеченного фрагмента как функцию смешивания коэффициента и индексированного цвета.

Следующие функции извлекают сведения, связанные с функциями glFog :

glGet с аргументом GL_FOG_COLOR

glGet с GL_FOG_INDEX аргументов

glGet с аргументом GL_FOG_DENSITY

glGet с аргументом GL_FOG_START

glGet с аргументом GL_FOG_END

glGet с аргументом GL_FOG_MODE

glIsEnabled с аргументом GL_FOG

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Gl.h
Библиотека
Opengl32.lib
DLL
Opengl32.dll

См. также раздел

glBegin

glDisable

glEnable

glEnd

glGet

glIsEnabled