私の質問は、SOIL (シンプルな opengl イメージ ライブラリ) スレッド互換性はありますか?
次のコードを実行すると:
Texture = SOIL_load_OGL_texture (
loc.c_str(),
SOIL_LOAD_AUTO,
SOIL_CREATE_NEW_ID,
SOIL_FLAG_POWER_OF_TWO
| SOIL_FLAG_MIPMAPS
| SOIL_FLAG_MULTIPLY_ALPHA
| SOIL_FLAG_COMPRESS_TO_DXT
| SOIL_FLAG_DDS_LOAD_DIRECT
| SOIL_FLAG_INVERT_Y
);
(テクスチャをロードするため)
スレッドの外では問題なく動作しますが、 std::thread 内で実行するとエラーが発生します
Project2.exe の 0x592527FF (msvcr110d.dll) で未処理の例外: 0xC0000005: アクセス違反の読み取り場所 0x00000000。
メニュー画面やスプラッシュ画面などでロードできるように、スレッド化できるようにしたいと考えています。私の質問は、SOIL がスレッドセーフでない場合、適切な解決策は、スレッドを実行してメニュー/スプラッシュ スクリーンなどを実行し、テクスチャをメイン スレッドにロードできるようにすることでしょうか?