2011-12-16 2 views
0

Меня интересует OpenTK для non-game приложение, чьи основные проблемы связаны с сложной 2D-графикой, сделанной быстро (надеюсь, за пределами оптимизированного GDI +).
Однако, если аппаратное ускорение на компьютере невозможно, я все равно хочу, чтобы мое приложение запускалось, даже если с более медленным графическим выходом.OpenTK в машине OpenGL-less?

Возможно ли использовать OpenTK, но все еще есть код для работы на компьютерах без требований к видеокарте/драйверам?
Мой поиск дал Mesa3D, но я не знаю, как он будет интегрироваться в .NET-приложение, и если такое решение будет работать и для Mono.

ответ

3

OpenTK использует любую версию OpenGL, доступную в вашей системе. Когда вы устанавливаете драйверы для видеокарты поставщика, вы также устанавливаете свою версию OpenGL. В отсутствие аппаратно-ускоренной версии OpenGL большинство (все?) Современных операционных систем имеют программную реализацию OpenGL, на которую они возвращаются. Это должно работать безосновательно, если вы ничего не должны делать. Однако в Windows это, вероятно, будет довольно древняя версия OpenGL (1.1), которая, возможно, не поддерживает все, что вы хотите сделать.

+0

Итак, скажем, меня интересуют простые, обычные функции, такие как альфа-компоновка, быстрое масштабирование изображений, возможно, режимы смешивания и такое 2D-ускорение. Могу ли я быть уверенным, что он все равно будет работать, даже если медленнее, на старом ПК? Способ попробовать это должен быть виртуальной машиной? –

+0

Скорее всего, если машина поддерживает .NET, то у вас не будет никаких реальных проблем с OpenGL. При этом отладочная версия OpenTK автоматически проверяет возвращаемое значение всех вызовов OpenGL, что может быть большой помощью в вопросах отладки, относящихся к различным версиям оборудования/драйвера. Если для вас важна совместимость с широким спектром аппаратных средств, лучше всего на самом деле получить доступ к аппаратным средствам, которые вы собираетесь поддерживать. – Eric