Yabause mesh processing

I've extended the shader I added to do Gouraud shading so that it now also handles mesh processing (Windows binary plus the modified source files: http://jiggawatt.org/badc0de/yabamesh.zip)

I haven't tested it all that much, so there could be cases where it's not working properly. It does handle my test program (http://jiggawatt.org/badc0de/mesh.rar) though:

Saturn video output (captured at 352x288, hence the extra black borders):

mesh.png


Yabause screen dump:

meshy.png
 
In your screencaps, it looks like the Gouraud-shaded rectangles are split into four sub-rectangles. Is is an artifact of your capture device or is it some VDP1 internal implementation detail showing through?
 
The one from the Saturn or from Yabause?

I think the shading looks better (smoother) on a real Saturn, but I don't know if it's due to some difference in interpolation resolution, or just because it's an analog signal coming through a composite cable whereas the Yabause output is purely digital.
 
I hooked up the Saturn to my TV and it looked the same. So whatever is happening with the shading isn't due to my capture device.
 
You may want to change the lines

" int xlsb = mod(floor(gl_FragCoord.x),2);\n" \

" int ylsb = mod(floor(gl_FragCoord.y),2);\n" \

to

" int xlsb = floor(mod(gl_FragCoord.x,2.0));\n" \

" int ylsb = floor(mod(gl_FragCoord.y,2.0));\n" \

in case the former causes problems on some cards. I've only had the chance to test the shader on NVidia cards so I don't know how it behaves on AMD.
 
Back
Top