I read some posts asking about FX files integration.
On my behalf, Vertex shaders could be nice for some effects of course, but in our case, with auroraclock, due to the fact we have a good number of 3D artists in various locations, and using some different 3D softwares, we are using a fully 2D approach.
In this case, pixel operations could be a must. During software engineering graduation, I had some image processing subjects. Now you can find many papers around, about porting MATLAB algorithms in real time on pixel shaders. That's simply render the full screen to a texture, and then repass it as a rendering target, with this time a pixel shader on it.
I think that could do the job, even for some sprites, this time, without having to render to texture, save, then render again.
Simply applying the PS over it as a material attribute.
All that I would need is a pixel shader entity, loadable by a psh file, (not necessarily HLSL, or GLSL, even shader asm could do it for the moment), and a function to set a costant. This would be a very limited support, but at least of some interest. For example, I was wondering
how to implement a Silent Hill 2 like noise effect on full screen. Being not able to access render frame, makes this impossible of course.
Without shaders that would be not a chance anyway, since there is no way you can have a decent frame rate, with rendering to texture, locking memory, upload to system memory, do the job, and upload again...for every frame...
With PS that could come easily using a noise distribution pass, then any convolution matrix applied for every pixel. I'm sure shader asm, and costant settings can take place on DX8, if you check my site, on 3D, the images from the toonish engine are made on DX8 with vs and ps in asm. (1.0 and 1.2). (
www.crashtheuniverse.com)
I think that would be a very interesting feature, if coupled with the capability of passing an additional texture unit, or so.
(for example, real time bump, light maps, glows, sepia toning, and so on).
That would give a very wide set of opportunities at design stage, and I think with a relative small trade-off.
That's not the same for the programming side. That would mean a total new block of features.
If that's a burden (and I know it can be), that could be nice, to have some more access to the engine via plug-in.
If we can find a way to give me the capability, of setting some data, like a PS to be used, or some costants, without being the whole state
resetted by the internal renderer, I can already think of a nice plug-in to process this all.
Let me know what you think