Как получить размер буфера в OpenGL? - PullRequest
1 голос
/ 27 апреля 2011

Существует ли стандартный способ, использующий только функции OpenGL, для получения размера буфера в пикселях? Самое близкое, что я нашел, это запрос размера области просмотра, но я сомневаюсь, что он всегда соответствует размеру буфера. Я ищу максимальные значения ширины и высоты, которые я могу предоставить, например, glReadPixels.

1 Ответ

1 голос
/ 28 апреля 2011

Backbuffer является частью набора плоскостей буфера оконного окна (цвет спереди, цвет спины, глубина, трафарет и т. Д. В зависимости от того, что было настроено). Поскольку все они принадлежат друг другу, все они имеют одинаковые размеры. Поскольку стандартный кадровый буфер привязан к видимому окну, доступная часть определяется размерами окна.

Однако есть одна важная вещь, о которой следует помнить: кадровый буфер окна (или раньше) - просто часть кадрового буфера экрана. Если окно перемещается или изменяется, изменяется только смещение и шаг среза в кадровом буфере экрана. Это также означает, что если окно (частично) закрыто другим окном, закрытые части окна не вносят вклад в кадровый буфер. При чтении из кадрового буфера, частично покрытого другими окнами, вы можете получить либо неопределенное содержимое, либо содержимое скрывающего окна.

В современных операционных системах окна отображаются в области за пределами экрана, которые не могут быть закрыты, для поддержки управления окнами композитинга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...