gf3d_choose_config()

Получить список конфигураций GF3D соответствующих указанным атрибутам

Прототип:

#include <GL/glqnx.h>
gf3d_config_t *gf3d_choose_config( gf_dev_t gdev, const int *attrib_list, int *nitems );

Аргументы:

gdev
Устройство GF.
attrib_list
Список пар атрибут-значение.
nelements
Адрес для сохранения количества элементов в массиве.

Библиотека:

GL

Описание:

Фунция возвращает конфигурации фреймбуфера GF3D, которые соответствуют атрибутам, заданным в attrib_list. Если attrib_list равен NULL, то функция возвращает список всех конфигурации фреймбуфера GF3D, которые доступны для данного устройства.

В массиве attrib_list за каждым атрибутом следует соответствующее ему желаемое значение. Список завершается аттрибутом GF3D_NONE. Если атрибут не указан в attrib_list, то используется его значение по умолчанию (т. е. атрибут задан косвенно). Для некоторых атрибутов значением по умолчанию является GF3D_DONT_CARE, означающее, что для данного атрибута допустимо любое значение, следовательно значение данного атрибута не будет учитываться при подборе.

Критерий подбора конфигурации для каждого аттрибута уникален. Если найдено более одной конфигурации фреймбуфера GF3D, то возвращается список конфигураций отсортированный по признаку «наилучшего» соответствия.

Получить значения атрибутов конечной конфигурации gf3d_config_t можно с помощью функции gf3d_choose_config().


Caution: Память выделяемая фунцией следует освобождать с помощью функции free().

Возможные атрибуты:

GF3D_RENDER_TYPE
Маска указывающая какие режимы рендринга OpenGL должна поддерживать конфигурация фреймбуфера. Допустимыми битами являются GF3D_RGBA_BIT и GF3D_COLOR_INDEX_BIT. Значение по умолчанию: GF3D_RGBA_BIT.
GF3D_BUFFER_SIZE
Желаемый размер индексированного цветового буфера. Наименьший буфер удовлетворяющий минимальным требованиям считается предпочтительным. Этот атрибут игнорируется, если бит GF3D_COLOR_INDEX_BIT не установлен в атрибуте GF3D_RENDER_TYPE. Значение по умолчанию: 0.
GF3D_RED_SIZE
GF3D_GREEN_SIZE
GF3D_BLUE_SIZE
GF3D_ALPHA_SIZE
Минимальный размер цветового канала или GF3D_DONT_CARE. Наибольшее суммарное значение размера RGBA буфера (сумма значений GF3D_RED_SIZE, GF3D_GREEN_SIZE, GF3D_BLUE_SIZE и GF3D_ALPHA_SIZE) удовлетворяющее минимальным указанным размерам каждой цветовой компоненты считается предпочтительным. Значение по умолчанию: 0.
GF3D_DEPTH_SIZE
Минимальный размер буфера глубины. Если значение равно нулю, конфигурации без глубинного буфера считаются предпочтительными. Иначе наибольший буфер глубины из удовлетворяющих минимальным требованиям считается предпочтительным. Значение по умолчанию: 0.
GF3D_STENCIL_SIZE
Желаемое количество битпланов-шаблонов. Наименьший буфер шаблона из удовлетворяющих минимальным требованиям считается предпочтительным. Если желаемое значение равно нулю, конфигурации без буфера шаблона считаются предпочтительными. Значение по умолчанию: 0.
GF3D_ACCUM_RED_SIZE
GF3D_ACCUM_GREEN_SIZE
GF3D_ACCUM_BLUE_SIZE
GF3D_ACCUM_ALPHA_SIZE
Минимальный размер буфера-аккумулятора. Если значение равно нулю, конфигурации без буфера-аккумулятора считаются предпочтительными. Иначе наибольший буфер-аккумулятор из удовлетворяющих минимальным требованиям для соответствующей цветовой компоненты считается предпочтительным. Значение по умолчанию: 0.
GF3D_SAMPLE_BUFFERS
Включение мультисэмплинга. Значение по умолчанию: GL_FALSE.
GF3D_SAMPLES
Желаемое количество сэмплов при мультисэмплинге. Наименьшие количество из удовлетворяющих минимальным требованиям считается предпочтительным. Значение по умолчанию: 0.

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

Функция возвращает массив конфигураций gf3d_config_t или NULL, если подходящих конфигураций не было найдено.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Graphics Framework

Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gf3d_get_configs(), gf3d_get_config_attrib()




Предыдущий раздел: GF3D API