OK, I fixed the search light effect. Now it looks... even more amazing, if you can believe it.

After that, I sensed a performance hit, but I'm not sure of that. Interestingly, ray passes are being more close to each other now. After that I decreased the passes from 64 to 32.

Big performance increase and still looks good!!! But presets are broken in the process. Now I have to recalibrate the presets, it is harder than you think.
Now, I have awful if codes inside the lightshaft code, like 10 of these:
if ( hour > (endsunrise - 2) && hour < endsunrise + 1 ) { //float trans1 = clamp(min, 0,1); Exposure = lerp (morningshaftex, noonshaftex, float(min / 59)); Decay = lerp (goldendecay, noondecay, float(min / 59)); saturatex = lerp (goldensaturate, noonsaturate, float(min / 59)); }Now, how am I gonna take them out? If I can take them out, I may able to reduce the passes to my target 8 with some texture scaling and cheap blurring. I may end up with a SM 2.0 performance shader.
1. Move to an Oblivion script? (I don't know if I can write one, and I'm not sure about the script-shader variable updating performance)
2. Move to vertex shader? (that I can do, if I know how) A float3 output that can be read in pixel shader can do the job.
3. ?
Some insight please?