Now with DirectX 11 and OpenGL 4 support hardware accelerated tessellation units and tessellation shaders, the next generation of emulators (or graphics plug-ins) could potentially go a step further and use displacements maps and subdivision surfaces to transform low-res poly models into high-res models with very fine levels of detail.
Here's my line of thought, in some emulators we can already swap out textures for high-res ones and many have made efforts to making high-res texture packs. Furthermore people have figured out how to rip geometry out of each frame and thus . Therefore from my point of view (without looking into the technicalities):
* We know which textures are applied to which meshes.
* We know how to exchange textures.
* We know how to extract meshes/models at run-time.
* We have hardware tessellators, various types of shaders, most importantly tessellator and geometry shaders.
With these given variables, we (roughly) know how to identify and map texture(s) to a given model, therefore it seems plausible to assume we could mark what gets converted to subdivision surface to turn a low-res model (like in N64 games) into high-res smoothed surface furthermore since we can use any texture we want, we could use displacement maps to make much finer levels of detail.
For example take link in zelda OOT/MM, Link in these games on N64 are low-res model, if we could get a high-res model of him from another game. We could use a tool to parametrize the high-res Link into a low-res control mesh and displacement map. Then an artist could tweak these with the original low-res mesh.
Even if this isn't appropriate an artist could still take the original low-res model, make a high-res ones with their own adjustments and make a displacement map in the 3d package they are using.
So back to the emulator, the graphics plug-in will have a tesselator/geometry shader that will treat the original mesh as a control mesh, subdivide this into a high-res smooth continuous surface and then apply the displacement map to add back in all the fine levels of detail.
So what do you guys think? does this seem feasible?
EDIT: I've got a discussion going on dolphin's forum if anyone is interested.
Here's my line of thought, in some emulators we can already swap out textures for high-res ones and many have made efforts to making high-res texture packs. Furthermore people have figured out how to rip geometry out of each frame and thus . Therefore from my point of view (without looking into the technicalities):
* We know which textures are applied to which meshes.
* We know how to exchange textures.
* We know how to extract meshes/models at run-time.
* We have hardware tessellators, various types of shaders, most importantly tessellator and geometry shaders.
With these given variables, we (roughly) know how to identify and map texture(s) to a given model, therefore it seems plausible to assume we could mark what gets converted to subdivision surface to turn a low-res model (like in N64 games) into high-res smoothed surface furthermore since we can use any texture we want, we could use displacement maps to make much finer levels of detail.
For example take link in zelda OOT/MM, Link in these games on N64 are low-res model, if we could get a high-res model of him from another game. We could use a tool to parametrize the high-res Link into a low-res control mesh and displacement map. Then an artist could tweak these with the original low-res mesh.
Even if this isn't appropriate an artist could still take the original low-res model, make a high-res ones with their own adjustments and make a displacement map in the 3d package they are using.
So back to the emulator, the graphics plug-in will have a tesselator/geometry shader that will treat the original mesh as a control mesh, subdivide this into a high-res smooth continuous surface and then apply the displacement map to add back in all the fine levels of detail.
So what do you guys think? does this seem feasible?
EDIT: I've got a discussion going on dolphin's forum if anyone is interested.
Last edited: