OpenGLをWindowsでレンダリングする必要があり、すでにDLLが提供されていない約Mesa3Dが見つかりました。ビルドには苦労しています...代替手段がありますか?OpenGLソフトウェアのレンダリングの代替方法
答えて
私が検索した限りでは、唯一の他の選択肢はWebGLソフトウェアレンダラを使用することです。これは今日の時点ではChromeのみがサポートしていることです。 Direct3Dにはリファレンスドライバ(本当に不安定です)とSwiftshaderがあります。
もう少しの頭痛の後、私はWindows用のMesa3Dを構築することができましたが、まだそれをサポートしていた古いバージョンのみでした。少なくとも、それは素晴らしいパフォーマンスを持っています。
私は前に生産プロジェクトでTransgamingのを使用していましたが、それは華麗でした。タッドは高価ですが、華麗です。
加速するOpenGLのバージョンによって異なります。あなたのニーズに応じて、いくつかの選択肢があります。私は以下を認識していたものをリストアップしました:
のOpenGL 1.0 & 1.1に
をする(Windows NT 3.5以降)Windowsが実際に開始するのOpenGL software implementationが含まれています。他のソフトウェアラスタライザをインストールしていない場合、これはデフォルトの実装でなければなりません。 Microsoftソフトウェアラスタライザは、プラットフォームに応じてOpenGL 1.0または1.1のいずれかをサポートしますが、それより新しいものは加速しません。あなたの望むOpenGLバージョンが1.0または1.1でカバーされている場合(しかし、そうは思われません)、解決策は十分でなければなりません。 OpenGL 1.0または1.1のサポートにより、デフォルトのWindows OpenGLソフトウェアの実装がOpenGL ES 1.xフレームワークをどの程度カバーしているかはわかりません。
OpenGLは1.4
さらに、Windows Vistaでは、MicrosoftはDirect3DのにOpenGLを翻訳することができるemulation layerを含みます。 OpenGL 1.4をサポートしています。さらに、これは、Windows Vista(およびそれ以降)のランタイムがOpenGL SCのほとんどの部分を高速化する可能性があることを意味します。私はこのエミュレータを自分で使ったことは一度もありませんでしたが、それについて聞いたことは驚きでしたが、Windows環境でこれらの古いフレームワークを実行しなければならない人にとっては興味深いかもしれません。 標準のWindows OpenGLソフトウェアラスタライザ(OpenGL 1.0または1.1)は、Windows Vista以上にも含まれています。
のOpenGL ES 2.0
また、ものOpenGL ES 3.0ソリューションであることを言及のDirectX 9および11それらの開発ノートをのOpenGL ES 2.0の呼び出しを翻訳することによりWebGLのとOpenGL ES 2.0を加速ANGLE projectありますお仕事。 ANGLEを使用したことがないので、私は評決を下すことはできません。
OpenGL 3。上記のものに加えて1
は、Mesa 3D(which supports up to OpenGL 3.1)機能3つのソフトウェア実装:
- llvmpipe
- softpipe swrastは
私はswrastのほとんどを知っているので(オリジナルのMesaプロジェクトソフトウェアラスタライザ)とソフトパイプ(リファレンスドライバ)を使って、これらに入るのをやめます。 3番目のインプリメンテーション、llvmpipe、おそらく最も興味のあるインプリメンテーションは、マルチスレッドとJITのコンパイルを使用してネイティブ命令とSIMD命令によるシミュレーションを高速化する高速ソフトウェア実装です。
- 1. DAQソフトウェア代替品
- 2. 代替候補/類似ソフトウェア推奨される代替ソフトウェア
- 3. iPhone(OpenGL ES)上のglPolygonModeの代替?
- 4. 代替方法
- 5. 代替方法
- 6. OpenGLのテキストのレンダリング方法とトレードオフ
- 7. cssクリップパスの代替方法
- 8. ng-classの代替方法
- 9. MySQLクエリブラウザの代替方法
- 10. WebResponse/HttpWebResponseの代替方法
- 11. coutアラインメントの代替方法
- 12. バックグラウンドプロセスの代替方法
- 13. ポーリングの代替方法
- 14. JavaScriptの代替コメント方法
- 15. System.exit(1)の代替方法
- 16. 代替方法V3
- 17. OpenGL ES 1.1:glBlendFuncSeparateの代用方法は?
- 18. OpenGLのレンダリング
- 19. C++ reverse_iterator代替方法
- 20. ActiveXのDLL登録の代替方法
- 21. デスクトップアプリケーションのWebベースの代替方法
- 22. Facebookのアプリでオートコンプリートの代替方法
- 23. RetrieveSharedPrincipalsAndAccessRequestのWeb APIの代替方法
- 24. Microsoft AccessでのCTEの代替方法
- 25. NHibernateへの軽量の代替方法
- 26. TelerikのNativescript-Ui Calenderの代替方法
- 27. parse.comバックエンド用のオープンソースの代替方法
- 28. oracleのdblinksの代替方法
- 29. BashインラインコマンドのWindowsバットの代替方法
- 30. Java(spring)のスプリングセキュリティの代替方法
はい、私はSwiftshaderとその素晴らしいテストをしました...そして高価です! 3Dは私たちのコアビジネスではないので、OpenGLを探しています。 –
いいえ、他の無料の代替案は考えられません。おそらく、Mesa3Dフォーラムの誰かがWindows用の作業バイナリを構築するのに役立つかもしれません。 – Ani
その間、GoogleはSwiftshaderをオープンソース化しました:https://blog.chromium.org/2016/06/universal-rendering-with-swiftshader.html –