Поделиться через


Функция glAddSwapHintRectWIN

Функция обратного вызова glAddSwapHintRectWIN задает набор прямоугольников, которые должны быть скопированы SwapBuffers.

Синтаксис

void WINAPI glAddSwapHintRectWIN(
   GLint   x,
   GLint   y,
   GLsizei width,
   GLsizei height
);

Параметры

x

Координата X (в координатах окна) левого нижнего угла прямоугольника области указания.

y

Координата Y (в координатах окна) левого нижнего угла прямоугольника области указания.

width

Ширина прямоугольника области указания.

height

Высота прямоугольника области указания.

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

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

Комментарии

Функция glAddSwapHintRectWIN ускоряет анимацию, уменьшая количество перекрасок между кадрами. С помощью glAddSwapHintRectWIN вы указываете набор прямоугольных областей, которые необходимо скопировать при вызове SwapBuffers. Если вы не укажете прямоугольники с glAddSwapHintRectWIN перед вызовом SwapBuffers, весь framebuffer переключается. Использование glAddSwapHintRectWIN для копирования только измененных частей буфера может значительно повысить производительность буферов SwapBuffers, особенно если SwapBuffers реализованы в программном обеспечении.

Функция glAddSwapHintRectWIN добавляет прямоугольник в область указания. Если установлен флаг PFD_SWAP_COPY структуры пиксельного формата PIXELFORMATDESCRIPTOR , swapBuffers использует эту область для обрезки копирования обратного буфера в передний буфер. Вы не указываете PFD_SWAP_COPY; он устанавливается с помощью оборудования с поддержкой. Область указания очищается после каждого вызова SwapBuffers. При использовании некоторых конфигураций оборудования SwapBuffers могут игнорировать регион указаний и обмениваться всем буфером. SwapBuffers реализуется системой, а не приложением.

OpenGL поддерживает отдельную область указания для каждого окна. При вызове glAddSwapHintRectWIN для любых контекстов отрисовки, связанных с окном, прямоугольники подсказки объединяются в одну область.

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

Примечание

Функция glAddSwapHintRectWIN — это функция расширения, которая не является частью стандартной библиотеки OpenGL, но является частью расширения GL_WIN_swap_hint. Чтобы проверка, поддерживает ли ваша реализация OpenGL glAddSwapHintRectWIN, вызовите glGetString(GL_EXTENSIONS). Если возвращается GL_WIN_swap_hint, поддерживается glAddSwapHintRectWIN . Чтобы получить адрес функции расширения, вызовите wglGetProcAddress.

Требования

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

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

glGetString

PIXELFORMATDESCRIPTOR

Буферы буферов

wglGetProcAddress