OpenGL ESv2 または OpenGL 3 Core Profile API で描画できるエンジンをコーディングしました。しかし最近、OpenGL 3 の部分が壊れてしまい、何を変更したか思い出せず、svn コミットログも確認できません。これは、現在ダウンしている bountysource でホストしていたので、Google に引き継いだためです (ただし、OGL3 ポートが壊れています)。 )。
OpenGL ESv2 ではすべて正常に動作しますが、OpenGL 3 ではすべてが水平方向に引き伸ばされてミラーリングされます。どちらも同じ行列と頂点を使用しています。
混乱しないでください。OpenGL ESv2 および OpenGL 3 レンダラーは、異なる方法でレンダリングします。
OpenGL ESv2 は VBO を使用します。OpenGL 3 は VAO と VBO を使用します。
私のエンジンはオープン ソースなので、ここで調べることができます: Source Code。
これらは重要な部分です: Sprite Class、Base Window Class、GL3 Window Class、GL ESv2 Window Class
シェーダー:
ここにいくつかの例の写真があります:
誰かがこの問題の解決策を私に届けてくれたら、私は本当に、本当に嬉しく、感謝しています。
編集: 480x800 ウィンドウでは、gldebugger はこのマトリックスを表示します:
modviewmat
{1, -0, 0, 0}
{0, 1, 0, 0}
{0, 0, 1, 0}
{5, 770, 0, 1}
projmat
{2, 0, 0, 0}
{0, 2, 0, 0}
{0, 0, -1, 0}
{-1, -1, -0, 1}