Jump to content
  • 0

Support for ENB Complex Grass In LOD


z929669

Question

@sheson I am wondering if you have looked at complex grass support in LOD. I don't know if it's even possible, given the ENB requirements vs DynDOLOD atlas-texture requirements, but there is no way I can find to get a good LOD match in all lighting/weather conditions with LOD grass behaving similarly to loaded grass in terms of light sources and observer PoV.

Basically, ENB-CG looks at lower-left pixels of 2:1 (vertical:horizontal) texture atlas with diffuse/normal, opacity/specular in the alpha. I'm not sure if this could work using the DynDOLOD atlas and grass components of the super meshes, but figured you would have some idea of the limitations for LOD.

I created CG for vanilla and Cathedral Landscapes for testing purposes if you ever have appetite for looking into it.

Link to comment
Share on other sites

Recommended Posts

  • 0

I was just going to suggest to use face normals function on all 4 sides and save and test with that billboard to see if it makes a difference for you. It should be ever so slightly brighter at noon.
Save to a new filename and add it to the GrassBillboardX list in the DynDOLOD INI and set ComplexGrassBillboard to its number.

If the nif has a BSTriShape, unfold the Vertex Data list and then any Vertex Data in block details and then click on Normal.

Link to comment
Share on other sites

  • 0
35 minutes ago, sheson said:

I was going to suggest to use face normals on all 4 sides and test with that billboard to see if it makes a difference for you. It should be ever so slightly brighter at noon.
Save to a new filename and add it to the GrassBillboardX list in the DynDOLOD INI and set ComplexGrassBillboard to its number.

If the nif has a BsTriShape, unfold the Vertex Data list and then any Vertex Data in block details and then click on Normal.

OK, I will definitely try that in my next test.

Unfortunately, the Skyrim update is in my way, so I will need to set up another MO profile for this testing (stripping out broken mods ... will take me some time, as I want to use the same grass cache for LOD). SKSE doesn't seem to be updated though.

Thank you

Link to comment
Share on other sites

  • 0

Hello

Judging by what i read in this topic, the complex grass lod color/brightness and grass color/brightness should match since newest dyndolod versions. But when i generate complex grass LODs for folkvangr with complex grass patch they don't match and are of different color/brightness. What is the correct procedure from A to Z to obtain matching grass lods? 

Link to comment
Share on other sites

  • 0
46 minutes ago, RainingTacco said:

Hello

Judging by what i read in this topic, the complex grass lod color/brightness and grass color/brightness should match since newest dyndolod versions. But when i generate complex grass LODs for folkvangr with complex grass patch they don't match and are of different color/brightness. What is the correct procedure from A to Z to obtain matching grass lods? 

Default values are for the vanilla game and Vanilla Complex Grasses for ENB and no additional ENB effects for complex grass and no other affects, especially image based lighting. Different time of day values for certain ENB effects can mean that things will match only at certain times but not on others, same with different weathers.

If grass LOD is too bright lower ComplexGrassBrightnessTop* and ComplexGrassBrightnessBottom*. If color tone is off, change the RGB channels individually. https://dyndolod.info/Help/Grass-LOD#Settings

There procedures are trial and error. https://dyndolod.info/Help/Grass-LOD#Updating

Link to comment
Share on other sites

  • 0
1 hour ago, RainingTacco said:

Hello

Judging by what i read in this topic, the complex grass lod color/brightness and grass color/brightness should match since newest dyndolod versions. But when i generate complex grass LODs for folkvangr with complex grass patch they don't match and are of different color/brightness. What is the correct procedure from A to Z to obtain matching grass lods? 

You can try settings for TexGen and DynDOLOD_SSE.ini in a post I made earlier in this topic or the DynDOLOD settings in the Step Guide. As sheson mentions, it's trial and error. The settings in the guide work well for Cathedral, but may or may not get you close for your grass mods/weathers/ENB.

Link to comment
Share on other sites

  • 0
On 10/10/2022 at 7:15 PM, sheson said:

Default values are for the vanilla game and Vanilla Complex Grasses for ENB and no additional ENB effects for complex grass and no other affects, especially image based lighting. Different time of day values for certain ENB effects can mean that things will match only at certain times but not on others, same with different weathers.

