Can the 'render to 2d target' function you mentioned be implemented with the existing post process features? Or do we need further flexibility/functionality to be added to the present user definable post-process shaders?
No, you need to be able to render OBJ_XX to a texture, then use this texture in the postprocess shader.
Not sure how it's done inside directx, but in the engine i'm currently betatesting (which has no name yet and bound by NDA), has a functions like this :
MeshRenderTexture2DMaskCasterSet(MESH* ,RENDERTEXTURE2DMASK* )
CameraFxShaderRenderTexture2DMaskSet(CAMERA* ,char* ,RENDERTEXTURE2DMASK* )
Then in the shader you can pickup this texture which only renders one or more objects defined this way.
So basicly render to texture (from camera), like a screenTextureMask in addition to screenTexture/processedTexture sent from the engine to the shader. Where screenTextureMask only contains OBJ or skinmeshes/rigidbodies/particles added by a function.
This way you can do test on the mask and apply the postprocess effect to one or more objects in stead of everything rendered in screenTexture.
Not sure this helped since I have never looked inside directx sdk myself.
I was just looking at the heaven benchmark test, and they have a very interesting post process effect where a lens flare comes from the gloss on the model.
Pause the video to 2:12 to see what I'm looking at.
Notice the light flare coming off the side of the building..
http://www.youtube.com/watch?v=9F6zSgtRnkE
Would a shader like that be possible in 3DRad?
Yes I think so, but I don't know how it works, might be a radial blur streched or masked in some way only to output streaks when surface is really bright or something.