0

プログラムでGLSLを使用するつもりはありませんが、ベクトルと行列の計算にGLSLデータ型と関数を使用するのが良い考えかどうかはわかりません。GLSL は OpenGL に付属しているものなので、これを行うために独自の単純なベクトル/マトリックス クラスを作成したり、別のライブラリから借りたりする必要はありませんが、一般的な OpenGL 操作での使いやすさについて十分に知りません。

GLSLをどのように使用しますか? gl.h をインクルードして vec3 とクロス関数にアクセスするだけですか? ドット、クロス、および関数のクラス名を書き留める必要がありますか? (std::vector のように、これらの関数を呼び出すたびに gl::cross が必要ですか?)

GLSO データ型は、glColor、glVertex、glTranslate などの基本的な OpenGL 関数と互換性がありますか?

glVertex3f およびその他の基本的な OpenGL 関数に相当する GLSL を見てきましたが、それらは単なる置き換えですか、それとも他の要件がありますか? 私はまだ OpenGL が得意ではなく、主に GLUT に依存しています。GLSL が GLUT とどの程度うまくブレンドされるかはわかりません。

4

2 に答える 2

2

GLSL はまったく異なる言語であり、プログラムとは別にコンパイルされるため、OpenGL でそのデータ型を使用することはできません代わりにGLMを見てください。

glVertex3fまた、 GLSLには に相当するものは存在しないことに注意してください。GLSL は、頂点データをプログラムに提供した後の Vertex Shader ステージで処理を開始します。

于 2013-01-18T15:42:42.623 に答える
1

GLSLをどのように使用しますか?

GLSL は、シェーダーを実装するための完全に独立した言語です。シェーダーは、OpenGL 実装によってコンパイルされ、OpenGL レンダラーで実行されるプログラムです。GLSL は、ホスト プログラムで使用するものではありません。

ベクトル演算のホスト側には、いくつかのライブラリがあります。

または、まだ開発の非常に初期の段階

gl.h をインクルードして vec3 とクロス関数にアクセスするだけですか?

それはそれがどのように機能するかではありません。

于 2013-01-18T16:00:59.170 に答える