RetroRampage
RetroRampage copied to clipboard
Metal renderer
This PR demonstrates how to implement GPU-accelerated rendering using Metal. This allows the game to be rendered at full display resolution, and with much better performance.
This is a simple implementation, but there are opportunities for further optimizations, for example:
- The map never changes, so the geometry for walls and floor could just be generated once.
- Currently, quads are generated for every wall and floor/ceiling tile in the map, but we could use raycasting to determine the visible set of tiles each frame and only render those.