Jump to content

DynDOLOD 3.00 Alpha 173


sheson

Recommended Posts

Sheson, i need your help, i'm struggling alot to get grass lod's working correctly via most the grass mod's i'm attempting to use, main one is QW's Grass Patch, which combines Veydosebrom Regions, Folkvangr, Cathedral Pine Grass and Depths of Skyrim, i've had an extensive look at the help doc's in DyndoLOD's folder, and tried everything i could and still no solution, 

Here's what i tried :

Looked at OBND - Object Bounds on CK and SSEEdit, ensured they were set, Used NifSkope to fix all the nif's that needed fixing (BSFadeNode) as before i fixed the nif's TexGen64 would spew out <Warning: Root block is NiNode> errors which i eradicated and turned the MinGrassModelVolume & MinGrassModelHeight down as a LAST resort which didn't really help at all,

From what i'm seeing when texgen generates, it's generating the billboards fine, however in the log (TexGen_SSE_Grass_Billboards) it's ignoring a ton of grass stuff and setting it to false, now i'm aware you can force it to generate, which i attempted and couldn't figure out but i don't really understand at all why it's ignoring them, the object bounds are fine, the nif's are all BSFadeNode's, i seriously don't get it,

What makes even less sense is the only mod i can get to work is Cathedral Landscapes (Grass only) and some of it's grass gets ignored by TexGen as well, yet it shows up in game and renders the grass lod's, any of the grass mod's i've tried on their own like Veydosebrom Regions, Folkvangr, Northern Grass, Northern Cathedral Grass, Tamrielic Grass all fail,

My no grass in objects setting is set to DyndoLOD mode = 1, i've also tried 2, to no avail,

If you've got any clue on what could be causing it to fail or any direction you could point me in for a fix, that'd be fantastic, cause frankly i'm happy to troubleshoot but i've run out of ideas of possible causes for this,

 

(Also tested my load order being the issue, settings, e.t.c, reinstalled dyndolod, dyndolod resources, made sure settings are all correct, but i could have slipped up somewhere)

 

Screenshot of LOD https://gyazo.com/aaf6509e49fbfdb315d3ba86ec5b36e3 (couldn't upload due to size limit)

TexGen_SSE_Grass_Billboards.txt TexGen_SSE_Debug_log.rar TexGen_SSE_log.rar DynDOLOD_SSE_Object_Report.rar

Link to comment
Share on other sites

6 minutes ago, darknightbacca said:

Sheson, i need your help, i'm struggling alot to get grass lod's working correctly via most the grass mod's i'm attempting to use, main one is QW's Grass Patch, which combines Veydosebrom Regions, Folkvangr, Cathedral Pine Grass and Depths of Skyrim, i've had an extensive look at the help doc's in DyndoLOD's folder, and tried everything i could and still no solution, 

Here's what i tried :

Looked at OBND - Object Bounds on CK and SSEEdit, ensured they were set, Used NifSkope to fix all the nif's that needed fixing (BSFadeNode) as before i fixed the nif's TexGen64 would spew out <Warning: Root block is NiNode> errors which i eradicated and turned the MinGrassModelVolume & MinGrassModelHeight down as a LAST resort which didn't really help at all,

From what i'm seeing when texgen generates, it's generating the billboards fine, however in the log (TexGen_SSE_Grass_Billboards) it's ignoring a ton of grass stuff and setting it to false, now i'm aware you can force it to generate, which i attempted and couldn't figure out but i don't really understand at all why it's ignoring them, the object bounds are fine, the nif's are all BSFadeNode's, i seriously don't get it,

What makes even less sense is the only mod i can get to work is Cathedral Landscapes (Grass only) and some of it's grass gets ignored by TexGen as well, yet it shows up in game and renders the grass lod's, any of the grass mod's i've tried on their own like Veydosebrom Regions, Folkvangr, Northern Grass, Northern Cathedral Grass, Tamrielic Grass all fail,

My no grass in objects setting is set to DyndoLOD mode = 1, i've also tried 2, to no avail,

If you've got any clue on what could be causing it to fail or any direction you could point me in for a fix, that'd be fantastic, cause frankly i'm happy to troubleshoot but i've run out of ideas of possible causes for this,

 

