Функция 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 [только классические приложения] |
Заголовок |
|