Fallout 4 0.287 beta

Forum rules
new topics are not allowed in this subsection, only replies.
  • Author
  • Message
Offline
User avatar
Posts: 84
Joined: 21 Nov 2015, 14:15

Re: Fallout 4 0.287 beta

ENBSeries wrote:Okay, for next release i changed 64 to 32 bit format and also added new temporary render target of 32 bit hdr format, which is better for performance of depth of field if someone will use it, but 64 bit hdr input and output still in there, i don't think ugly r11g11b10 banding will be acceptable for dof and applying dithering in the dof too is not great solution for everyone.
Another thing bother me - where to put enblens.fx shader. It must be before dof and "inside" of it for some types, but in SKyrim i utilized bloom blurred textures as inputs for lens fx, because no need to blur screen again. From other point, bloom is also programmable and dependency of lens from bloom shader leads to bugs or simply different looking effect. In Skyrim applied lens on main hdr image before enbeffect.fx (additive operation), but may be some users want different look of it, so i have three choices:
1) additive like in Skyrim.
2) lens shader have similar techniques as dof, so code is applied in any way you want it.
3) result of lens shader is input of enbeffect.fx shader, like adaptation or bloom in there.
Yeah I toyed around with ramps in various color depth in Nuke and found a 10/10/10/2 wasn't THAT destructive compared to 16/16/16/16. So I guess you're probably right to go lesser depth road.

As far as the Enblens.fx goes... I guess this is for the likes of Fish Eye and stuff ? I'll confess I don't really know where that should go. Purely compositing speaking as in "non realtime CG work", my guts tell me the bloom should come after the distortion, which could mean 3/, but since we're talking RT here it might not be the wisest course of action. Were the various enblens.fx shader used a lot in Skyrim ? If not, maybe just stick with what you're used to do, meaning 1/ .

Offline
User avatar
Posts: 29
Joined: 09 Jan 2014, 14:12
Location: Miami FL USA

Re: Fallout 4 0.287 beta

Just checking in Boris, I have no issues at all with the new version. If anything, it runs smoother in terms of fps. The DoF is nice as well, shoot I removed Reshade and now only run ENB like I wanted to from the get go. The banding is close to non existent too 8-)

Thanks for your hard work.
_________________
Asus Z97-k, i7-4790 @ 4.1GHZ, 16GB GSkill 2400, 1TB HDD, EVGA GTX 960 FTW 4GB

Offline
User avatar
*master*
Posts: 229
Joined: 21 Feb 2013, 03:21
Location: Los Angeles, CA

Re: Fallout 4 0.287 beta

enbdepthoffield.fx line 142:

Code: Select all

Texture2D			TextureAdaptation;

//previous frame vanilla or enb adaptation 1*1 R32F hdr red channel only. (cont.)
Image

Code: Select all

(cont.) adaptation computed after depth of field and it's kinda "average" brightness of screen!!!
Image

:lol:
In all seriousness though, are you saying that enbadaptation.fx runs after enbdepthoffield.fx in the pipeline and that the value in TextureAdaptation is a cheaper "average" brightness of screen computation that you make (or use the game's) before enbdepthoffield.fx is run? Sorry, I couldn't resist and it is a bit confusing. ;)

Edit: Or is TextureAdaptation just the previous frame's enbadaptation.fx result?
_________________
i7-4970K 4.8ghz, 16gb ram, Geforce Titan X 12gb vram, win7

Offline
*blah-blah-blah maniac*
Posts: 565
Joined: 05 Apr 2014, 10:29
Location: Taiwan

Re: Fallout 4 0.287 beta

Is lens shader be multi pass/ technique?

option1 is good enough, but if it is limited to only 2 or 3 pass, option3 can yield extra pass.

not sure what option2 means?

Also, having different scale of bloom input to lens isn't such a bad idea. Have been experimenting on Difference of Gaussian and local contrast as brightpass for lens in photoshop for a while. But again, if lens is multipass like dof, those can be done inside lens.fx without hooking to bloom's setting (with performance trade of ?).


oh, and it just came to me,
about DX11 featured effect, how about intel CMAA?
It use RWtexture2D as unordered access view and have better performance then FXAA.
_________________
Intel Xeon L5639 6C12T @3.96GHz | Gigabyte ga-x58a-ud3r | MSI GTX680 4G | 48G RAM | Intel 760p Nvme w clover bootloader
Flickr
YouTube

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17559
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: Fallout 4 0.287 beta

Wolrajh
Lens fx are various reflection and refraction caused artifacts, not fish eye.

number6
I wrote that it's adaptation computed in previous frame, so it delayed as input for dof.

kingeric1992
Multipass.
Option 2 means that hdr texture is directly modified and written by lens fx instead of just add lens fx to it. It's like adding enbeffectprepass.fx shader, but to call it enblens.fx.
Multiple passes for lens shader with downsampling can be done by user with trick of using only certain area of image or downsampling textures used by bloom previously, which are 1/1, 1/2, 1/4, 1/8,... sizes, but it's wasting of performance for blurring anyway.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
User avatar
*sensei*
Posts: 252
Joined: 08 Nov 2013, 20:38
Location: Greece