If grass LOD is too bright lower ComplexGrassBrightnessTop* and ComplexGrassBrightnessBottom*. If color tone is off, change the RGB channels individually. https://dyndolod.info/Help/Grass-LOD#Settings

There procedures are trial and error. https://dyndolod.info/Help/Grass-LOD#Updating

 

So for best consistency of image:

1. Install ENB but only use effects that does not directly affect weathers and ambient/direct lighting. I assume SSAO affect overall grass look too? If so, the ENB would had to be really limited to not affect grass consistency

2. Assuming that the ENB used doesn't affect grass, find the matching lod. Question is -when i run execute lodgen i don't get new atlas texture, only these .bto meshes. Are these sufficient for the brightness r/g/b changes in dyndolod_sse.ini to show ingame? Does it change some value in the mesh? I thought it was all about texture. Updating the dyndolod really take almost as much time as generating from scratch  -should it work that way? Normally when i generate lod i get 7,6GB of data, when i update i get like over 6GB. I don't see benefit updating vs redoing LOD.  How can i check if its even working? Should i set one color channel to 1 and check if grass is completely blue red or green?

3. Would it be feasible to make a plugin that start the game with a particular scene and show the dyndolod grass changes in real example? Like it regenerate lod only for that scene, apply the values while allowing ENB to run alongside. That would make it much easier to find matching settings.

Link to comment
Share on other sites

  • 0
1 hour ago, RainingTacco said:

 

So for best consistency of image:

1. Install ENB but only use effects that does not directly affect weathers and ambient/direct lighting. I assume SSAO affect overall grass look too? If so, the ENB would had to be really limited to not affect grass consistency

2. Assuming that the ENB used doesn't affect grass, find the matching lod. Question is -when i run execute lodgen i don't get new atlas texture, only these .bto meshes. Are these sufficient for the brightness r/g/b changes in dyndolod_sse.ini to show ingame? Does it change some value in the mesh? I thought it was all about texture. Updating the dyndolod really take almost as much time as generating from scratch  -should it work that way? Normally when i generate lod i get 7,6GB of data, when i update i get like over 6GB. I don't see benefit updating vs redoing LOD.  How can i check if its even working? Should i set one color channel to 1 and check if grass is completely blue red or green?

3. Would it be feasible to make a plugin that start the game with a particular scene and show the dyndolod grass changes in real example? Like it regenerate lod only for that scene, apply the values while allowing ENB to run alongside. That would make it much easier to find matching settings.

1. It is mainly image based lighting or time settings of day for complex grass. In the end - if you want things to be constant - you have to disable or tone down whatever settings have different effects on the 2 separate things you want to match.

2. *Brightness multipliers are for LODGen. They are multiplied with the vertex colors. Really read https://dyndolod.info/Help/Grass-LOD#Updating, also the last paragraph to only update a specific LOD quad. Take screenshots before and after to compare differences.

3. Static object LOD meshes/textures do not change while in the game.  To compare how changes affect the game, find a spot and viewing angle that shows whatever you are manipulating. Set the desired time of day and weather. Make a save. Then keeping loading that save after making changes, make screenshot after loading and things have settled without changing viewing angle.

Link to comment
Share on other sites

  • 0
56 minutes ago, sheson said:

3. Static object LOD meshes/textures do not change while in the game.  To compare how changes affect the game, find a spot and viewing angle that shows whatever you are manipulating. Set the desired time of day and weather. Make a save. Then keeping loading that save after making changes, make screenshot after loading and things have settled without changing viewing angle.

No no no, you misunderstood me. I was proposing if it was feasible to do a plugin for dyndolod, or addon let say, where you start dyndolod, change grass settings, and click preview like in TexGEN, and then after that the game would start with ENB loaded, pregenerate the grass lod for that particular fixed viewpoint scene[like normally dyndo can do with few cells that you provide] with values you had imputed and then you could compare the values in a fast and efficient manner. I dont know if this is possible.

Edited by RainingTacco
Link to comment
Share on other sites

  • 0
39 minutes ago, RainingTacco said:

