I'm finally done with the visually nasty stuff in terms of DirectX and RPG Maker 2003. Because of the way I implemented framebuffer effects to do screen tones, I can apply an HLSL shader to the texture.
Currently, a software fallback is implemented for both pictures and the screen. It runs alright unless you use the saturation slider, then it starts to slow a little on this netbook. I could implement much cooler effects, but this would be horribly slow on many computers if I did it in software. For more advanced effects, I'll have some HLSL effects.
I can arbitrarily modify the screen at any time to apply a screen effect. All together now, this creates some interesting effects.
Let's say you have a mirror plane, this is how the drawing will look:
1. Draw lower tiles
below the mirror plane (draw any lower tile set as a mirror plane)
2. Apply screen effect using a water shader
3. Draw the mirrored sprite pictures
4. Draw normal lower tiles (upper/lower)
5. Draw sprites
6. Draw upper tiles and sprites that are to appear above things
7. Apply a screen effect if using screen tint / or apply an HDR effect
So you'll get the typical "Next-Gen" treatment on this 2D game. If an effect is supposed to be applied to a specific object, it gets used right when that object is drawn and gets attached to that object instead of being explicitly used in the drawing loop.
Terms
Framebuffer - The best examples of Framebuffer Effects were the swirls and effects when you entered a battle in Final Fantasy games on the PS1.
HLSL - This is an entire programming language designed for special effects on video cards. Chrome, Normal Mapping, Water Effects, Bloom, HDR, etc. (pretty much any effects you see now these days) were written as "Shaders" in these languages.
software fallback - "Fallbacks" are things you do when some features aren't present on a computer. If your computer does not have shader model 2.0, it will use these techniques I wrote today. If it does, the shader will run much faster than my software fallback.