2017-11-15 15 views
0

私は、OpenGLは、より高速な計算(ハードウェアアクセラレーション)のためにGPU上で実行される特定のタスク/呼び出し(シェーディングなど)を可能にするライブラリであることを知っています。私はそれについてインターネット上で読んでいて、OpenGLへの呼び出しがGPUなしで動くかどうか疑問に思っています。たとえば、このフォーラム(https://www.gamedev.net/forums/topic/638883-will-opengl-3d-games-run-in-a-pc-without-a-dedicated-video-card/)の誰かが、ソフトウェアエミュレーションとして実行できると述べました。誰もこれに話すことができますか?GPUなしでopenglコールを実行できますか?

+2

[Mesa](https://en.wikipedia.org/wiki/Mesa_(computer_graphics)#Software_renderer)。 – genpfault

答えて

3

はい、デバイスのベンダーが自分のシステム用にOpenGLドライバを書き留めているかどうかにかかっているだけであれば、そうです。すべてのOpenGL関数は、グラフィックスカードなしで実装できますが、パフォーマンス上のペナルティはもちろんです。

1

厳密に言えば、OpenGLはライブラリではなく、プログラミングインターフェイス(API)のみです。このAPIが特定のマシンでどのように実装されているかについての具体的な詳細は公開されており、システム実装者が自由に使用できます。それはソフトウェアラスタライザかもしれません、それは専用ハードウェアへのインタフェースかもしれません。

OpenGLは、Windows、LSB4 /デスクトップ(Linux標準ベース/デスクトップ要件)、MacOSのABI(アプリケーションがシステム上で利用可能であることが確かめられる一連のもの)の一部です。したがって、ハードウェアアクセラレーションがない場合でも、OpenGL機能の最小限のセット(ここではOpenGL-1.xを使用しています)を使用する方法が常にあることを確認する必要があります。

すべてのこれらのABIは、表示装置に物事をレンダリングするために使用されていることを、仮定に対して足すされていることに留意すべきである:(BTW恐ろしく遅いです)

Windowsの代替ソフトウェアラスタライザの実装がレンダリング認めていませんGDIビットマップに変換するが、PBuffersはサポートしていない。フレームバッファオブジェクトについて考えることさえしません。

メサソフトウェアラスタライザは、OpenGL-3.xの機能がほぼ完成しています。

関連する問題