(Also tested my load order being the issue, settings, e.t.c, reinstalled dyndolod, dyndolod resources, made sure settings are all correct, but i could have slipped up somewhere)

 

Screenshot of LOD https://gyazo.com/aaf6509e49fbfdb315d3ba86ec5b36e3 (couldn't upload due to size limit)

TexGen_SSE_Grass_Billboards.txt 29.19 kB · 0 downloads TexGen_SSE_Debug_log.rar 81.99 kB · 0 downloads TexGen_SSE_log.rar 73.25 kB · 0 downloads DynDOLOD_SSE_Object_Report.rar 104.35 kB · 0 downloads

If there is no billboard for a grass, then it can not have LOD generated for it.
If you wonder why a specific grass record does not have a billboard generated, then you will have be more specific. 

The TexGen log reports missing textures for some, so those are obvious.

There are currently known issues with grasses added by ESL flagged plugins.. Either unflag the plugins or wait for the next alpha version (no ETA) .

The No Grass In Objects INI settings do not affect if grass LOD shows or not, obviously.

Link to comment
Share on other sites

2 hours ago, sheson said:

Oh those foggy screenshots where we can not really see anything. Use console to set a clear weather. Use wait so it is day light. Provide position information form where "the problem" can be seen.
You told use there is no BTO.  Without a BTO there can be no object LOD mountain. The only way terrain LOD is not showing / disabled in the distance  is via occlusion data or the usual fade because the max render distance of about a 100 cells has been reached.

Again, that far out, there is no game data in the games plugins. It has been removed by Bethesda. For the position shown in the screenshot there no BTO files for any of the 3 LOD levels.

xLODGen/DynDOLOD can only generate LOD for data that exists. For the really far away areas beyond the that the game still uses vanilla LOD files.

Test with a vanilla game.

 

This is with vanilla game. No mods whatsoever, just the official DLCs.
https://imgur.com/a/en4FbPL

It happens when I look over to Solstheim.
https://imgur.com/a/cCfjjP2

Here, you can see the problem from some distance away. Notice there is a "hole" in the distant mountain/terrain. Not as jarring as the first picture, but it's there.
https://imgur.com/a/7NMdOSj

This is what happens when I load my full modlist (including DynDOLOD and Occlusion) on the vanilla save. Notice that the "hole" gets bigger. Updating occlusion didn't fix the problem.
https://imgur.com/a/AMSWt0T

This is the coordinates where I can see the problem, both in vanilla and in modded.
https://imgur.com/a/vgYsA2i

I hope that helps to identify the problem. Thank you again.

Link to comment
Share on other sites

2 minutes ago, sheson said:

If there is no billboard for a grass, then it can not have LOD generated for it.
If you wonder why a specific grass record does not have a billboard generated, then you will have be more specific. 

The TexGen log reports missing textures for some, so those are obvious.

There are currently known issues with grasses added by ESL flagged plugins.. Either unflag the plugins or wait for the next alpha version (no ETA) .

The No Grass In Objects INI settings do not affect if grass LOD shows or not, obviously.

Interesting, it could be an esl problem, as cathedral landscapes isn't an esl when i generated it for my lods.. 

I'll test it out, see if it ends up being the fix, thanks.

Link to comment
Share on other sites

2 minutes ago, gmahadhika91 said:

This is with vanilla game. No mods whatsoever, just the official DLCs.
https://imgur.com/a/en4FbPL

It happens when I look over to Solstheim.
https://imgur.com/a/cCfjjP2

Here, you can see the problem from some distance away. Notice there is a "hole" in the distant mountain/terrain. Not as jarring as the first picture, but it's there.
https://imgur.com/a/7NMdOSj

This is what happens when I load my full modlist (including DynDOLOD and Occlusion) on the vanilla save. Notice that the "hole" gets bigger. Updating occlusion didn't fix the problem.
https://imgur.com/a/AMSWt0T

This is the coordinates where I can see the problem, both in vanilla and in modded.
https://imgur.com/a/vgYsA2i

I hope that helps to identify the problem. Thank you again.

If there are rectangular holes in the vanilla distance LOD, it is because of the wrong vanilla occlusion data.
If you use tcl and move high enough above the ground, eventually those holes should close and and show the LOD.