Re: Fallout 4 0.287 beta

Don't know much of codding ether but as a video editor i would like lens to be applied before bloom so the lens would still appear on the fixed personalized white points of the default image and then bloom can enhance them or better not effect them at all.
_________________
ImageImage
/ Youtube Channel / Music Channel /
CPU: Intel Core i7-6850k @4.2GHz GPU: NVIDIA GeForce GTX 1060 Aorus OC 6gb vram RAM: Corsair DDR4 32gb Disk Drive: SSD Mushkin 120gb

Offline
*master*
Posts: 187
Joined: 18 Mar 2015, 18:39

Re: Fallout 4 0.287 beta

To further reduce banding, I think implement film grain may be a good idea. Right now I use ENB with ReShade. ENB provides its dithering in ReShade SweetFX I have mild Grain Dithering enabled + I have Color Film Grain enabled in ReShade CustomFX. Color Grain is pretty much Dithering and you can use it along with ReShade and ENB Dithering alone if you think addition of ReShade SweetFX Film Grain (regular, not Color Film Grain) has a negative impact on the image. With all this combined, banding has been significant improved.

What kind of Dithering does ENB use? Ordered? Random? Error Diffusion Dithering would be amazing, but it would be heavy on performance. I am not sure if performance hogs should bother us since Skyrim ENB comes with some very resource-heavy SSIL/SSAO possibilities, so why not introduce resource-heavy Error Diffusion Dithering?

Another important question - is ENB Dithering applies to black levels? Applying Dithering to level 0 black levels and probably 1-2 levels above it can reduce the perception of contrast ratio. MadVR developer managed to disable application of Dithering on level 0 black levels, so maybe he has suggestions on how it can be done for ENB...

EDIT: There is an De-Banding shaders/effect in ReShade CustomFX that can entirely eliminate banding, but it applies to the entire image and greatly reduces image details. I don't know if it is possible to make such an effect work specifically on some textures or things like Terminal Glass.
_________________
i7 8700K @ 5Ghz | ASUS Z370 Hero X WiFi | Corsair 16GB @ 3200Mhz | RTX 2070 Super @ 1950Mhz | Xonar DGX | 768GB NVMe SSD | 2TB HDD | Corsair 850W | LG 32GK850G-B 1440p 32' G-Sync 165Hz VA | Logitech G402 | Corsair K70 Rapidfire | Windows 10 LTSC 1809

Offline
*blah-blah-blah maniac*
Posts: 565
Joined: 05 Apr 2014, 10:29
Location: Taiwan

Re: Fallout 4 0.287 beta

Boris

Then I would vote for option3.

I suppose it is possible to implement lens effect in enbdepthoffield under current mod version with all those extra textures and pass ?
For which, the ability to chain additional 255 pass in option2 is kinda overdoing.
While option3 gives the chance to pass extra texture to enbeffect. (✪ω✪)
_________________
Intel Xeon L5639 6C12T @3.96GHz | Gigabyte ga-x58a-ud3r | MSI GTX680 4G | 48G RAM | Intel 760p Nvme w clover bootloader
Flickr
YouTube

Offline
User avatar
*blah-blah-blah maniac*
Posts: 17559
Joined: 27 Dec 2011, 08:53
Location: Rather not to say

Re: Fallout 4 0.287 beta

Linique
In dof example it's controlled mostly by PS_ReadFocus shader cycle, there uv coordinates are used to read depth near the center of the screen:

Code: Select all

	float2	coord=pos.xy * 0.05;
	coord+=IN.txcoord0.xy * 0.05 + float2(0.5, 0.5);
And this code you need to modify to change focusing area, increasing or decreasing size of it, shift to any side, etc.
After it i added code which ignore first person models:

Code: Select all

	//do not blur first person models like weapons and hands
	const float	fpdistance=1.0/0.085;
	float	fpfactor=1.0-saturate(1.0 - tempcurr * fpdistance);
	tempcurr=lerp(1.0, tempcurr, fpfactor*fpfactor);
You may tweak it to ignore any nearest objects. For advanced shader programmers it's better to apply weght based cycle, because interpolation above not just ignores nearest objects, but make focusing distance at far clip plane.

LucidAPs
Applying lens before bloom means no chance to utilize computed bloom textures for performance optimization. Bloom applied to lens fx is not much visible, because lens fx are already have much lower brightness than screen or the source of light which produced them.

MonarchX
Public version using 5*4 ordering dither. Version in development using 4*4 ordered, because 5*4 i'll better apply for sky shader and other objects, so need another dithering type to avoid their crossing if the same.
Dithering is very fast math.
Dithering applied to black levels, result is on the image below for gradient from 0 to 32/256
Image
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 11
Joined: 24 Oct 2015, 18:20

Re: Fallout 4 0.287 beta

Thank you Boris, I appreciate you took the time to let me know :)
Post Reply