bool SDL_FlushRenderer(SDL_Renderer *renderer);
| SDL_Renderer * | renderer | レンダリングコンテキスト |
(bool) 成功のとき真, 失敗のとき偽を戻す. SDL_GetError()を呼んで詳細を知ることができる.
SDL_Rendererを使用した後に追加でOpenGL/Direct3D/Metal/その他を直接呼び出そうとしない限り, この関数は必要ない. (そして, 本来は使うべきではない.)
この関数は極めて特殊な場合のためにある: SDLのレンダーAPIを使っていて, SDLレンダーAPIの呼び出しに追加してOpenGL/Direct3D/その他を呼び出す場合である. この場合, SDLレンダーAPIと, 連携して使用する下位レベルAPIの間で, SDL_FlushRenderer()を呼ぶ必要がある.
これ以外の場合, この関数は不要である.
この関数を呼び出すと, SDLは1つのバッチのキューに入れられた保留中のレンダリングを全て掃き出し, 内部にキャッシュされた状態を無効状態にマークする. そのため, 後で状態を最初からやり直す準備が行われる.
その結果, SDL以外でレンダリングをする前にSDLレンダラの状態を保存する必要はない. しかし, Direct3DやOpenGLによる予期しない状態の変化で混乱が生じる可能性がある. 特定の状態を保護する必要があるならば, 必要性を判断し, 状態の変化に備えるべきである.
この関数を呼べるのはメインスレッドのみである.