No no no, you misunderstood me. I was proposing if it was feasible to do a plugin for dyndolod, or addon let say, where you start dyndolod, change grass settings, and click preview like in TexGEN, and then after that the game would start with ENB loaded, pregenerate the grass lod for that particular fixed viewpoint scene[like normally dyndo can do with few cells that you provide] with values you had imputed and then you could compare the values in a fast and efficient manner. I dont know if this is possible.

LOD for grass is part of object LOD. https://dyndolod.info/Help/Grass-LOD

The *brightness settings for LODGen are multiplied with the vertex colors of the grass LOD models before they are added to the the object LOD meshes.

Static object LOD meshes are placed by the game at specific positions according to their filenames. They can not be manipulated with plugins or papyrus scripts. https://dyndolod.info/How-LOD-Works.

The only thing that can load different object LOD meshes for the same positions is Seasons. If that (can) supports hot loading I do not know.

Just generate a couple adjacent LOD quads with different *brightness settings if you want to compare more than one at a time.

Link to comment
Share on other sites

  • 0

Testing LOD changes means regenerating LOD --all LOD or using what algorithms are mentioned for specific parts. Either way, it takes time to prepare the LOD.

I usually generate my LOD output for compares into separate mods and load each independently for screens. This works fine, since the DynDOLOD plugins are identical with iterative LODGen runs.

There is no fast way to do it like with changing ENB or game settings. We regen LOD many times for testing in such situations.

Link to comment
Share on other sites

  • 0

Does the direct/ambient values in texgen affect how the different and changing ingame lighting will affect the final look? Im speaking about will it look different under different lighting conditions in the game. Or it's just a static brighteness value and if direct/ambient billboard looks the same, then weather and lighting ingame will affect them in the same way.

Link to comment
Share on other sites

  • 0
1 hour ago, RainingTacco said:

Does the direct/ambient values in texgen affect how the different and changing ingame lighting will affect the final look? Im speaking about will it look different under different lighting conditions in the game. Or it's just a static brighteness value and if direct/ambient billboard looks the same, then weather and lighting ingame will affect them in the same way.

Weather lighting has similar impact relative to Direct/Ambient, but these settings DO impact grass brightness/detail (independently of complexgrass top/bottom settings in DynDOLOD_SSE.ini). As I mentioned, we have suggestions for all of these settings earlier in this topic or in the Step guide I linked. It's trial and error, so establish a baseline (defaults for TexGen and DynDOLOD_SSE.ini or the settings we recommend specifically for CL complex grass). Save this output as a 'baseline' mod. Then make singular changes to any one setting (suggest changing Direct OR Ambient in TexGen by +/- 50 OR top/bottom brightness in DynDOLOD_SSE.ini by +/- 0.25 in order to see obvious impact). Save as "{setting change}" mod. Then get screen compares from a several save games with good viewing angles (PoV north or south suggested so view angle is perpendicular to path of sun) of grass in various locations and at varying ToD (suggest getting dawn/dusk/noon). Once you find the diffs that seem to be in the direction needed, use that info to produce new outputs/screens.

It's not unusual to produce upwards of 10 TexGen/DynDOLOD outputs before finding your ideal settings, but establishing a 'good' baseline and incremental changes algorithm to zero in on ideal can drastically minimize how many outputs are needed.

Also keep in mind that ENB-CG settings also impact all of this (FakeLight should be 0.0 or very low for all ToD, and SSS should be around 0.3-0.8 for all ToD ... you can set these to different ToD values once DynDOLOD settings are optimized).

Obviously, this takes time, patience, and a methodical approach. My approach is to set all DynDOLOD_SSE.ini to identical values for all Top/Bottom brightness (0.5). This allows LOD grass to use native, unbiased tint for a baseline, so if tint/hue problems are present, you know it's ENB or weather lighting causing it and not DynDOLOD settings or textures.

Link to comment
Share on other sites

  • 0
27 minutes ago, z929669 said:

