-1

私はしばらくの間、OpenGL を使用するプログラムに取り組んできましたが、最近、次の行で時折エラーが発生し始めました。

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_indexID);

出てくるエラーは次のとおりですが、あまり役に立たないと思います。

0x0000000069E03C13Voxel.exe の(nvoglv64.dll) で最初の例外が発生しました: 0xC0000005: アクセス違反の読み取り場所 0x000000000AA87000

アクセス違反に対して与えられるアドレスはさまざまであり、違反が発生するまでの時間もさまざまです。アクセス違反が発生するまでにかかる時間はさまざまであることを考えると、2 つのスレッドが同じデータにアクセスしようとしていることが関係していると推測されますが、違反が発生したときに同じオブジェクトで作業している他のスレッドが存在することはありません。 ' ミューテックスを使用して、2 つのスレッドが同じデータに書き込めないようにしています。インデックス バッファの ID が有効であることを確認しました。バッファ ID を生成および削除する唯一のスレッドは、データをバインドしてバッファに転送する唯一のスレッドでもあるため、そのためと思われるアクセス違反。

このアクセス違反の原因を追跡または修正するにはどうすればよいですか?

4

1 に答える 1