3

私はいくつかの単純な OpenGL (古い固定パイプライン、シェーダーなしなど) を実行しており、本格的な「最新の」OpenGL プログラミングを開始したいと考えています。(Windows および Linux でコンパイルする必要があります)

いくつか質問があります。

1) Windows では、"gl.h" には OpenGL2.0+ 関連の API 呼び出しが宣言されていません (例: glShaderSource() )。これらの API 呼び出しにアクセスするにはどうすればよいですか? このアプリケーションを他のマシンでコンパイルしたいので、グラフィックカード固有のヘッダーをインストールしたくありません。

2) Linux で Mesa ライブラリをインストールすると、上記の OpenGL2+ API 関数にアクセスできますか?

4

1 に答える 1

7

(90 年代後半から 00 年代前半の GL バージョンの更新が遅かったため) 一部の人々の間では、コアの OpenGL 呼び出しを取得する方法はヘッダーとライブラリを含めるだけであるという長年の信念がありました。関数ポインターを手動でロードすることは、「グラフィックカード固有の」機能のために、拡張機能に対して行ったことです。そうではありません。

コアまたは拡張機能に関係なく、OpenGL 関数にアクセスするには、常に拡張機能をロードするライブラリを使用する必要があります。GLEW は非常に優れたものであり、GL3W は、その制限 (3.0 コア以上のみ) に耐えられる場合はまともです。

于 2011-08-24T06:13:45.903 に答える