Hi.
Among other stuff lately i've been experimenting on improving my glow but after many efforts i've encountered an issue that i need some help with, let me explain.
My shader involves a series of backbuffer passes like:
-Threshold (Pass)
-Downsample (Pass)
-Blur Horizontally (Pass)
-Blur Vertically (Pass)
-Store to shader Image A,B,C.. (6 Iterations)
-Combine A,B,C,D,E,F and draw outcome.
I do the various passes in the following manner.
Code:
D.highPrecColRT(true); //HDR render targets enabled
...
D.fxBegin();
D.clearCol(BLACK);
Shaders("User/Custom Shader").getTech("BlurHorizontal").draw(glow[i], &myRect); //myRect = downsampled dimensions of the screen that i want my shader to work on
rrt[i] = D.fxEnd(); //rrt[i] in an array of ImageRTPtr type used to store the pre-combined results
Everything seems to work ok except that some artifacts in the gradient of the glow seem like they come from LDR shader steps so i wanted to ask if the following...
D.fxBegin();
//Draw shader pass
storeImagePtr = D.fxEnd();
...breaks the HDR procedure by doing an intermediate downgrade to something like HDR->LDR Draw->HDR Store. Finally i don't see much difference when i turn HDR off on runtime.
I'm posting a screenshot that due to that is not so smooth.