reicast-emulator icon indicating copy to clipboard operation
reicast-emulator copied to clipboard

Texture tiling

Open ppsspp213 opened this issue 11 years ago • 6 comments

Noticed on a few games the textures are tiling with gaps between them on menu screens, here's a pic of Crazy Taxi with tiling around the logo.

2cgbsw2


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

ppsspp213 avatar Dec 28 '13 13:12 ppsspp213

This is a limitation of the game's resolution. It happens on many cases. Dunno if it can be fixed on the current renderer without speed taking a major hit. Scaling is very expensive on Android.

MrPsyMan avatar Dec 30 '13 08:12 MrPsyMan

Why not have the emulator fire off the am / wm command to lower the Android resolution? http://forum.xda-developers.com/showthread.php?t=2404783

AbandonedCart avatar Feb 21 '14 07:02 AbandonedCart

The issue is the way pixel mapping is done in dreamcast games. Games assumed that the next pixel comes at x+1. drawing to [10, 15] is assumed to take 6 pixels. Though, in reality, drawing needs to be done in [10, 16) range ( [10, 15.9999]).

When we upscale, we insert extra pixels, so

[10, 15], [16, 20], with 2x upscaling becomes [20, 30], [32, 20] leaving an empty pixel.

Sometimes, this is an issue of texture mapping aswell (similar rounding problems)

skmp avatar Dec 30 '14 09:12 skmp

A slow way to detect this would be

if (vtx.aligned_to_pixels && vtx.right) { add 0.999 to x }

if (vtx.aligned_to_pixels && vtx.bottom) { add 0.999 to y }

skmp avatar Dec 30 '14 09:12 skmp

http://www.matim-dev.com/texture-packer---get-rid-of-sprite-artefacts.html

ppsspp213 avatar Feb 22 '17 03:02 ppsspp213

This happens on any DC emu when It scales even Dolphin does this

RinMaru avatar Feb 22 '17 05:02 RinMaru