Isn't enbeffect.fx the end (except for effect.txt) of the pipeline? From my understanding, the bloom has already been calculated at this point based on it's HDR input from enbeffectprepass.fx. Isn't that why things like Bokeh brightness get applied in enbeffectprepass.fx? So that their HDR values can be bloomed out? Seems like in enbeffect.fx one is just combining the resultng HDR colors from r1 and the bloom from _s3 and then after that a tone mapping operation would be appropriate. I agree with prod80 about the default code looking weird. It's all personal preference, but whenever I see that code in an ENB preset, I always change it to be just additive. It seems like if you threshold the bloom properly, then you shouldn't get any brightening in dark shadowed areas.Why that? Bloom is part of hdr processing and must be applied to hdr source, tonemapping happen at the end.
TES Skyrim 0.262
Forum rules
new topics are not allowed in this subsection, only replies.
new topics are not allowed in this subsection, only replies.
- Author
- Message
-
Offline
- *master*
- Posts: 229
- Joined: 21 Feb 2013, 03:21
- Location: Los Angeles, CA
Re: TES Skyrim 0.262
_________________
i7-4970K 4.8ghz, 16gb ram, Geforce Titan X 12gb vram, win7
i7-4970K 4.8ghz, 16gb ram, Geforce Titan X 12gb vram, win7
-
Offline
- *blah-blah-blah maniac*
- Posts: 17559
- Joined: 27 Dec 2011, 08:53
- Location: Rather not to say
Re: TES Skyrim 0.262
number6
I said the same what you said, but prod80 said to apply tonemapping before mixing scene hdr with bloom.
For me doesn't matter what anybody preffer as bloom, i just don't see any reason now in additive bloom, it the same wrong as my version, but at least my version do not increase too much brightness when bloom amount set too high (and who do not set it high, if game and presets do not have enough dynamic range to see bloom at low values, like 5%?).
I said the same what you said, but prod80 said to apply tonemapping before mixing scene hdr with bloom.
For me doesn't matter what anybody preffer as bloom, i just don't see any reason now in additive bloom, it the same wrong as my version, but at least my version do not increase too much brightness when bloom amount set too high (and who do not set it high, if game and presets do not have enough dynamic range to see bloom at low values, like 5%?).
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
-
Offline
- *sensei*
- Posts: 372
- Joined: 28 Jul 2013, 23:26
Re: TES Skyrim 0.262
My understanding of HDR is that when using additive bloom the adaptation part should happen before the bloom part (Adaptation -> Bloom -> Tonemapping), and bloom should be done in way where shadows aren't bloomed (any form of highpass, I use levels), sorta of like this:
Normal image, no bloom, only adaptation, color and tonemapping operations:
Bloom texture, which is 19 tap Gaussian, but mixed with SamplerBloom5, which appears to be downscaled original (Sampler 1+2+3+4+5+7+8)*(1/7):
Bloom added to normal image using color+=bloom
But maybe I am just a fool to think so complex.
PS. Boris, now that we are on the topic bloom... if I remove downsampling code from enbbloom.fx, does it then render in fullscreen mode entirely, or is it still scaled somewhere?
Normal image, no bloom, only adaptation, color and tonemapping operations:
Bloom texture, which is 19 tap Gaussian, but mixed with SamplerBloom5, which appears to be downscaled original (Sampler 1+2+3+4+5+7+8)*(1/7):
Bloom added to normal image using color+=bloom
But maybe I am just a fool to think so complex.
PS. Boris, now that we are on the topic bloom... if I remove downsampling code from enbbloom.fx, does it then render in fullscreen mode entirely, or is it still scaled somewhere?
-
Offline
- *blah-blah-blah maniac*
- Posts: 17559
- Joined: 27 Dec 2011, 08:53
- Location: Rather not to say
Re: TES Skyrim 0.262
If you mean no PS_BloomTexture1, PS_BloomTexture2 shaders, then they simply be ignored and PS_BloomPostPass will get "empty" SamplerBloom1-SamplerBloom8 textures, not all of them, but the most, i don't remember which are from PS_BloomPrePass, which from downsampling. The code works like this:if I remove downsampling code from enbbloom.fx, does it then render in fullscreen mode entirely, or is it still scaled somewhere?
//these two passes kind of antialiasing to reduce flicker of small pixels
1) PS_BloomPrePass, input is full screen, output is 512*512.
2) PS_BloomPrePass, input is previous pass 512*512, output is 512*512 (if i remember well).
//these passes are downscaling till smallest
3) PS_BloomTexture1, input is previous pass 512*512, output is 256*256.
4) PS_BloomTexture1, input is previous pass 256*256, output is 128*128.
....
N) PS_BloomPostPass, mix all previous passes to final bloom texture 512*512 size, then it go to enbeffect.fx.
Regarding your examples, bloom computation by gaussian blur is far from reality, we have enough processing power now and don't need to develop fake too much methods. With Skyrim scene of fire only additive doesn't look bad, but what about real world? Do you believe that bloom have similar nature as lenz reflections, which are additive? I don't think so. Bloom represent quality of optics, how much clear and transparent it is, ideal do not produce bloom, the worse is matte. When you look via semi-matte glass, do you see much brighter image than original, as additive mix? For my opinion, bloom blending math is more like sun rays in air. May be i'm wrong, but this is how i understand the lighting works.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
-
Offline
- *sensei*
- Posts: 372
- Joined: 28 Jul 2013, 23:26
Re: TES Skyrim 0.262
yes of course gaussian blur, or any form of blur is not realistic as natural bloom is caused by particles being lit up by light passing through or reflecting of a surface... So yes, much like sunrays lit up the air. Blurring is how it can be faked to some extend, but is in no way reflecting reality...
So each pass writes to texBloom1 just on different scale and used as input on next pass again. Or something. I have 4 passes in my shader;
Prepass - Level controls to set where to bloom and by how much | tex1
Horizonal blur + tinting | tex1
Vertical Blur | tex1
Postpass to combine textures
I would be interested in exactly which pass writes to which texture(and how), to my understanding from what I could see is that each pass writes to texBloom1... when I read texture on next pass and apply effect, next pass texture1, 2 and 3 have updated.
At least the texture output of texBloom1, 2 and 3 is identical at post pass stage. texBloom4, 7 and 8 appear to be downsized images - I see weird checkerboard pattern on them (creates flares in bloom - I don't know if intentional), 5 appears to be a downsized original texture and 6 original input with slight downsizing(?).
So each pass writes to texBloom1 just on different scale and used as input on next pass again. Or something. I have 4 passes in my shader;
Prepass - Level controls to set where to bloom and by how much | tex1
Horizonal blur + tinting | tex1
Vertical Blur | tex1
Postpass to combine textures
I would be interested in exactly which pass writes to which texture(and how), to my understanding from what I could see is that each pass writes to texBloom1... when I read texture on next pass and apply effect, next pass texture1, 2 and 3 have updated.
At least the texture output of texBloom1, 2 and 3 is identical at post pass stage. texBloom4, 7 and 8 appear to be downsized images - I see weird checkerboard pattern on them (creates flares in bloom - I don't know if intentional), 5 appears to be a downsized original texture and 6 original input with slight downsizing(?).
-
Offline
- *blah-blah-blah maniac*
- Posts: 17559
- Joined: 27 Dec 2011, 08:53
- Location: Rather not to say
Re: TES Skyrim 0.262
BloomPrePass - as i wrote, two render targets swapped and rendered 512*512.
BloomTexture1, BloomTexture2 - render targets also swapped. Let's say input from BloomPrePass is source, in BloomTexture1 it drawed to temporary1 texture. For BloomTexture2 input is temporary1 and output is bloom1 texture. Then cycle repeats, but bloom1 is source for BloomTexture1 shader and BloomTexture2 output is bloom2. Temporary are equal by size to source of BloomTexture1 textures, bloom1-6 are twice lower than previous. As i see in post pass texBloom6 is full screen source, texBloom5 is result of BloomPrePass, texBloom7 is bloom5, texBloom8 is bloom6. If i remember, these last was made that way to keep compatibility with old bloom shaders, but to add lower resolutions. And code itself is from gta4 version probably, which had two radius properties to simulate circle glows from car lights and when firing by guns. Don't think it worth making new standart for bloom of Skyrim.
BloomTexture1, BloomTexture2 - render targets also swapped. Let's say input from BloomPrePass is source, in BloomTexture1 it drawed to temporary1 texture. For BloomTexture2 input is temporary1 and output is bloom1 texture. Then cycle repeats, but bloom1 is source for BloomTexture1 shader and BloomTexture2 output is bloom2. Temporary are equal by size to source of BloomTexture1 textures, bloom1-6 are twice lower than previous. As i see in post pass texBloom6 is full screen source, texBloom5 is result of BloomPrePass, texBloom7 is bloom5, texBloom8 is bloom6. If i remember, these last was made that way to keep compatibility with old bloom shaders, but to add lower resolutions. And code itself is from gta4 version probably, which had two radius properties to simulate circle glows from car lights and when firing by guns. Don't think it worth making new standart for bloom of Skyrim.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
-
Offline
- *sensei*
- Posts: 372
- Joined: 28 Jul 2013, 23:26
Re: TES Skyrim 0.262
Thanks Boris, that cleared it up for me.
No, don't change bloom, render all bloom shaders to crap I made some additions to mine based on your info.
No, don't change bloom, render all bloom shaders to crap I made some additions to mine based on your info.
-
Offline
- *blah-blah-blah maniac*
- Posts: 572
- Joined: 23 Aug 2013, 21:59
- Location: United States
Re: TES Skyrim 0.262
Hey guys, quick question. In the screenshot below, when my character stands in front of a shaded area, but isn't in a shaded area herself, there's this weird glowing aura around her. This happens with all characters. I've seen it with a great many presets. I'm wondering, does anybody know how to get rid of it? Thanks!
Reference shot:
Reference shot:
-
Offline
- *sensei*
- Posts: 446
- Joined: 17 Apr 2014, 22:12
- Location: Schweden
Re: TES Skyrim 0.262
Jafin16
I think this has been discussed before and it's something about dx9. But it might also be your shadow tweaks in skyrimprefs.ini.
Though I'm not 100% sure...
I think this has been discussed before and it's something about dx9. But it might also be your shadow tweaks in skyrimprefs.ini.
Though I'm not 100% sure...
_________________
| i5 3350p @3.1 | 16 GB RAM | GTX1060 | Skyrim on SSD |
My Flickr
My Soundcloud
CGI ENB
| i5 3350p @3.1 | 16 GB RAM | GTX1060 | Skyrim on SSD |
My Flickr
My Soundcloud
CGI ENB
-
Offline
- *blah-blah-blah maniac*
- Posts: 17559
- Joined: 27 Dec 2011, 08:53
- Location: Rather not to say
Re: TES Skyrim 0.262
You have wrong skyrimprefs.ini setting for shadow mask and resolution of it. Also bilaterial shadow filter must be enabled in enbseries.ini
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7