Weather lighting has similar impact relative to Direct/Ambient, but these settings DO impact grass brightness/detail (independently of complexgrass top/bottom settings in DynDOLOD_SSE.ini). As I mentioned, we have suggestions for all of these settings earlier in this topic or in the Step guide I linked. It's trial and error, so establish a baseline (defaults for TexGen and DynDOLOD_SSE.ini or the settings we recommend specifically for CL complex grass). Save this output as a 'baseline' mod. Then make singular changes to any one setting (suggest changing Direct OR Ambient in TexGen by +/- 50 OR top/bottom brightness in DynDOLOD_SSE.ini by +/- 0.25 in order to see obvious impact). Save as "{setting change}" mod. Then get screen compares from a several save games with good viewing angles (PoV north or south suggested so view angle is perpendicular to path of sun) of grass in various locations and at varying ToD (suggest getting dawn/dusk/noon). Once you find the diffs that seem to be in the direction needed, use that info to produce new outputs/screens.

It's not unusual to produce upwards of 10 TexGen/DynDOLOD outputs before finding your ideal settings, but establishing a 'good' baseline and incremental changes algorithm to zero in on ideal can drastically minimize how many outputs are needed.

Also keep in mind that ENB-CG settings also impact all of this (FakeLight should be 0.0 or very low for all ToD, and SSS should be around 0.3-0.8 for all ToD ... you can set these to different ToD values once DynDOLOD settings are optimized).

Obviously, this takes time, patience, and a methodical approach. My approach is to set all DynDOLOD_SSE.ini to identical values for all Top/Bottom brightness (0.5). This allows LOD grass to use native, unbiased tint for a baseline, so if tint/hue problems are present, you know it's ENB or weather lighting causing it and not DynDOLOD settings or textures.

 

Thanks. I dont know what happened but dyndolod is now making 5GB of Lod instead of over 7GB, and the tree lods dont look 3D despite making sure i check hd lod/ultra trees in texgen and dyndolod. Worked fine before, the only change is that i moved the LOD package mods before my output, so they overwrite USSEP and other mods, whereas before my mods were after the lod package[MM lods and dyndolod resources]. Dyndolod picks up Nature of the Wildlands just right, so idk whats happening. How can i check that dyndolod created the 3d lod meshes properly?

Link to comment
Share on other sites

  • 0
8 minutes ago, RainingTacco said:

 

Thanks. I dont know what happened but dyndolod is now making 5GB of Lod instead of over 7GB, and the tree lods dont look 3D despite making sure i check hd lod/ultra trees in texgen and dyndolod. Worked fine before, the only change is that i moved the LOD package mods before my output, so they overwrite USSEP and other mods, whereas before my mods were after the lod package[MM lods and dyndolod resources]. Dyndolod picks up Nature of the Wildlands just right, so idk whats happening. How can i check that dyndolod created the 3d lod meshes properly?

Any number of things can change output size, so if your mod install order and plugin LO change, this can change. If those things aren't changed, then it's likely your mesh rules changed. Find ideal DynDOLOD mesh rules and save those settings to prevent unexpected diffs between runs (mistakes clicking worldpaces, buttons, checkboxes, etc.).

We (Step, not necessarily sheson) recommend the following mod install order (not plugin LO):

  1. USSEP
  2. Particle Patch
  3. DynDOLOD Resources
  4. Mesh improvement mods
  5. LOD resource mods
  6. ...
  7. xLODGen output
  8. TexGen output
  9. DynDOLOD output

TexGen and DynDOLOD logs tell you if errors, but you can load up any of the BTO meshes in NifSkope (in DynDOLOD output /meshes/terrain/{worldspace}/objects) and look directly at the tree components.

Link to comment
Share on other sites

  • 0
6 minutes ago, z929669 said:

We recommend the following mod install order (not plugin LO):

  1. USSEP
  2. Particle Patch
  3. DynDOLOD Resources
  4. Mesh improvement mods
  5. LOD resource mods
  6. ...
  7. xLODGen output
  8. TexGen output
  9. DynDOLOD output

TexGen and DynDOLOD logs tell you if errors, but you can load up any of the BTO meshes in NifSkope (in DynDOLOD output /meshes/terrain/{worldspace}/objects) and look directly at the tree components.

Ahhh thanks, that clears it up. One more question -should i leave xLODGEN resource - extended tamriel map turned on when running dyndolod? It's an esm that extends map, i guess it doesn't affect dyndolod at all? Also i can leave all these resources turned on and play the game with them, even though i had generated outputs right?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.