If those holes do not close then the first screenshot shows terrain LOD that was generated without the cut content being restored.
Generate terrain LOD meshes and textures with xLODGen and install one of the recommended options SSE-Terrain-Tamriel.esm or  SSE-Terrain-Tamriel-Extend.esm.

Link to comment
Share on other sites

Hi,
I would like to ask a question about mesh rules. Is it possible to create a rule for grass? I tried as "level0/billboard1/billboard1/none VWD NearLOD" before "tree" rule but that cause the grass lod dissappear.

I know it's stated some performance loss occurs with grass lod but I'm aiming some performance gain by this. So, if the effect of a mesh rule would be neglectable or irrelevant, I understand. If this gives you some idea about my grass density, I did create my grass cache while my settings are "iMaxGrassTypesPerTexure=8" and "iMinGrassSize=40" then my lod with "GrassDensity=30"

---

Also a question about occlusion if that's ok. Do occlusion created by xlodgen and dyndolod are interchangeable or do I need to create it by dyndolod to have a better one.

I guess my understanding on this is not correct.

After dyndolod process I updated my xlodgen's occlusion with the settings of Quality:3 Height:100 radius:100 mode:"+TVDS-flat+Border" with the expectation of grass/tree lod objects won't be placed behind a hill or similar type of terrain if can not be seen by PC. But when I checked with TFC, these objects are there. Is it because this objects are placed onto whole cell or not, so if a cell is partially seen then objects are placed onto whole cell. Also while I'm on TFC on these distant cells I see some of them flickering. Part of these object's textures are turning black and back, part of them just appearing and disappearing and rest of them are placed correctly which my guess is shouldn't be placed.

Can someone also correct me about occlusion?

Link to comment
Share on other sites

On 5/17/2021 at 7:26 PM, z929669 said:

Did you precache grass and set both NGIO 'cache' settings to 'True'? This should all be resolvable, as not using NGIO seems inadvisable even without DynDOLOD. We are currently preparing instructions for all of this and for grass LOD configuration with our next guide iteration. For the time being, you should read the NGIO nexus pages and post over there for help.

Yes, grass is precached and usecache and onlyloadfromcache are both true

 

This behaviour is reminiscent of having no grass cache (freezing and then grass loading in after a short fade in). Does the mod fallback onto default behaviour when it cannot find cache to load?

Link to comment
Share on other sites

7 hours ago, prustr said:

Can someone also correct me about occlusion?

The general consensus is to use xLODGen for Occlusion. From our guides:

  1. Run xLODGen from the MO2 executable drop-down list.
  2. Select only the Tamriel and DLC2SolstheimWorld worldspaces.
  3. Ensure only the Occlusion box is ticked.
  4. Use the following settings:
    • Quality: 3
    • Height: 0
    • Radius: 100
    • Mode: -Flat +Borders
  5. Click [Generate] to run the process.
  6. Once the completed message has appeared, click the red X to close xLODGen.
    • Occlusion.esp is saved automatically and will be placed in the Overwrite folder in MO.
  7. Right-click on the Overwrite mod listing and select, [Create new mod].
  8. Name it Step SkyrimSE - Occlusion or anything unique.
  9. Ensure the new mod is active (ticked).
  10. Ensure the Occlusion.esp is the last plugin in the load order just after DyDOLOD.esp and that it is enabled, else run LOOT and sort plugins.
Link to comment
Share on other sites

10 minutes ago, Illana said:

Yes, grass is precached and usecache and onlyloadfromcache are both true

This behaviour is reminiscent of having no grass cache (freezing and then grass loading in after a short fade in). Does the mod fallback onto default behaviour when it cannot find cache to load?

You need to tell NGIO via the INI, but that mod highly advises to use precached grass to avoid stuttering and other issues. I would precache grass always with that mod, regardless of whether or not you are using it for DynDOLOD grass LODGen. This is our WIP instructions for running without grass LOD:

