--JawZ-- ENB resources, updated 15 september-14

general download section
Post Reply
  • Author
  • Message
Offline
User avatar
*blah-blah-blah maniac*
Posts: 1938
Joined: 05 Mar 2012, 02:08

Re: --JawZ-- ENB resources for Skyrim, updated 05/31

Yeah it's more like a curve/gamma setting I would guess.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 1938
Joined: 05 Mar 2012, 02:08

Re: --JawZ-- ENB resources for Skyrim, updated 06/23

--UPDATE--

- Updated the Boris and Beginner enbeffect.fx, some minor code changes and fixes. Boris file is now visually identical to the one he has in his own .rar folder along with the Binary files.

- Also uploaded my latest MIXED enbeffect.fx.


These files are my latest, the Nexus is slow and unstable so I won't upload things there until they fix that.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 1938
Joined: 05 Mar 2012, 02:08

Re: --JawZ-- ENB resources for Skyrim, updated 06/25

--UPDATE--

- Uploaded my latest HD6 DNI-DN file here.

Quick info;

HD6_COLOR_TWEAKS - I have removed the in-game adjustment and rewritten the code and remove some of it that was not necessary to have. It still renders the same.

HD6_VIGNETTE - Just applied DNI-DN code to it.

HD6_COLORSAT_DAYNIGHT - Has been replaced with my Kolorizer.

HD6_BLOOM_DEBLUEIFY - Has been replaced with my Bloom Kolorizer.

HD6_BLOOM_CRISP - Have received DNI-DN code and I removed parts of the code that altered regular color instead of bloom color. Added 1 new command BloomDarkSpot, darkens only the shadows.

HD6_BLOOM_SCREEN - Just applied DNI-DN code to it.

HD6_BLOOM_DEFUZZ - Just applied DNI-DN code to it.

HD6_BLOOM_NOBLACK - Just applied DNI-DN code to it.

POSTPROCESS 5 - Just applied DNI-DN code to it and added the brightness command HD6 called hndtweak which was only used with PP 5 but was placed in a different place then the PP 5 commands. Also functions exactly the same as the PP 2 command EBrightness.

Offline
Posts: 66
Joined: 12 Jun 2013, 07:19

Re: --JawZ-- ENB resources for Skyrim, updated 06/25

Nice work JawZ! you are as active as Boris himself!

Just to let you know when I dig deeper into shader codes, finally realized the difference between yours and default palette mapping.

Code: Select all

float3	brightness=JKNightDayFactor;
vs.

Code: Select all

float3	brightness=Adaptation.xyz
	brightness=(brightness/(brightness+1.0));//new version
	brightness=max(brightness.x, max(brightness.y, brightness.z));//new version
So you are using NightDayFactor to index the palette, while Boris mapped adaptation level to 0..1 range and uses it as palette index.

The visable difference would be, in default version the palette adjustment is adapted when the screen luminance (adaptation) changes; in your version the palette adjustment changes along with NightDay detection.

For example, when you are moving around at midday in the forests, default version will adjust brightness as you go in/out of shadows, while your version won't adjust unless the time elapses to the afternoon.

One purpose of using palette is to make nights darker. While default palette works with adaptation, so the same darkness not only apply to nights, it apply to any environment that is as low light as night. But your version really only make the nights darker.

