Sega Saturn draws polygons as quad.Thanks for this method, VDP1 can draw distorted image correctly. Modern GPUs draw polygons as triangles. They can't draw distorted quad image correctly.
To avoid this failure, Generally perspective correction method is used. Since Perspective correction uses z value in 3D space and VDP1 does not have z vale, VDP1 emulator needs to calculate z value. This method works fine, polygons are draw as if they are in 3D space. like this.
But in some games These polygon are draw as just distorted image. At this time this emulation method does not work.That's problem!
Tessellation solves this problem. subdivide quad vertex to add hints to interpolate pixels. I implement this method to uoYabause. It seems work very well.Farther more, polygons in 3D space are also improved! I'm very happy this result. But there's a problem. Cpu power is needed to subdevide vertex and GPU power is needed because amount of vertex are increased. Then emulation is slow down.
I know modern GPUs have tessellation function. But most of android devices still can't use this function. sigh.
posted by: devMiyaxBack