Android OpenGL ES 2.0动画后,GLES20.glReadPixels读取错误的值

时间:2017-06-27 20:00:00

标签: android animation opengl-es glreadpixels

我有一个正方形,当我点击它时它会伸展,所以它会占用这些图片中显示的所有屏幕

在拉伸之前,我的颜色选择器显示的值非常好

enter image description here

拉伸后我点击机器人腿下方的一点点它给我的值(0,0,255)这是我的背景颜色,而不是我点击的白色(255,255,255)。

enter image description here

我使用GLSurfaceView的{​​{1}}非常快速地(100毫秒)绘制这个动画。整个动画只包含6帧。

绘图本身来自

setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY)

动画看起来非常好并且填充了... ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); scheduler.scheduleAtFixedRate(new Runnable() { @Override public void run() { do_stretching(); } }, 0, stretching_frame_delay, TimeUnit.MILLISECONDS); ... void do_stretching() { //change coordinates of white squares vertices kind of "stretching" it surface_view.requestRenderer(); } 区域的所有区域,但颜色选择器的行为类似于最后一帧不会被绘制并读取动画完成前确实存在的背景颜色。我注意到如果我画这个动画的速度较慢,因此使用更多的帧我可以点击更接近这个图像的边缘并获得正确的结果但仍然非常接近边缘有GLSurfaceView读取背景颜色的错误虽然它在动画完成后实际上不可见。这可能是什么问题?

0 个答案:

没有答案