私はローファイの低解像度(1024x576)ゲームを作っていますが、適切なアンチエイリアスの代わりにスーパーサンプリング(2048x1152でゲームをレンダリングしてから縮小)するだけで逃げることができました。Pygame + PyOpenGLを使用して、ディスプレイのまっすぐではなくサーフェスに描画しますか?
問題は、OpenGLコマンドを表示面ではなくメモリ面にレンダリングする方法がないことです。方法はありますか?
私はローファイの低解像度(1024x576)ゲームを作っていますが、適切なアンチエイリアスの代わりにスーパーサンプリング(2048x1152でゲームをレンダリングしてから縮小)するだけで逃げることができました。Pygame + PyOpenGLを使用して、ディスプレイのまっすぐではなくサーフェスに描画しますか?
問題は、OpenGLコマンドを表示面ではなくメモリ面にレンダリングする方法がないことです。方法はありますか?
あなたはimage.blit(画像2)を行うことができますhttps://www.pygame.org/docs/ref/surface.html#pygame.Surface.blitを使用すると、忘れてはいけないこと
にしたい任意の特別なフラグを使用します。表示オブジェクトは、表面から継承します。だからあなたは画面を別のSurfaceにblitしてスケールダウンすることができます!対応するモジュールを使用してサブプロセスを作成し、dummy
ビデオドライバでディスプレイを初期化し(headless_no_windows_needed.py
Pygameの例を参照)、SurfaceをPixelArrayを使用して単純なリストに変換し、IPCを介して送信し、メインプロセスで受信してblit a OPENGLフラグなしの表示。 FBOを使用することもできます。
OpenGLでフレームバッファオブジェクト(fbos)を扱ったことがありますか? fboを作成し、テクスチャを添付してから、そのテクスチャを使用することができます。あなたがこれとまだ苦労しているなら、私は答えを書くことができます。 – CodeSurgeon
SSAAのような低解像度でも高価になることがあります。 OpenGLに含まれているデフォルトのMSAAを見ましたか?もう1つの選択肢は、基本的に画像のエッジをぼかすFXAAのようなシェーダベースの手法です。 – CodeSurgeon