And with the "brightness=(brightness/(brightness+1.0));" operator, it looks like the default version rarely makes use of the low half of palette (since you'll need infinite brightness to reach 1.0). While your verion utilises the entire palette (since NightDayFactor changes from 0 to 1). So with palettes that intended for darker nights, your version may have a more noticable brightness change from night to day.

I am not trying to argue which is better, for me they fit different purposes. But we can keep the difference in mind when tweaking with different versions.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 1938
Joined: 05 Mar 2012, 02:08

Re: --JawZ-- ENB resources for Skyrim, updated 06/25

yes that is how it differs but you can simply do this and you will have both of the "worlds"

Code: Select all

	float3	brightness=JKNightDayFactor+Adaptation.xyz;
And then remove the parts that restricts the range of it to use the full palette.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 1938
Joined: 05 Mar 2012, 02:08

Re: --JawZ-- ENB resources for Skyrim, updated 06/22

Example file with the new .fx GUI feature implemented to an enbeffect.fx file.

http://www.mediafire.com/download/ijsxf ... effect.zip
Image


EDIT;
Some input on how it behaves would be appreciated.


EDIT 2;
Accidentally uploaded the wrong zip folder, corrected now.
Last edited by --JawZ-- on 30 Jul 2013, 18:08, edited 2 times in total.

Offline
*blah-blah-blah maniac*
Posts: 1509
Joined: 20 Mar 2012, 08:37

Re: --JawZ-- ENB resources for Skyrim, updated 06/22

--JawZ-- wrote:Example file with the new .fx GUI feature implemented to an enbeffect.fx file.

http://www.mediafire.com/download/hp3th ... ect.fx.zip
Image


EDIT;

Some input on how it behaves would be appreciated.
Light,Weather,TOD and now the enbeffect and each pp shader layer in realtime :D
_________________
85% of graphics research is about who can finally make Sponza look good.
Jasper Bekkers EA/DICE

Perfection is the greatest enemy of photorealism.
Jorge Jimenez Activision Blizzard

Offline
User avatar
*blah-blah-blah maniac*
Posts: 1938
Joined: 05 Mar 2012, 02:08

Re: --JawZ-- ENB resources for Skyrim, updated 06/22

Actually there is no PP method except for the adaptation code in this file. I added Kermles Final Adjustment code without the gamma correction and linear space conversion to control Brightness, Contrast and Saturation, added the simple EColorFilter to alter the RGB channels, made the default bloom method toggle able (I call it Edge Bloom, might not be the proper name for it), Added Vanilla Adpatation & bloom controls and lastly a control to adjust the intensity of the palette file.

So a very basic file for testing out the new .fx real time customization. The same thing can be done to all the .fx files.


Here is another example file with all 4 original Post-Process implemented instead of the Final Adjustment code;
http://www.mediafire.com/download/c832c ... 2B_ini.zip
Image

I assigned the PP methods to be changeable through a Spinner annotation method and made the commands that was in more than one PP method to be shared, for instance like the EToneMappingCurve. But the commands are only active for one PP method at a time. Also they are not DN-IE splitted.

Offline
User avatar
*blah-blah-blah maniac*
Posts: 1938
Joined: 05 Mar 2012, 02:08

Re: --JawZ-- ENB resources for Skyrim, updated 06/22

Here are the different GUI annotations/commands that can be used to date, to implement the shader files GUI feature;


The simplest command, a regular slider, good for any one single command and will be the one used most
float ExampleFloat <
string UIName="SampleOneFloat";
string UIWidget="Spinner";
float UIMin=0.1;
float UIMax=1.0;
> = {0.33};


A simple RGB color control with float value range from 0 to 1 and is converted to byte value 0 to 255 inside the GUI window
Color is clamped to float value range 0 to 1 automatically so UIMin and UIMax has no affect. However it still writes the float value with 0.001 accuracy so when you set a byte value in the GUI to say 139 it will write the float value 0.545 in the enbXXXX.fx/effect.txt.ini file
float3 ExampleColor <
string UIName="SampleThreeFloat";
string UIWidget="Color";
float UIMin = 0.1;
float UIMax = 10.0;
> = {0.5,0.6,1.0};


Adds 4 sets of commands that I for example used for the PP methods to easily switch between the 4 different methods
int4 ExampleInteger <
string UIName="III";
string UIWidget="Spinner";
int UIMin = 3;
int UIMax = 10;
> = {8, 4, 6, 7};


And here is the Enable command for example instead of #define COMMAND you attach this to the command instead.
bool2 ExampleBoolean <
string UIName = "SampleTwoBoolean";
> = {true, false};


Quality setting which I hardly think you will need in the enbeffect.fx file but enbeffectprepass.fx and enbbloom.fx it could come in handy.
int Example1 <
string UIName="Quality variable";
string UIWidget="Quality";
int UIMin = -1;
int UIMax = 2;
> = {1};


Color command with Both RGB and HLS control with an Alpha channel for both.
Color is clamped to float value range 0 to 1 automatically so UIMin and UIMax has no affect. However it still writes the float value with 0.001 accuracy so when you set a byte value in the GUI to say 139 it will write the float value 0.545 in the enbXXXX.fx/effect.txt.ini file
float4 Example2 <
string UIName="Color variable";
string UIWidget="Color";
> = {0.5,0.6,1.0,0.5};


A 3D command which you can either adjust by changing values or rotating the arrow innside the command at the GUI window
Vector has an infinite float value that can't be clamped by UIMin and UIMax.
float3 Example3 <
string UIName="Vector variable";
string UIWidget="Vector";
> = {0.5,0.6,1.0};

Boris quote;
Annotations added "ResourceName" or "name" to textures which allow to load them in shaders. Example usage:

texture2D texSprite
<
string ResourceName="enbsprite.bmp";
>;
sampler2D SamplerSprite = sampler_state
{
Texture = <texSprite>;
MinFilter = LINEAR;
MagFilter = LINEAR;
};


This lets you adjust the amount of increments the command will have. Increments = the amount of 0 used in a command 1.0, 1.00, 1.000 etc.
Only works for the float annotations!

float UIStep=0.0001;

Boris quote;
Changes to techniques are much more useful for players and for preset makers, because it allow to add many different shaders without recompiling of the shader code (manually editing).
It allows the ability to choose techniques inside the GUI window, example can be viewed and tested in Boris default enbeffect.fx file

<string UIName="Anamorphic";>

More info here - http://enbdev.com/enbseries/forum/viewt ... 219#p37326



Simple GUI implementation

Code: Select all

//++++++++++++++++++++++++++++++++++++++++++++++++++++
//--BRIGHTNESS----------------------------------------

	bool BRIGHTNESS< 
		string UIName = "Enable Brightness Adjustment"; 
	> = {true};

	float	EBrightness<
		string UIName="Brightness Adjustment";
		string UIWidget="Spinner";
		float UIMin=0.0;
		float UIMax=2.0;
	> = {0.5};

----------------------------------------------------

if (BRIGHTNESS==true)
{
        color.xyz*=EBrightness;
}

ND-IE separation code with GUI Implementation

Code: Select all

//++++++++++++++++++++++++++++++++++++++++++++++++++++
//--BRIGHTNESS----------------------------------------

    bool   SECTION_A <
        string UIName =  "A----------------------------------A";
    > = {false};
// REMOVE ABOVE IF YOU DON'T NEED IT AS A GUI WINDOW SECTION SEPARATION

    float2 EBrightness_I <
        string UIName="Brightness Interior";                     string UIWidget="Spinner";    float UIMin=0.0;    float UIMax=100.0;    float UIStep=0.0001;
    > = {1.0, 1.0};

    float2 EBrightness_E <
        string UIName="Brightness Exterior";                     string UIWidget="Spinner";    float UIMin=0.0;    float UIMax=100.0;    float UIStep=0.0001;
    > = {1.0, 1.0};

----------------------------------------------------

// FUNCTIONS    /// Placed after the Skyrim registers/shader externals

// ND-IE Separation
    float3 NDIEFactor (float3 NIGHTINT, float3 DAYINT, float3 NIGHTEXT, float3 DAYEXT)
    {
      if (EInteriorFactor) {
        return lerp(NIGHTINT, DAYINT, ENightDayFactor);
      } else {
        return lerp(NIGHTEXT, DAYEXT, ENightDayFactor);
      };
    }

----------------------------------------------------

    float EBrightness = NDIEFactor (EBrightness_I.x, EBrightness_I.y, EBrightness_E.x, EBrightness_E.y);

        color.xyz*=EBrightness;
There are two simple templates of how to implement the GUI feature with or without the use of my ND-IE separation code

Offline
Posts: 42
Joined: 18 Apr 2012, 06:38

Re: --JawZ-- ENB resources for Skyrim, updated 06/22

Hey Jaws, every time I tried responding to your message over at Nexus I got an sql error. I just tried that enbeffects.fx, and sorry to say, I can't seem to get it to work. I tried it with a vanilla bloom and HD6 bloom.fx, and with a vanilla ini, but no matter what I did, I couldn't get changed values in the enbeffects.fx to register onscreen. Keep it up. I'll check back regularly. Happy to help.
Post Reply