glXCreatePbuffer - створення позаекранної області малювання.

C-специфікація

GLXPbuffer glXCreatePbuffer (Display * dpy,
                             GLXFBConfig config,
                             const int * attrib_list) ;

 

Параметри

dpy вказує підключення до X-сервера.

config вказує структуру GLXFBConfig з бажаними параметрами для нового вікна.

attrib_list вказує список пар атрибутів і їхніх відповідних значень, які повинні закінчуватися з значенням None або NULL. Приймаються наступні атрибути: GLX_PBUFFER_WIDTH, GLX_PBUFFER_HEIGHT, GLX_PRESERVED_CONTENTS і GLX_LARGEST_PBUFFER.

Опис

Функція glXCreatePbuffer створює позаекранну область рендерингу і повертає її ідентифікатор XID. Будь-які контексти малювання GLX, які були створені з урахуванням config можуть використовуватися для рендерингу у це вікно. Використовуйте glXMakeContextCurrent для асоціювання області малювання з контекстом малювання GLX.

Доступні атрибути для GLXPbuffer являються:

  • GLX_PBUFFER_WIDTH. Вказує ширину пікселя для запитуваного GLXPbuffer. Значення за умовчанням 0.
  • GLX_PBUFFER_HEIGHT. Вказує висоту пікселя для опитуваного GLXPbuffer. Значення за умовчанням 0.
  • GLX_LARGEST_PBUFFER. Вказує на отримання найбільшого доступного піксельного буфера, під час якого створення завершиться невдало. Ширина і висота зайнятого піксельного буфера не перевищуватиме вказаних GLX_PBUFFER_WIDTH або GLX_PBUFFER_HEIGHT, відповідно. Використовуйте glXQueryDrawable для отримання розмірів створеного піксельного буфера. Значення за умовчанням False.
  • GLX_PRESERVED_CONTENTS. Вказує вміст піксельного буферу, який необхідно зарезервувати, для вирішення конфліктів за ресурси. Якщо встановлено у False, вміст піксельного буферу може бути втрачено в будь-який момент. Якщо встановлено у True, або не вказано у attrib_list, тоді вміст піксельного буферу буде зарезервовано (найбільш вірогідно за допомогою копіювання вмісту у головну пам'ять системи з буфера кадру). В будь-якому випадку, клієнт може зареєструвати (використовуючи glXSelectEvent для отримання подій піксельного буфера, які генеруються коли вміст піксельного буфера були зарезервованими або пошкодженими).

Буфери GLXPbuffer містять колір і допоміжні буфери, вказані у параметрі config. Можливо створити піксельний буфер з задніми буферами і обмінювати їхніми даними за допомогою glXSwapBuffers.

Нотатки

Функція glXCreatePbuffer доступна у системах GLX версій 1.3 або вище.

Якщо версія GLX являється 1.1 або 1.0, версія OpenGL повинна бути 1.0. Якщо версія GLX являється 1.2, тоді версія OpenGL повинна бути 1.1. Якщо версія GLX являється 1.3, тоді версія OpenGL повинна бути 1.2.

Буфери GLXPbuffer займають пам'ять з ресурсів буфера кадру; програми повинні вивільняти їх коли вони не використовуються.

Помилки

BadAlloc генерується якщо недостатньо ресурсів для займання опитуваного GLXPbuffer.

GLXBadFBConfig генерується якщо параметр config не являється коректним GLXFBConfig.

BadMatch генерується, якщо параметр config не підтримує малювання у піксельні буфери (тобто, GLX_DRAWABLE_TYPE не містить GLX_PBUFFER_BIT).

Перегляньте також

glXChooseFBConfig, glXMakeContextCurrent, glXSelectEvent

Оригінал

https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glXCreatePbuffer.xml