Мы используем OpenTK, C# и визуальную студию 2010. Нам нужно спросить графическое устройство, поддерживает ли он функции texture2DArray и какие режимы сглаживания может поддержать. Любая помощь будет оценена.Как спросить OpenGL для графического устройства Возможности (texture2DArray, поддерживаемые режимы сглаживания)
ответ
Оригинальная поддержка массивов текстур является частью GL_EXT_texture_array. Это было включено в OpenGL Core как часть версии 3.0.
Итак, вы можете проверить, что ваша версия OpenGL больше или равна 3.0, или что строка расширения содержит GL_EXT_TEXTURE_ARRAY
. Чтобы быть полным, вам нужно выполнить 2 теста, так как поддержка может быть открыта с помощью любого из этих средств (или вы можете решить запустить только на устройствах с поддержкой OpenGL 3.0).
Для вопроса с множественной выборкой это довольно сложнее. многоэмплинга исторически была выполнена на уровне платформы, поскольку она была связана с свойствами framebuffer. Я предполагаю, что вы нацеливаете GL на окна, но я точно не знаю, как это делается в C#.
Заканчивать http://www.opengl.org/wiki/Multisampling для довольно запутанных способов сделать это для начального фреймбуфера в С.
теперь ... Так как были введены объекты фреймбуфера, ядро GL также имеет возможность выделить буфера кадров, в том числе мульти- (раздел 4.4 в Core 3.0). Если вы используете эту функцию, то распределение выполняется с помощью glRenderbufferStorageMultisample
, а максимальное число поддерживаемых образцов возвращается через glGetIntegerv(GL_MAX_SAMPLES)
Это было очень полезно, спасибо большое! – KobraX22