MistaED wrote:
I had an idea for motion blur the other day without blowing out the uniform vector limit by 2xing the amount of joints sent over, seeing as through motion blur would only be noticed by the object itself and the limbs (if you assume a typical humanoid figure), duplicating the limb joints, and using the previous frame's joint location applied to these secondary joints would give enough info for the screen space motion vector render... Or even rendering a second pass with lower res approximation of the mesh with just 2x the primary limb/body joints and just have animation outputted from a package with the current and previous joints might work....
But what about morph targets ? I also need motion blur in the context of morph targets ( wich can be fast and high in some case ).
In fact I'm targetting offline rendering similar quality of 2.5D motion blur ( wich is not even satisfaying in some case, but.. ), and at the same time, I'm trying to have a unified approach. I'm counting on the regular horsepower improvement of the graphic cards for having this additional vertex attrribute layer not beeing an issue, utlimately.
Remember I'm working on a machinima application, not a game, and by 'machinima' I'm not talking about toy like software such as iClone and such, but a professional framework able to produce pictures for movies and tv series. So motion blur is very important ( a game can run at 60 or more fps, where motion blur is less and less important, but when you run at 24 or 25 or even 30 fps, quality motion blur is mandatory for professional results, as antialiasing is ).
MistaED wrote:
Regarding the tessellation, currently Horde doesn't support the tessellation units found in modern GPUs/OpenGL 4, from a glance that paper you're referring to does rely on it?
No, it doesn't rely on tesselation units, that's the beauty of this paper ( actualy the first paper, from 2005, called "Generic Mesh Refinement on GPU" and use a clever method of instance drawing of refinement patterns ( pre-subdivided triangles stored on the GPU once and for all ). With this technic, tesselation and fine displacement mapping was available long before tesselation units and even geometry shaders, but surprisingly, very few people use it. You can produce millions of triangle on the fly without even storing them on the GPU nor transfering them from the CPU. There is no limit in the triangles count you can "generate" this way, aside the raw horsepower of the graphic card and the targetted FPS of course.
It is then a futur-proof method for tesselation yet even run on old graphic card.
I'm also thinking to use it for the terrain extension, to add fine adaptive displacement mapping on top on the already existing lod algorythm.