Libgdx - OpenGL:使用glScissor进行UI设计会让动画生涩,我该如何修复它?

时间:2014-09-09 17:14:06

标签: java opengl opengl-es libgdx

我正在构建一个包含许多项目的ListView,并且我已经在每个项目上应用了glScissor 防止图像溢出其区域。一切似乎都很好。 但是当我快速拖动它们时,所有物品都在移动,但似乎glScissor不适合图像。 我认为这个问题可能是因为glScissor在图像移动时将整数作为参数 浮动精度,我必须在使用时执行转换。如果是这样,我该如何解决这个问题? 提前致谢。 这是我的代码段:

enableScissor((int) clippingRectangle.x,
                    (int) (clippingRectangle.y + clippingRectangle.height),
                    (int) clippingRectangle.width,
                    (int) clippingRectangle.height);
draw(this.itemBorder, this.getAbsoluteX(), this.getAbsoluteY());//draw Texture here
disableScissor();

其中enableScissor是:

public void enableScissor( float clipX, float clipY, float clipWidth, float clipHeight) {
    Gdx.gl.glEnable(GL20.GL_SCISSOR_TEST);
    Gdx.gl.glScissor((int)(clipX),
                    (int) (clipY),
                    (int)(clipWidth),
                    (int)(clipHeight);
    }

你可以看到这是在没有视频启用glScissor的情况下实现的: http://youtu.be/yJlhO_ZBufE 这是启用glScissor: http://youtu.be/vGRfgYnHixA?list=UU3ndtzcT6vPfupZ4_Bm1vrQ

0 个答案:

没有答案