Precaching grass will still benefit performance. To increase performance further, disable grass LOD generation completely by making the following configuration changes prior to generating (or regenerating) object LOD:

  1. In MO, make the following changes to No Grass In Objects GrassControl.config.txt:
    • DynDOLODGrassMode = 0
    • OverwriteGrassDistance - Set to something between 4000 and 24000. Higher values decrease performance while increasing quality. Grass will be full-rendered to this value as per default behavior of fGrassStartFadeDistance in Skyrim.ini
    • OverwriteGrassFadeRange - Set to something between 1000 and 18000 (depending on OverwriteGrassDistance) to transition linearly from full grass to no grass. Higher values increase performance while decreasing quality. Grass will begin fading from this value as per default behavior of fGrassFadeRange in Skyrim.ini
    • ExtendGrassCount - Set to 'False' only if OverwriteGrassDistance ≤ 7000
  2. Set Grass=0 in ../DynDOLOD/Edit Scripts/DynDOLOD/DynDOLOD_SSE.ini
Link to comment
Share on other sites

11 hours ago, prustr said:

Hi,
I would like to ask a question about mesh rules. Is it possible to create a rule for grass? I tried as "level0/billboard1/billboard1/none VWD NearLOD" before "tree" rule but that cause the grass lod dissappear.

I know it's stated some performance loss occurs with grass lod but I'm aiming some performance gain by this. So, if the effect of a mesh rule would be neglectable or irrelevant, I understand. If this gives you some idea about my grass density, I did create my grass cache while my settings are "iMaxGrassTypesPerTexure=8" and "iMinGrassSize=40" then my lod with "GrassDensity=30"

---

Also a question about occlusion if that's ok. Do occlusion created by xlodgen and dyndolod are interchangeable or do I need to create it by dyndolod to have a better one.

I guess my understanding on this is not correct.

After dyndolod process I updated my xlodgen's occlusion with the settings of Quality:3 Height:100 radius:100 mode:"+TVDS-flat+Border" with the expectation of grass/tree lod objects won't be placed behind a hill or similar type of terrain if can not be seen by PC. But when I checked with TFC, these objects are there. Is it because this objects are placed onto whole cell or not, so if a cell is partially seen then objects are placed onto whole cell. Also while I'm on TFC on these distant cells I see some of them flickering. Part of these object's textures are turning black and back, part of them just appearing and disappearing and rest of them are placed correctly which my guess is shouldn't be placed.

Can someone also correct me about occlusion?

If you do not want a certain grass to have LOD, disable its billboard generation in TexGen and make sure no billboard is installed for it. ATM mesh rules are not intended to work with GRAS records. Check the performance section of the second post.

DynDOLOD is the advanced and easier version of xLODGen. The occlusion calculation use the exact same code, obviously. There is typically no need to change the height. Leave it 0. The advantage is that with DynDOLOD different settings per worldspace can be defined in its INI and there is no extra plugin or having to run a different process. The disadvantage is that the DynDOLOD plugin might have more required masters, which can make it more likely that DynDOLOD needs updating from scratch in case of frequent load order changes.

As is explained in the DynDOLOD manual, LOD quad covers 4x4, 8x8, 16x16,  32x32  cells. Only if all cells are occluded can the entire quad be disabled.
Using TFC in Skyrim Special Edition has the described effect.

Link to comment
Share on other sites

5 hours ago, z929669 said:

You need to tell NGIO via the INI, but that mod highly advises to use precached grass to avoid stuttering and other issues. I would precache grass always with that mod, regardless of whether or not you are using it for DynDOLOD grass LODGen. This is our WIP instructions for running without grass LOD:

Precaching grass will still benefit performance. To increase performance further, disable grass LOD generation completely by making the following configuration changes prior to generating (or regenerating) object LOD:

  1. In MO, make the following changes to No Grass In Objects GrassControl.config.txt:
    • DynDOLODGrassMode = 0
    • OverwriteGrassDistance - Set to something between 4000 and 24000. Higher values decrease performance while increasing quality. Grass will be full-rendered to this value as per default behavior of fGrassStartFadeDistance in Skyrim.ini
    • OverwriteGrassFadeRange - Set to something between 1000 and 18000 (depending on OverwriteGrassDistance) to transition linearly from full grass to no grass. Higher values increase performance while decreasing quality. Grass will begin fading from this value as per default behavior of fGrassFadeRange in Skyrim.ini
    • ExtendGrassCount - Set to 'False' only if OverwriteGrassDistance ≤ 7000
  2. Set Grass=0 in ../DynDOLOD/Edit Scripts/DynDOLOD/DynDOLOD_SSE.ini

