2016-11-24 16 views
0

私はOpenGLを初めて使いました。頂点シェーダとフラグメントシェーダを理解しようとしています。各頂点に必要な色を定義すると、頂点シェーダを使用してグラデーションを作成できますが、たとえばFragCoord変数を使用する場合は、グラデーションをフラグメントシェーダで作成することもできます。OpenGL:フラグメントとグラデーションの頂点シェーダ?

私の質問は、両方の種類のシェーダーを使用してカラーグラデーションを作成できるように思われるからです。私は頂点シェーダの方が速いとか、誰もが使っているようだからだと思っていますが、確かめたいだけです。

+0

勾配の種類によって異なります。あなたは(面ごとの)線形グラデーションがほしいならば、頂点シェーダを使ってGPUに補間をさせてください。他のタイプの場合は、フラグメントシェーダがほとんど必要です。 –

+0

ええ、一枚一枚は私が欲しかったものでした。情報をありがとう – MysteryPancake

答えて

0

...誰もがフラグメントシェーダは絶対にすべてをレンダリングするために近代的なOpenGLで必須の頂点を使用して、彼らに

を使用しているようだからです。 だから皆はの両方を使用します。頂点での色を計算するのは頂点シェーダの責任であり、それらの間を補間するOpenGLと、補間された値を出力カラーアタッチメントに書き込むためのフラグメントシェーダです。

†OK、imageStoreで計算シェーダを使用することもできますが、ここではラスタライゼーションパイプラインについて説明しています。

関連する問題