私は私が抱えている問題について少し当惑していglOrtho()
ます。私のコードは次の場合に機能します:
// Scenario 1
...
glOrtho(0, _width, 0, _height, 0, 1);
...
glRasterPos2i(0, 0);
...
ただし、この座標系には不満があります。使用したいのは次のとおりです。
// Scenario 2
...
glOrtho(0, _width, -_height, 0, 0, 1);
...
glRasterPos2i(0, -_height);
...
残念ながら、コードの上記の2行を変更するだけで、空白の画面が表示されます。私はOpenGlにかなり慣れていないので、どのようglOrtho()
に動作するのか理解していないと思いました。そこで、次のことを試しました。glRasterPos2i()
// Scenario 3
...
glOrtho(0, _width, -_height, 1, 0, 1);
...
glRasterPos2i(0, -_height);
...
そして、驚いたことに、それはうまくいきました!どうしてこれなの?上記のコードは私の目的には不十分なので、問題を解決できない限り、シナリオ1を使用します。シナリオ1と3が機能する理由について誰かが洞察を持っていますが、シナリオ2は機能しませんか?私のウェブ検索によると、シナリオ2は機能するはずなので、何かを誤解しなければなりません。
それが役立つ場合はglDrawPixels()
、画像を描画するために使用しています。ここで、_heightと_widthは画像の高さと幅です。
私はとを使用Windows 7
してQt 4.7.4
います。
さらに情報が必要な場合は、お知らせください。
glOrtho(0, _width, -_height, 0, 0, 1)
編集:元のタイプミス。代わりに読み取る必要がありglOrtho(0, _width, _height, 0, 0, 1)
ます。