フレームバッファ (Frame Buffer) は、GPU(グラフィック処理装置)が描画した画像データを一時的に保存するためのメモリ領域のことです。最終的にディスプレイに表示されるピクセル情報(色や深度など)がこのフレームバッファに格納されます。
具体的な描画のプロセスにおいて、フレームバッファの役割は次のようになります:
描画内容の一時保管:
ゲームやアプリケーションのシーンがGPUによってレンダリングされると、まずその結果がフレームバッファに保存されます。このバッファには、各ピクセルの色、透明度(アルファ)、深度(Zバッファ)などが含まれます。
複数のレンダリングターゲット:
フレームバッファには、単純なカラーバッファだけでなく、デプスバッファやステンシルバッファなど、特定の描画計算に使われる複数のバッファも含まれる場合があります。
スクリーンへの出力:
フレームバッファに保存されたデータは、画面リフレッシュのタイミングでディスプレイに出力され、ユーザーが目にする最終的な画像となります。
カラーバッファ:
各ピクセルのRGB(赤、緑、青)値を格納します。これが最終的なスクリーンに表示される色です。
デプスバッファ(Zバッファ):
ピクセルの奥行き情報を保存し、シーン内の物体が他の物体に対して前後関係を持つかどうかを判断します。これにより、手前のオブジェクトが奥のオブジェクトを隠すといった処理が可能になります。
ステンシルバッファ:
特定のピクセルを描画するかどうかを制御するために使われます。マスク処理やシャドウの描画などで活用されます。
フレームバッファは、ゲームやアプリケーションがフレームごとに行うリアルタイム描画の中核を担っています。描画結果がここに集約され、最終的な表示内容としてディスプレイに出力されるため、フレームバッファの容量や処理速度はレンダリングパフォーマンスに大きく影響します。