0

OpenGLの要点を理解しようとしているうちに、最終的にGLSLに出くわしました。以前、三角形や色などの最小限のものに OpenGL を使用したことがありますが (まだあまり学んでいないため)、glBeginglEndなどの廃止された関数について知ったとき、学んだばかりのことを忘れなければなりませんでした。

今、私は頂点バッファー頂点バッファー オブジェクト頂点およびフラグメント シェーダーに出くわしました。OpenGL と共に GLSL を使用する理由 純粋な OpenGL ではできないことは何ですか? GLSL シェーダーをプログラムに統合すると複雑さが増します。外部ファイルを扱うか、シェーダーをプログラムに埋め込む必要があり、作業が増えるからです。

私はほとんど経験がありません。このテーマについてもっと学びたいのですが、この不可解な矛盾のために、私は先に進むことができません。

では、なぜ OpenGL と一緒に GLSL を使用するのでしょうか?

4

1 に答える 1

3

あなたの質問は GLSL に関するものではありません。それは一般的なシェーダーについてです。GLSL は、OpenGL でシェーダーを提供する認可された方法です。あなたの質問は、「なぜ OpenGL と一緒にシェーダーを使用するのですか?」ということです。

シェーダーが実行でき、固定関数が実行できないことについて、すべての詳細を説明するつもりはありません。ただし、固定機能の OpenGL では実行できないことのほんの一部を以下に示します。

私は(長い間)続けることができますが、あなたは要点を理解していると思います. 「視覚的忠実度」などのささいなことを実際ににする場合は、シェーダーを使用する必要があります。

問題は、「なぜシェーダーを使用するのか」ではありません。それは「シェーダーを使わない理由」です。

于 2013-04-13T00:10:06.320 に答える