2012-05-03 3 views
5

Мне нужно программное обеспечение для рендеринга OpenGL в Windows и уже найдено около Mesa3D, которое не предоставляет библиотеки DLL, и у меня есть немного боли для сборки ... Существуют ли альтернативы?Альтернативы рендеринга OpenGL

ответ

0

Насколько я искал, единственным вариантом является использование средства визуализации WebGL, которое на сегодняшний день поддерживает только Chrome. Direct3D имеет ссылочный драйвер (который действительно неустойчив) и Swiftshader, что является хорошим и дорогостоящим.

После нескольких головных болей мне удалось создать Mesa3D для Windows, но только старую версию, которая все еще поддерживала ее. По крайней мере, у него потрясающая производительность.

2

Я использовал Swiftshader от Transgaming для производственного проекта раньше, и должен сказать, это было блестяще. Трудный, но блестящий.

+0

Да, я тестировал Swiftshader и его удивительный ... и дорогой! 3D не является нашим основным бизнесом, и именно поэтому я ищу OpenGL ... –

+0

Нет, не могу думать о каких-либо других бесплатных альтернативах. Возможно, кто-то из форумов Mesa3D поможет вам создать рабочие двоичные файлы для Windows. – Ani

+0

Swiftshader был открыт для Google в то же время: https://blog.chromium.org/2016/06/universal-rendering-with-swiftshader.html –

4

Это зависит от того, какую версию OpenGL вы хотите ускорить. В зависимости от ваших потребностей есть несколько альтернатив. Я перечислил те, я в курсе ниже:

OpenGL 1.0 & 1,1

для Windows (начиная с Windows NT 3.5) на самом деле включает в себя OpenGL software implementation с самого начала. Если вы не установили какой-либо другой растеризатор программного обеспечения, это должно быть вашей реализацией по умолчанию. Растеризатор программного обеспечения Microsoft поддерживает OpenGL 1.0 или 1.1, в зависимости от вашей платформы, но не ускорит ничего более нового. Если ваша желаемая версия OpenGL покрывается 1.0 или 1.1 (как бы маловероятно), решение должно быть достаточным. Я не уверен, насколько стандартная программная реализация Windows OpenGL по умолчанию охватывает OpenGL ES 1.x с помощью поддержки OpenGL 1.0 или 1.1.

OpenGL 1,4

Кроме того, в Windows Vista, Microsoft включил emulation layer, который может перевести OpenGL в Direct3D; поддерживая до OpenGL 1.4. Кроме того, это должно означать, что время автономной работы Windows Vista (и выше?) Может ускорить большинство частей OpenGL SC. Я никогда не использовал этот эмулятор сам и был очень удивлен, услышав об этом, но может быть интересно, кому-то придется запустить одну из этих старых фреймворков в среде Windows. Обратите внимание, что стандартный растеризатор программного обеспечения Windows OpenGL (OpenGL 1.0 или 1.1) также включен в Windows Vista и выше.

OpenGL ES 2.0

Кроме того, есть ANGLE project, который ускоряет WebGL и OpenGL ES 2.0, переводя OpenGL ES 2.0 вызовов с DirectX 9 и 11. Их нот развития также отметить, что решение OpenGL ES 3.0 в работы. Никогда не используя ANGLE, я не могу предложить вердикт.

OpenGL 3.1

В дополнение к указанным выше, Mesa 3D (which supports up to OpenGL 3.1) функция три реализации программы:

  • swrast
  • softpipe
  • llvmpipe

Так как я знаю очень мало swrast (оригинальный растеризатор программного обеспечения Mesa) и softpipe (справочный драйвер), я воздержусь от этого. Третья реализация, llvmpipe и, возможно, наиболее интересная для вас, - это высокоскоростная программная реализация, использующая многопоточность и компиляцию JIT для ускорения моделирования с помощью инструкций native и SIMD.

Смежные вопросы