> THe PS2/Namco System 246 appeared immediately after, more or less, and it is a more
> powerful system than Dreamcast and respective arcades based, and doesn't need Directx
> 11 hardware for its emulation.
I can't agree with that in the case of Naomi 2
and in general PS2 "Graphics Synthesizer" is kind of fast but very simple texture unit, also it don't have kind of exclusive features, so its not too hard to emulate it on hardware or even on software (with a lot of smart otimisation of coz)
PowerVR 2 is vise versa have a lot of advanced or exclusive features, here is few of them -
- a lot of texture formats, most of them not supported by DX/OGL, so in the case of DX9 software conversion on CPU needed, plus smart and complex (and as result buggy %)) texture cache needed.
on DX10+ is possible do texture conversion using GPU on the fly, even without notable performance loss, DX10+ plugins works this way.
- 32bit depth precision (kind of Z-buffer), pre-DX10 videocards supports maximum 24bit Z-buffer precision, so even with magic (i.e. hacky ) depth values tranform you'll get different glitches, like disappearing or flashing objects.
- translucent polygon sorting at pixel level, in modern 3D graphics this feature called "Order-Independent Transparency" (OIT).
and this is the biggest PITA in term of emulation, because modern GPU still doesn't have such features (maybe it will be in DX12 ?)
so in pre-DX10 renders only possible triangle-level sorting on CPU, and of course in case of intersecting polygons it will work wrong.
DX11 have new features to implement OIT, look AMD Mecha demo http://developer.amd.com/resources/docum...eal-time-demos/ and TressFX http://www.amd.com/tressfx (btw, sources available)
so, now possible to store all rendered fragments (i.e. pixels - color, depth values and few flags) into one giant linked list buffer in one shader, and do depth sorting and later blending of stored fragments in another shader.
it eats A LOT of GPU time and video-memory, but this is the only possible way to do OIT on current hardware (if you played Tomb Raider (2013) you probably know how butt hurt was people about TressFX performance, and I can tell you - physics calculations is not big deal here, most GPU load because such render technics)
so in DX11 plugin we implemented similar OIT mechanism, and get rid of sorting hacks
TBH possible to do OIT on DX11 with DX10 hardware, and this implemented in our DX10-plugin, but number of elements can be stored (and then sorted/blended/drawed) per pixel limited to maximum 8, in many cases its too few, so we decided to "move forward" to DX11 hardware.
Edited by MetalliC (07/13/13 07:48 PM)