Неожиданные результаты реализации простого размытия в движении в Libgdx

На двух прикрепленных рисунках скриншот рабочего стола libgdx функционирует, как и ожидалось. Скриншот с моего Galaxy Nexus, к сожалению, не такой, как ожидалось. Я пытаюсь создать простой эффект размытия движения или следа.

Рендеринг на рабочем столе, как я и ожидал. Libgdx running on my desktop, working as expected

Неправильный рендеринг на моем Galaxy Nexus. Libgdx running on my Galaxy Nexus not working as expected

Текстуры кругов отрисовываются в цикле for во время рендеринга, и эффект достигается с помощью растрового изображения с использованием RGBA 0, 0, 0, 0,1f, которое рисуется перед кругами.

Создание screenClearSprite

Pixmap screenClearPixmap = new Pixmap(256, 256, Format.RGBA8888);
screenClearPixmap.setColor(Color.rgba8888(0, 0, 0, 0.1f));
screenClearPixmap.fillRectangle(0, 0, 256, 256);
screenClearTexture = new Texture(screenClearPixmap);
screenClearSprite = new Sprite(screenClearTexture);
screenClearSprite.setSize(screenWidth, screenHeight);
screenClearPixmap.dispose();

Рендеринг

batch.begin();
font.draw(batch, "fps:" + Gdx.graphics.getFramesPerSecond(), 0, 20);
screenClearSprite.draw(batch);
for (int i = 0; i < circleBodies.size(); i++) {
    tempPos = circleBodies.get(i).getPosition();
    batch.draw(circleTexture, (tempPos.x * SCALE) + screenWidthHalf
            - circleSizeHalf, (tempPos.y * SCALE) + screenHeightHalf
            - circleSizeHalf);
}
batch.end();

Итак, что я сделал не так? Возможно, есть лучший способ получить эффект «размытия движения» при движении?

15
задан ian.shaun.thomas 2 June 2012 в 03:27
поделиться