TES Skyrim SE 0.401

Forum rules
new topics are not allowed in this subsection, only replies.
  • Author
  • Message
Offline
User avatar
*blah-blah-blah maniac*
Posts: 983
Joined: 09 Dec 2012, 00:29

Re: TES Skyrim SE 0.401

fadingsignal wrote:Hi Boris! I noticed that with the latest version that EnableLocationWeather no longer works. I've had a large _LocationWeather.ini set up that I've been using for a while to load special configs for different interior types.

The last version I was using prior to 0.401 was 0.373 (I skipped a few updates due to being busy), so I'm not sure which update in between might have introduced this, OR if it's maybe a bug with ENBHelper plugin?

Let me know what you think! Thank you!
For me location weathers work as they should :

Image
_________________
Rudy ENB for Skyrim, Skyrim SE, for Fallout New Vegas, for Dragon's Dogma

English is not my native language.

AMD Ryzen 9 5900X, Gigabyte B550 AORUS PRO AC, Arctic Liquid Freezer II 280, Nvidia Geforce RTX 2070 Super, 64GB ram

Offline
Posts: 82
Joined: 09 Oct 2014, 01:29

Re: TES Skyrim SE 0.401

Guzio wrote:For me location weathers work as they should :
Image
Hey Guzio, thank you for checking! I wonder why mine stopped working after updating. I didn't change anything, and the weather-based INIs are working fine. I'll do some more testing! :)

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

Re: TES Skyrim SE 0.401

There are no changes made to create such exotic bugs.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 27
Joined: 19 Feb 2019, 15:27

Re: TES Skyrim SE 0.401

Boris, I was wondering, since tessellation is possible in SSE, whether it can be applied on other objects (like tree barks) and terrain. Would it be possible?

Offline
Posts: 82
Joined: 09 Oct 2014, 01:29

Re: TES Skyrim SE 0.401

ENBSeries wrote:There are no changes made to create such exotic bugs.
Yeah I figured, thank you for the reply! I was just wondering if maybe something changed in one of the updates I missed. I started over with just ENB+ENBHelper DLL, and weather INIs work just fine, but nothing will make the location weather work anymore. Mystery!

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

Re: TES Skyrim SE 0.401

fadingsignal
Maybe it's helper plugin problem after game update and you didnt notice it before? If statistics do not display location id, then must be this kind of issue.

Nomad0619
Game itself have tesselation functionality, but why people dont use it - maybe dont know how to setup it or it's hidden feature and unused which only exist in shaders, i dont know. But to apply tesselation on mod side is impossible for generic objects which already exist in the game, they are not suitable for this and must be created by modders completely new, with very precise uv mapping and normals (smoothing groups), with displacement texture. This is hard work for modders which not everybody can do. More than that, i need to test such objects in all lighting conditions cause game switch shaders based on number of lights applied and some other factors and need to handle all of them. It's time consuming.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 37
Joined: 04 May 2018, 18:15

Re: TES Skyrim SE 0.401

Okay, few things.

Been looking into SE's parallax shaders. There's one bug in the renderer code that I fixed already (game does not update view position vector for parallax shader technique, so its got random data, which is why if you create a parallax lighting shader mesh it has jitter between random broken states).

But the parallax in the pixel shaders is incorrect, it is using model space view direction vector to calculate parallax, instead of tangent space, I think. (not 100% sure on this, my knowledge of graphics programming is limited)

There are 72 parallax technique pixel shaders, the parallax code is at the start, one example shader:

Code: Select all

  
  // normalize view direction vector (v6)
  r0.x = dot(v6.xyz, v6.xyz);
  r0.x = rsqrt(r0.x);
  r0.xy = v6.xy * r0.xx;
  // sample parallax texture (sampler 3)
  r0.z = TexHeightSampler.Sample(HeightSampler, v1.xy).x;
  // calculate parallax offset
  r0.z = r0.z * 0.0800 + -0.0400;
  r0.xy = r0.xy * r0.zz + v1.xy;
  // sample diffuse (sampler 0) + normal (sampler 1)
  r1.xyzw = TexDiffuseSampler.Sample(DiffuseSampler, r0.xy).xyzw;
  r0.xyzw = TexNormalSampler.Sample(NormalSampler, r0.xy).xyzw;
v3/v4/v5 should have the model->tangent space transformation matrix so the patch would be to transform the view direction vector with v3/v4/v5

Code: Select all

  // normalize view direction vector (v6)
  r0.x = dot(v6.xyz, v6.xyz);
  r0.x = rsqrt(r0.x);
  r0.xy = v6.xy * r0.xx;
  // calculate and normalize tangent space view direction
  float4 r10;
  r10.x = dot(v3.xyz, v6.xyz);
  r10.y = dot(v4.xyz, v6.xyz);
  r10.z = dot(v5.xyz, v6.xyz);
  r10.w = dot(r10.xyz, r10.xyz);
  r10.w = rsqrt(r10.w);
  r10.xyz = r10.xyz * r10.www;
  // sample parallax texture (sampler 3)
  r0.z = TexHeightSampler.Sample(HeightSampler, v1.xy).x;
  // calculate parallax offset using tangent space view direction vector
  r0.z = r0.z * 0.0800 + -0.0400;
  r0.xy = r10.xy * r0.zz + v1.xy;
  // sample diffuse (sampler 0) + normal (sampler 1)
  r1.xyzw = TexDiffuseSampler.Sample(DiffuseSampler, r0.xy).xyzw;
  r0.xyzw = TexNormalSampler.Sample(NormalSampler, r0.xy).xyzw;
Obviously in this example you can see that r0.xyz is immediately overwritten with the normal sample so it's not necessary to create a new variable to store the transformed view direction vector, but in some of the parallax shaders r0 is used later on without being overwritten by the normal sampler so it's not safe in all situations.

Would this be too annoying to patch in ENB? I'm probably going to throw together code to patch it myself as an skse plugin but it would probably have some ENB incompatibility since these 72 shaders might not match anymore.

I can provide an example mesh to show in-game if you want.

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

Re: TES Skyrim SE 0.401

After making parallax in old skyrim i no more want to bother with se about it, can't even test myself. If i remember, parallax also failed in vertex shaders as game didn't pass some data (maybe eye position/direction). You can try this, but most likely not gonna work from time to time and people not so active about making such mods, game is old.
_________________
i9-9900k, 64Gb RAM, RTX 3060 12Gb, Win7

Offline
Posts: 37
Joined: 04 May 2018, 18:15

Re: TES Skyrim SE 0.401

Yes its eye position, I fixed that already (renderer bug in BSLightingShader::SetupGeometry function). Game didn't update eye position for Parallax technique, unless you flag it specular too.

But thats okay, I can patch the pixel shaders myself probably.

Offline
Posts: 17
Joined: 18 Jul 2018, 15:35

Re: TES Skyrim SE 0.401

About parallax I think it would be worth it to look into it if you have some time since if ares does release a fix himself that isn't compatible with ENB people are sure to ask for ENB to support it as well. There are plenty of parallax mods for Skyrim Legendary that could be ported to work on SSE so the feature would be sure have application. Please consider it, aers seems to be willing to help as much as he can.
Post Reply