Как узнать у OpenGL о возможностях графического устройства (texture2DArray, поддерживаемые режимы сглаживания) - PullRequest
1 голос
/ 12 октября 2010

Мы используем OpenTK, C # и visual studio 2010. Нам нужно спросить графическое устройство, поддерживает ли оно texture2DArray, и какие режимы сглаживания оно может поддерживать. Любая помощь будет оценена.

1 Ответ

3 голосов
/ 12 октября 2010

Первоначальная поддержка текстурных массивов является частью GL_EXT_texture_array .Это было добавлено в OpenGL Core как часть версии 3.0.

Так что вы можете проверить, что ваша версия OpenGL больше или равна 3.0, или что строка расширения содержит GL_EXT_TEXTURE_ARRAY.Для завершения вам необходимо выполнить 2 теста, поскольку поддержка может быть предоставлена ​​любым из способов (или вы можете решить работать только на устройствах с поддержкой OpenGL 3.0).

Для вопроса с несколькими выборками это скореехитрее.исторически многократная выборка выполнялась на уровне платформы, так как она была связана со свойствами кадрового буфера.Я предполагаю, что вы нацеливаетесь на GL на Windows, но я не знаю точно, как это делается в C #.

Проверьте http://www.opengl.org/wiki/Multisampling для довольно запутанных способов сделать это для начального кадрового буфера в C.

Теперь ... Поскольку объекты кадрового буфера были введены, ядро ​​GL такжевозможность выделения кадровых буферов, включая поверхности с несколькими выборками (раздел 4.4 в Core 3.0).Если вы используете эту функцию, то распределение выполняется с помощью glRenderbufferStorageMultisample, а максимальное число поддерживаемых выборок возвращается через glGetIntegerv(GL_MAX_SAMPLES)

...