私は約1年間OpenGLを使って作業していましたが、多くのことを学びました。残念なことに、私がそれを学んだのは、以前の3.xのやり方で、即時モード、デフォルトのシェーダ、行列スタックなどを意味していました。しかし、OpenGLの仕様を見れば、私は物事を行う新しい方法のいくつかを完全には理解していません。OpenGL 3.1-4.1新しく廃止された機能
私が理解しているように、彼らは行列スタックをなくしました。つまり、あなた自身の変換行列を追跡する必要があります。複雑ではないようです。彼らはまた即時モードを取り除きました。つまり、ピクセル/ノーマル/テクスチャなどを送信するVBOまたはVAO(どちらがどちらか、おそらく両方がわからない)を使用する必要があります。情報をシェーダプログラムに送る。私は実際にこれらのオブジェクトの仕組みを理解することはできません。すべての情報をそれらに入れる必要があると思いますし、ピクセル、ノーマル、およびテクスチャ座標の間にセパレータを表示するようなものを提供します。誰かがこれが実際にどのように機能するかを簡単に説明することができますか(それを説明するリンクを私に送ってください)?私はウィキペディアを試して、それをグーグルでやっていましたが、それでもまだそれを理解していませんでした。
私が知りたいと思っているもう一つのポイントは、シェイダーです。私はそれらをコード化する方法を尋ねるつもりはない、ちょうどそこに入る必要があり、openglがあなたのために何をするのか。具体的には、基本レンダリングプログラムを得るためにシェーダで何をする必要がありますか?実際の頂点の位置を計算するには、すべての結びつき計算を行い、行列を使用する必要があることは分かっています。しかし、OpenGLはバックフェールのカリング、ラインクリッピング、ポリゴンの塗りつぶし、その他の低レベルの問題を処理していますか、シェーダにあなたのコードをコード化する必要がありますか?
返信いただきありがとうございます。私は確かにチャンスを得ると、そのリンクを見ています。あなたが書いたもののように、エッチシェイダーが何をすべきか分かっていました。あなたが何を描くべきかを決定しなければならないか、あるいはOpenGLがまだそれをあなたのためにしたのかどうかは分かりませんでした。あなた自身(これは、神様に感謝しているようです)。非常に有益な答え+1 – Zepee
あなたは歓迎です – Bojan
チュートリアルへのあなたのリンクは今壊れています。 – Ruslan