Функция glFogf

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

Синтаксис

void WINAPI glFogf(
   GLenum  pname,
   GLfloat param
);

Параметры

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.

param

Указывает значение, которое будет присвоено pname .

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

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

Коды ошибок

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

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

Комментарии

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

Функция glFogf присваивает значение или значения в параметрах параметру fog, заданному 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