2017-03-06 7 views
1

私はローファイの低解像度(1024x576)ゲームを作っていますが、適切なアンチエイリアスの代わりにスーパーサンプリング(2048x1152でゲームをレンダリングしてから縮小)するだけで逃げることができました。Pygame + PyOpenGLを使用して、ディスプレイのまっすぐではなくサーフェスに描画しますか?

問題は、OpenGLコマンドを表示面ではなくメモリ面にレンダリングする方法がないことです。方法はありますか?

+0

OpenGLでフレームバッファオブジェクト(fbos)を扱ったことがありますか? fboを作成し、テクスチャを添付してから、そのテクスチャを使用することができます。あなたがこれとまだ苦労しているなら、私は答えを書くことができます。 – CodeSurgeon

+0

SSAAのような低解像度でも高価になることがあります。 OpenGLに含まれているデフォルトのMSAAを見ましたか?もう1つの選択肢は、基本的に画像のエッジをぼかすFXAAのようなシェーダベースの手法です。 – CodeSurgeon

答えて

0

にしたい任意の特別なフラグを使用します。表示オブジェクトは、表面から継承します。だからあなたは画面を別のSurfaceにblitしてスケールダウンすることができます!対応するモジュールを使用してサブプロセスを作成し、dummyビデオドライバでディスプレイを初期化し(headless_no_windows_needed.py Pygameの例を参照)、SurfaceをPixelArrayを使用して単純なリストに変換し、IPCを介して送信し、メインプロセスで受信してblit a OPENGLフラグなしの表示。 FBOを使用することもできます。

関連する問題