OpenGL Scale Single Pixel Line
クエリでは、320x240 の内部解像度を維持しながらスケーリングするゲームを作成したいという要望を表現しています。画面上でこの解像度の倍数で出力します。ただし、現在のアプローチでは、960x720 にスケールアップすると、3 ピクセルの世界に 1 ピクセルの線がレンダリングされます。
この問題は、「320x240 glOrtho キャンバス」にレンダリングできるという前提から発生します。実際には、アクティブなウィンドウ解像度は 960x720 の 1 つだけです。コードのlediglichは、レンダリングするプリミティブの座標をスケールします。
これを解決するには、別個の「320x240 glOrtho Canvas」の概念を放棄し、代わりにウィンドウの実際の解像度に焦点を当てる必要があります。これには、ウィンドウの実際の解像度で描画する前に、実際に 320x240 の画像にレンダリングする必要があります。
このプロセスの具体的な手順には、320x240 のテクスチャの作成、それをフレームバッファ オブジェクトにアタッチし、FBO をバインドすることが含まれます。レンダリング。ビューポートは画像のサイズに設定する必要があります。 FBO のバインドを解除した後、ビューポートをウィンドウの解像度に設定してウィンドウにテクスチャを描画できます。
この方法では、ゲームの内部解像度 320x240 を維持しながら、ピクセル化されたライン レンダリングを保持し、さまざまな出力解像度に対応できます。
以上がさまざまな解像度にスケーリングしながら OpenGL でピクセル化された線をレンダリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。