stackotter / delta-client

An open source Minecraft Java Edition client built for speed.
https://deltaclient.app
GNU General Public License v3.0
322 stars 33 forks source link

Implement off-screen rendering for future expansion. #145

Closed gracien-app closed 1 year ago

gracien-app commented 1 year ago

Description

This PR implements a new type of renderer which is responsible for managing render target textures and render pass descriptor used for off-screen rendering. It's render() function uses off-screen render target texture as source for on-screen rendering, and performs such pass using a full sized quad onto which texture is rendered.

All features (rescaling window) are still fully functional due to updateRenderTarget(). Profiler indicates significant improvement in encoding times and reduction of FPS fluctuation. Rendering is no longer limited by fetching view's render pass descriptor for the drawable.

Additional (off-screen) render pass performance impact is negligible (if any).

Type of change

Checklist:

stackotter commented 1 year ago

Oh, and I commented on the upscaling factor of 0 thing as well