What about directdraw and direct3d (opengl and sdl for linux) which are already implemented for 2d graphics? Is it not "cheating" to make the image resemble another monitor even though what you see is pure output from the emulated hardware? They should remove all filters then since they have nothing to do with the actual hardware only the output device
. I agree with your point but it seems to contradict what already exists in mame.
It seems reasonable that if the game hardware had a dedicated 3d chip (i.e. naomi) then those commands should be able to be sent to equivalent hardware. Let the users tune it for their own cards so the output appears legit.
No no no... you're not understanding the process.
MAME only cares about getting the picture to the output buffer (even before it hits the screen). All emulation (or simulated circuits) between the ROM file and the output must be 100% correct.
What happens AFTER the emulated output (ie: screen blitters and so forth) are of no concern.
Using D3D/OpenGL to actually draw polygons and rasterize textures causes anomalies BEFORE final output due to the large amount of approximation that modern 3D video cards and drivers do.
The only way to guarantee the final output being correct is to emulate the underlying hardware at a register-by-register level in software.
AFTER the image is drawn by the software to a buffer, it can then have any after-effect added that you want. Scanlines, image smoothing, effects... these are all done POST PROCESSING to an output image. What happens post process is none of MAME's concern.
Blitter effects do not contradict the philosophies of MAME, because they have nothing to do with the actual emulation that is occuring. The only reason they exist is to firstly make the information viewable on modern hardware (if MAME only spat out exact video modes, you wouldn't be able to see them on a 31KHz PC monitor) and secondly for novely value.
Again, using 3D hardware to render actual game data causes differences between what a real arcade board would show, and what MAME would show. As such, MAME doesn't do that. You'll find that some of the MAME devs actually work on projects like ZiNc. They understand that MAME is about pure emulation, and things like ZiNc are side projects to enhance the games of old on new hardware. Hence the need for two separate projects to co-exist.