0

私はOpenGLでゲームを作っています。を使用して変換行列を掛けたビューポートがありglOrthof()ます。ゲームはほぼ終了しましたが、視認性を高めるためにすべてを少し縮小することを土壇場で決定しました。画面が現在どのように設定されているか(黒いボックス)と、画面をどのように拡大縮小したいか(赤いボックス)を示す図を含めました。

窓

ブラックボックスの幅と高さを考えるとxy図では、ビューポートを調整することは可能でしょうか、それとも何らかの行列乗算を実行してウィンドウサイズを大きくすることは可能でしょうか?

実際にゲームを拡大縮小したくはありません。ウィンドウのサイズを大きくしたいだけです(最終的にはゲームを拡大縮小すると思いますが、相対的な拡大縮小を維持したいと思います)。

現在、これが私のビューの設定方法です。

glViewport(0, 0, backingWidth, backingHeight);

glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrthof(-backingWidth/2.0, backingWidth/2.0, -backingHeight/2.0, backingHeight/2.0, -1.0f, 1.0f);

glMatrixMode(GL_MODELVIEW);

ここで、、backingWidthおよびbackingHeightはそれぞれブラックボックスの幅と高さです。

私はOpenGLにかなり慣れていないので、すべての助けに感謝します。

4

1 に答える 1

1

同じビューポートサイズでより多くの領域を表示したい場合は、glOrthofに指定された値を増やすことができます。

glOrthofの上部/左側/下部/右側を2倍の大きさにすると、各方向に2倍の大きさが表示され、2倍の量を配置するため、すべてが元のサイズの半分になります。同じピクセル数のコンテンツ。

glOrthofに任意の倍率を掛けることができます。

==編集==

申し訳ありませんが、中央ではなく、Xを右にのみ拡大縮小する必要があることに気付きました。その場合、left属性は同じままにしright、glOrthofの値にさらに追加します。

于 2012-08-14T17:39:41.243 に答える