HomeForumsWhat's newResources 
 
 
Yabause mesh processing
mic - Sep 21, 2008
 mic Sep 21, 2008
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):



Yabause screen dump:


 antime Sep 21, 2008
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?

 mic Sep 21, 2008
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.

 mic Sep 21, 2008
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.

 Guillaume Oct 5, 2008
I just checked in the the shaders into Yabause CVS. Thanks for the patch

 mic Oct 23, 2008
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.