我正在使用glDrawPixels显示图像。我知道,我可能应该使用纹理,但我有理由不这样做。好吧,至少现在不是。无论如何,正在显示的图像经常被更新,就像它正在被扫描一样。不过,如果我在屏幕上点击,而“扫描仍在进行中,我在我的glDrawPixels上得到了一个AccessViolation异常”,这就可以很好地工作了。
Gl.glDrawPixels(mImageWidth, mImageHeight, Gl.GL_LUMINANCE, Gl.GL_UNSIGNED_SHORT, mDisplayBuffer);mImageWidth和mImageHeight是预期值,所以不是这个问题。
我在glDrawPixels调用之前放置了一个for循环来查看mDisplayBuffer中的每个元素。这里没有发生任何问题,因此访问冲突似乎不是来自mDisplayBuffer。
所以它一定是glDrawPixels中的某个东西,对吧?
我使用TAO框架,这样我就可以使用C#和OpenGl。
发布于 2008-10-31 14:00:27
mDisplayBuffer的类型是什么?它是否会在glDrawPixels执行过程中被另一个线程更新,或者被垃圾收集器重新定位(在DrawPixels调用周围尝试一个范围锁)?
https://stackoverflow.com/questions/251892
复制相似问题