int SDL_LockTexture(SDL_Texture* texture, const SDL_Rect* rect, void** pixels, int* pitch)
texture | アクセスのためにロックするテクスチャ. SDL_TEXTUREACCESS_STREAMINGで生成されている必要がある |
rect | アクセスのためロックする領域のSDL_Rect. NULLのとき全体をロックする |
pixels | ポインタ変数のアドレス. ロックされた領域で正確に合されたここにテスクチャのメモリの先頭アドレスが代入される |
pitch | ロックされたピクセルの幅が代入される. 幅は1行のバイト数である |
最適化のため, テクスチャのロックで使用するメモリ領域には, 前回アンロックしたテクスチャの領域のデータは書き込まれていない. pixelsパラメータに渡したポインタが示すアドレスのメモリには, まだデータが残っているかもしれないが, それは単なる偶然でしかない.
pixelsパラメータに渡されたポインタが示すメモリをVRAMに転送してテクスチャのアンロックするにはSDL_UnlockTexture()を使用すること.
**注意** アンロックする前に, ロックしたテクスチャ領域の全てのバイトに書き込むこと. そうしなければテクスチャにはランダムな内容が含まれてしまう.
pitchは通常は [ピクセルのバイト数] * [テクスチャを生成したウィンドウの幅] であるが, パッディングでこれよりも大きい場合もある. パッディングのバイトの内容はこれ以降の関数では無視される. ロックされたテクスチャのx, yのピクセルの先頭からに書き込むには, y * pitch + x * [ピクセルのバイト数] を使用すること.