bool SDL_RenderPresent(SDL_Renderer *renderer);
| SDL_Renderer * | renderer | レンダリングコンテキスト |
(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.
SDLのレンダリング関数は背景バッファを操作する. つまり, SDL_RenderLine()のようなレンダリング関数を呼んでも, 背景バッファに線が描かれるだけで, 直接画面には描かれない. グラフィックを描いた後, 背景バッファを画面に反映させる必要がある. よって, SDLレンダリングAPIを使う場合は, フレームを全て描き, そしてこの関数をフレームごとに呼んでユーザに見せる必要がある.
そのため, SDLレンダリングAPIを使用する場合は, フレームとして必要なものを全て描き, その後でこの関数を1フレームごとに呼んでユーザに描画結果を表示することになる.
背景バッファは反映した後は無効になると考える必要がある. つまり, 前のフレームのグラフィックが残っているとみなしてはならない. 全てのピクセルを上書きする場合でも, 各フレームを描く前にSDL_RenderClear()を呼んで背景バッファを初期化することを強く推奨する.
テクスチャへのレンダリングの場合, テクスチャに描画した後でSDL_RenderPresentを呼ぶ必要はなく, かつ呼んではならない.
テクスチャには背景バッファの概念がないため, レンダーターゲットをデフォルトに戻すにはSDL_SetRenderTarget(renderer, NULL)を呼ぶだけでよい.
テクスチャのレンダリング中にSDL_RenderPresentを呼ぶと失敗する.
この関数を呼べるのはメインスレッドのみである.