1

glDrawPixelsを使用して画像を表示しています。私はおそらくテクスチャを使用する必要がありますが、使用しない理由があります。少なくとも今のところは。とにかく、表示されている画像はスキャンインされているかのように頻繁に更新されます。これは、座って「スキャン」を終了する限りは問題なく機能しますが、「スキャンがまだ続いている間に画面をクリックするとglDrawPixelsでAccessViolation例外が発生します。

Gl.glDrawPixels(mImageWidth, mImageHeight, Gl.GL_LUMINANCE, Gl.GL_UNSIGNED_SHORT, mDisplayBuffer);

mImageWidthとmImageHeightは期待値であるため、この問題ではありません。

glDrawPixelsが呼び出される直前に、mDisplayBuffer内のすべての要素を調べるforループを配置しました。ここでは問題が発生しなかったため、アクセス違反はmDisplayBufferから発生しているようには見えません。

それで、それはglDrawPixels内の何かであるに違いありませんか?

C#とOpenGlを使用できるように、TAOフレームワークを使用しています。

4

1 に答える 1

1

mDisplayBufferのタイプは何ですか?glDrawPixelsの進行中に別のスレッドによって更新されているのでしょうか、それともガベージコレクターによって再配置されているのでしょうか(DrawPixels呼び出しの周囲でスコープロックを試してください)。

于 2008-10-31T14:00:26.863 に答える