Функция glFogfv

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

Синтаксис

void WINAPI glFogfv(
         GLenum  pname,
   const GLfloat *params
);

Параметры

pname

Задает параметр тумана.

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

Значение Значение
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. Хотя этот параметр включен, туман влияет на растровую геометрию, растровые изображения и пиксельные блоки, но не на операции очистки буфера.

Функция glFogfv присваивает значение или значения в параметрах туману, заданному pname.

Туман смешивает цвет тумана с каждым растровым цветом текстуры пиксельного фрагмента с использованием коэффициента смешивания 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