46

私は最近OpenGL(> 3.3)を学び始めました。多くの例とチュートリアルで、freeglutとglewの両方が使用されていることに気付きましたが、違いについてはまったく説明していません。私が見つけた最も良い説明は、グーグルで広告を読んだ後、このOpenGL関連のツールキットとAPIでしたが、不足していることがわかりました。SOのタグ情報も読んだことがあります。

OpenGLに本当に慣れていない人として、私はまださまざまな概念を理解しようとしています。glewを使用し、コンテキストを作成し(Windows、VS2010で)、本当に基本的な形状を描画する基本的なプログラムを作成する段階に到達しました。これらはすべて、freeglutを明示的に含める必要はありません。だから私はなぜそれが必要になるのか分かりません。

だから私の質問は、次の違いは 何ですか:
-freeglut
-glew
-(&glfw) 一方ができることと他方ができないことは何ですか?

4

2 に答える 2

62

OpenGL Extension Wrangler(GLEW)は、最新のOpenGL API関数(バージョン3.2から最新バージョンまで)にアクセスするために使用されます。古いバージョンのOpenGLを使用すると、次のようなOpenGL関数にアクセスできます#include <GL/gl.h>。 API関数は、コンパイル時ではなく、実行時に決定されます。GLEWは、OpenGLAPIの実行時の読み込みを処理します。GLEWについてはこちらをご覧ください

GLFWまたはfreeglutを使用すると、ウィンドウを作成し、クロスプラットフォームの方法でマウスとキーボードの入力を受け取ることができます。OpenGLはウィンドウの作成や入力を処理しないため、ウィンドウ、キーボード、マウス、ジョイスティック、入力などの目的でこれらのライブラリを使用する必要があります。

GLFWfreeglutは、必要に応じて代替手段として使用できますが、GLEWは、OpenGLAPIの実行時の読み込みに使用されるものとは異なります。

于 2013-03-25T15:21:13.450 に答える
2

私は大学での仕事に両方を使用しています。

GLEWは「クロスプラットフォームのオープンソースC/C ++拡張ロードライブラリ」(そのWebサイトから)であり、freeglutはデフォルトのOpenGL Utility Toolkit(GLUT)ライブラリを置き換えるウィンドウマネージャーです。

ご覧のとおり、どちらも目的が異なります。freeglutを使用するポイントは、デフォルトのGLUTが維持されていないのに、それが維持されていることです。したがって、バグ修正や新機能が必要な場合は、それを使用する必要があります:)

于 2013-03-25T11:50:10.660 に答える