Размытые цвета при рендеринге текстуры FrameBuffer на экран.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Размытые цвета при рендеринге текстуры FrameBuffer на экран.

Сообщение Anonymous »

Я визуализирую группу декалей в буфере кадра, а затем отображаю эту текстуру на экране. Проблема в том, как я пришел к выводу, что смешивание применяется дважды. При рисовании цвета кажутся сильно размытыми по сравнению с текстурой. Но когда я отключаю смешивание в SpriteBatch, которое отображает его на экране, все выглядит нормально, но окончательно визуализированное изображение — единственное, что видно на экране с черным фоном.
Без смешивания:
Изображение

С смешиванием:
Изображение

Код для рендеринга в буфер кадра (другой класс)

Код: Выделить всё

FrameBuffer fb = new FrameBuffer(Pixmap.Format.RGBA8888, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);

// render to FB
fb.begin();

// clear FB
Gdx.gl.glClearColor(0, 0, 0, 0); // Clear with transparent black
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);

for (Decal d : entity.groupedDecals) {
Dbatch.add(d);
}
Dbatch.flush();
fb.end();

// finish with texture
Texture textureHolder = fb.getColorBufferTexture();
texture = new TextureRegion(textureHolder);
texture.flip(false, true);
код для отрисовки буфера кадра

Код: Выделить всё

Sbatch.begin();

for (TextureRegion r: preRenders) {
Sbatch.draw(r, 0, 0);
}

Sbatch.end();
Единственный другой раз, когда Gl вызывается напрямую, — это очистка экрана в основном цикле рендеринга.

Код: Выделить всё

gl.glViewport(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);
gl.glClearColor(0f, 0f, 0f, 0f);
Как мне продолжить?


Подробнее здесь: https://stackoverflow.com/questions/797 ... the-screen
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»