Replacing grass LOD with fully rendered grass in the LOD area beyond the loaded cells requires more performance for the same distances, obviously.
Also when new areas attach it can make the time required to generate all the full grass even longer in case the grass cache is or can not be used.

Link to comment
Share on other sites

5 hours ago, z929669 said:

The general consensus is to use xLODGen for Occlusion. From our guides:

  1. Run xLODGen from the MO2 executable drop-down list.
  2. Select only the Tamriel and DLC2SolstheimWorld worldspaces.
  3. Ensure only the Occlusion box is ticked.
  4. Use the following settings:
    • Quality: 3
    • Height: 0
    • Radius: 100
    • Mode: -Flat +Borders
  5. Click [Generate] to run the process.
  6. Once the completed message has appeared, click the red X to close xLODGen.
    • Occlusion.esp is saved automatically and will be placed in the Overwrite folder in MO.
  7. Right-click on the Overwrite mod listing and select, [Create new mod].
  8. Name it Step SkyrimSE - Occlusion or anything unique.
  9. Ensure the new mod is active (ticked).
  10. Ensure the Occlusion.esp is the last plugin in the load order just after DyDOLOD.esp and that it is enabled, else run LOOT and sort plugins.

Hi , thanks for the answer.

Previously I was using 2.88 and creating my occlusion with these directions. The only thing I've added was a +TVDT switch because of Sheson's OP on "Skyrim TVDT - Occlusion Culling Data" topic. Due to my lack of understanding on occlusion, I'm not sure but believe it's working as intended since I don't have anyd error during creating process or in-game.

Link to comment
Share on other sites

3 hours ago, sheson said:

If you do not want a certain grass to have LOD, disable its billboard generation in TexGen and make sure no billboard is installed for it. ATM mesh rules are not intended to work with GRAS records. Check the performance section of the second post.

DynDOLOD is the advanced and easier version of xLODGen. The occlusion calculation use the exact same code, obviously. There is typically no need to change the height. Leave it 0. The advantage is that with DynDOLOD different settings per worldspace can be defined in its INI and there is no extra plugin or having to run a different process. The disadvantage is that the DynDOLOD plugin might have more required masters, which can make it more likely that DynDOLOD needs updating from scratch in case of frequent load order changes.

As is explained in the DynDOLOD manual, LOD quad covers 4x4, 8x8, 16x16,  32x32  cells. Only if all cells are occluded can the entire quad be disabled.
Using TFC in Skyrim Special Edition has the described effect.

Thank you for the answer. Reminding me the quad covering gives me a clearer picture over subject. May I return to my expaction with mesh rules to understand it better?

IF (not when) there is a rule for a grass which defined as "L1/Bb1/none/none VWD Nearlod" and since Nearlod=11 its border at 6th cell from PC's location, may I assume grass LOD would ends on the border of 3rd 4x4 from my PC's location at maximum. From corner of PC's 4x4 to another 2 4x4 or safe to say 8x8 since NearLOD gives me a coverage of 6 cell on direction. I hope I ask clearly. And under this circumstance, do you have or can say a calculated guess on performance?

Or, From my current ini:

[TerrainManager]
bShowLODInEditor=1
fBlockLevel0Distance=46443
fBlockLevel1Distance=69665
fBlockMaximumDistance=92887
fSplitDistanceMult=1.089
fTreeLoadDistance=75000.0000

So even with a grass mesh rule, since "fTreeLoadDistance=75000" which approximately 18cell in this case and being grass lods placed in *btt files with trees, different distance for grass and tree lods cannot be define but only how grass lod would be seen. Can you correct me on this?

----

About the occlusion, I generally prefer different steps for a fail-safe and easier to intervene in case of user error which "height:100" in my case. This is why I stayed with xlodgen's occlusion.

Since I created my terrain lods only for Tamriel and DLC2SolstheimWorld with xlodgen and if it matters I also use Open-Cities, please mind me to say this I wouldn't bother using different worldspace settings for occlusion of dyndolod. My assumption is if the result of creating a terrain lod for a worldspace is negligible then not bother with its occlusion and I consider dyndolod's different occlusions for different worlspace setting as a proof of concept for a great tool. So does creating occlusion for other or all of the worldspaces and also using dyndolod for this has current advantages?

