Some significant improvements have been made to the Dreamcast emulator core Flycast by flyinghead that serve to increase the graphics accuracy.
For one, the OpenGL renderer has mip-mapping support now for the first time. Second, all texture mipmap levels are now uploaded to the GPU. The Vulkan renderer no longer auto-generates mip-maps and instead uses the proper mipmap levels. What happened before is that these auto-generated mipmaps would ‘bleed’, whereas the ones provided by the game do not.
This caused issues with games like Railroad Tycoon 2 where the beach texture was not properly displayed.
Before the fix, you’d have weird magenta colors on the beaches with the Vulkan renderer. This has now been resolved.
To learn more about texture bleeding, you can read this StackExchange article here.
Another example of what texture bleeding looks like can be seen down below (and note that this is now also fixed) – previously texture bleeding would regularly occur at upscaled resolutions –
Many of these issues have now been fixed. See the picture down below how the title screen above for instance looks like now –
How mip-mapping looks like on Dreamcast
To best illustrate the effect mip-mapping has on the video output quality, let us show some comparison pictures at the Dreamcast’s native 640×480 resolution.
The picture down below shows Soul Calibur running with mip-mapping disabled:
The picture down below shows Soul Calibur running with mip-mapping enabled:
At higher resolutions you will notice the blurriness starting to gradually disappear.
Combining mip-mapping with anisotropic filtering
The Vulkan renderer allows you to apply Anisotropic filtering (AF) to the textures (to learn more about it, read the Wikipedia page here).
While you can still make out some of the far textures in the distance being slightly blurry as a result of the mip-mapping, overall the blurriness factor is significantly reduced as a result of the agressive 16x AF filtering being applied here, even at a very low resolution of 640×480.
Even further tweaking possible with PowerVR postprocessing filter
You don’t have to stop at mipmapping and AF filtering of course. You can also take advantage of leilei’s PowerVR post processing filters on top to further enhance the authenticity of the picture.
NOTE: For now, the PowerVR postprocessing filters only work with OpenGL. Vulkan support will arrive later.
Here we have mip-mapping enabled and PowerVR 2 Postprocessing filter enabled. NOTE: Because this is the OpenGL renderer, anisotropic filtering right now is not available, so we cannot show you a picture of how the PVR2 postprocessing looks like in conjunction with 16x AF. Neither can we show a similar picture on Vulkan right now because the aforementioned PVR2 postprocessing filters are not available there. Hopefully both renderers can be at feature parity soon in these departments.
How to get it
There are two ways to update your Flycast core. Start up RetroArch first –
a – If you have already installed the core before, you can go to Online Updater and select ‘Update Installed Cores’.
b – If you haven’t installed the core yet, go to Online Updater, ‘Core Updater’, and select ‘Flycast’ from the list. It will then download and install this core.