2014-02-18 6 views
2

Я пытаюсь создать контекст OpenGL 3.2 на нетбуке под управлением Ubuntu 13. Поскольку аппаратное обеспечение не поддерживает аппаратное обеспечение Opengl 3.2, мне интересно, может ли растеризатор программного обеспечения обеспечивают такую ​​функциональность. Я знаю, что программный режим может быть совершенно медленным, но мне просто нужно проверить и применить некоторые простые примеры.Mesa 3D OpenGL 3.2 с программным растеризатором

Я не мог найти окончательной информации в Интернете, которая бы сказала, что это возможно или нет, и мои знания о Mesa очень ограничены. Поэтому мой вопрос: возможно ли создать программный OpenGL 3.2-контекст с Mesa или нет?

ответ

3

В настоящее время это не так. При использовании одного из бэкендеров растеризатора программного обеспечения (старый, устаревший контраст или более современный, галлийский softpipe или llvmpipe драйверы) будет рекламироваться только GL 2.1. Проблема в том, что растеризаторы программного обеспечения mesa еще не поддерживают мультисэмплинг, что является требованием GL 3.x. Могут также отсутствовать некоторые другие незначительные функции, которые требуются для GL 3.x.

Однако вы все равно можете использовать большинство функций GL 3.2 с помощью механизма расширения, не имея контекста 3.2. Это также означает, что вы не сможете получить контекст основного профиля, но это тоже не должно быть проблемой - ничто не заставляет вас фактически использовать устаревшие функции.

+0

Glxinfo показывает Gallium для меня. Как бы то ни было, я мог бы с этим справиться, может быть, я даже не использую функции 3.2, не зная об этом. Есть ли сравнительная таблица, которая показывает основные различия в opengl и glsl? – Chuck

+0

@Chuck: Я не знаю никакой явной «диаграммы сравнения». Изменения в версии GL являются документами в некоторых приложениях официальных разъяснений. Существует также [History of the OpenGL wiki page] (http://www.opengl.org/wiki/History_of_OpenGL), которая позволяет легко отслеживать функции. – derhass