---

Let me declare this as a note: excuse me if I misspoke or sound rude on 2nd part. This isn't my intention and English isn't my first language.

Link to comment
Share on other sites

Using the latest version, 3.00a33 causes this error when it reaches the Tree LOD stage after a small window with a progress bar finishes:

Quote

Item not found

When I was using version 2.89 the last time I wanted updated LODs, that didn't happen. I am pretty sure everything related to LODs are still the same, only new areas for it to make more.

I have provided the logs.

bugreport.txt DynDOLOD_SSE_Tree_LOD.txt DynDOLOD_SSE_Tree_Report.txt DynDOLOD_SSE_log.txt DynDOLOD_SSE_Tree_Export.txt

Link to comment
Share on other sites

6 hours ago, prustr said:

Thank you for the answer. Reminding me the quad covering gives me a clearer picture over subject. May I return to my expaction with mesh rules to understand it better?

IF (not when) there is a rule for a grass which defined as "L1/Bb1/none/none VWD Nearlod" and since Nearlod=11 its border at 6th cell from PC's location, may I assume grass LOD would ends on the border of 3rd 4x4 from my PC's location at maximum. From corner of PC's 4x4 to another 2 4x4 or safe to say 8x8 since NearLOD gives me a coverage of 6 cell on direction. I hope I ask clearly. And under this circumstance, do you have or can say a calculated guess on performance?

Or, From my current ini:


[TerrainManager]
bShowLODInEditor=1
fBlockLevel0Distance=46443
fBlockLevel1Distance=69665
fBlockMaximumDistance=92887
fSplitDistanceMult=1.089
fTreeLoadDistance=75000.0000

So even with a grass mesh rule, since "fTreeLoadDistance=75000" which approximately 18cell in this case and being grass lods placed in *btt files with trees, different distance for grass and tree lods cannot be define but only how grass lod would be seen. Can you correct me on this?

----

About the occlusion, I generally prefer different steps for a fail-safe and easier to intervene in case of user error which "height:100" in my case. This is why I stayed with xlodgen's occlusion.

Since I created my terrain lods only for Tamriel and DLC2SolstheimWorld with xlodgen and if it matters I also use Open-Cities, please mind me to say this I wouldn't bother using different worldspace settings for occlusion of dyndolod. My assumption is if the result of creating a terrain lod for a worldspace is negligible then not bother with its occlusion and I consider dyndolod's different occlusions for different worlspace setting as a proof of concept for a great tool. So does creating occlusion for other or all of the worldspaces and also using dyndolod for this has current advantages?

---

Let me declare this as a note: excuse me if I misspoke or sound rude on 2nd part. This isn't my intention and English isn't my first language.

As I already explained mesh rules do not apply to GRAS / should not be used on GRAS records.
As explained in the second post / DynDOLOD3/docs/help/GrassLOD.html "Grass LOD uses grass LOD billboards in object LOD, similar to ultra tree LOD".
Grass LOD is done in object LOD level 4 only. Read the "Performance" section of the second post.

You do not need to bother with occlusion if a worldspace is mostly flat or very small. However, those the calculation for those worldspasce take only seconds, so it is more work to specifically select or not select worldspaces. Just do whatever works best for you and your load order.

2 hours ago, The_Void_Knight said:

Using the latest version, 3.00a33 causes this error when it reaches the Tree LOD stage after a small window with a progress bar finishes:

When I was using version 2.89 the last time I wanted updated LODs, that didn't happen. I am pretty sure everything related to LODs are still the same, only new areas for it to make more.

I have provided the logs.

bugreport.txt 43.17 kB · 0 downloads DynDOLOD_SSE_Tree_LOD.txt 58.27 kB · 0 downloads DynDOLOD_SSE_Tree_Report.txt 251.56 kB · 0 downloads DynDOLOD_SSE_log.txt 33.89 kB · 0 downloads DynDOLOD_SSE_Tree_Export.txt 92.23 kB · 0 downloads

Please also post DynDOLOD_SSE_Debug_log.txt

Check if ..\DynDOLOD\Edit Scripts\Export\LODGen_SSE_Tree_Atlas_Map_Tamriel.txt exists, probably not. In case it does upload it too.

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.