Jump to content

DynDOLOD 3.00 Alpha 182


sheson

Recommended Posts

Hi Sheson and DynDOLOD devs,

Is there a way to disable grass LODs in the generated dyndolod.esp? I created dyndolod.esp with QW's grass patch and then I realized QW's grass patch is not compatible with grass LOD generation. It is mentioned in the mod's posts that this mod has "object bound as 0" for many grasses.

Link to comment
Share on other sites

20 minutes ago, jkp993 said:

Hi Sheson and DynDOLOD devs,

Is there a way to disable grass LODs in the generated dyndolod.esp? I created dyndolod.esp with QW's grass patch and then I realized QW's grass patch is not compatible with grass LOD generation. It is mentioned in the mod's posts that this mod has "object bound as 0" for many grasses.

Not sure about disabling in the plugin, but you can regenerate without grass using these instructions. You can also update the QW grass plugin object bounds as described in {DynDOLOD}/docs/help/TexGenConfiguration.html ... but you will still need to regenerate object LOD using DynDOLOD.

Link to comment
Share on other sites

59 minutes ago, jkp993 said:

Hi Sheson and DynDOLOD devs,

Is there a way to disable grass LODs in the generated dyndolod.esp? I created dyndolod.esp with QW's grass patch and then I realized QW's grass patch is not compatible with grass LOD generation. It is mentioned in the mod's posts that this mod has "object bound as 0" for many grasses.

Obviously grass LOD can not be disabled in a plugin because it is part of the generated object LOD meshes. You can set Grass=0 in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini. and then Execute LODGen in expert mode ("Updating" in second post) to generate new object LOD meshes without grass LOD. Settings in the No Grass In Objects are irrelevant to grass LOD or grass LOD generation, they just control how far full grass models are shown.

There is no such thing as grass mods being incompatible with grass LOD. A mod maybe incomplete and lack the objects bounds data required for automatic billboard generation, but that can/should be fixed with CK anyways and/or generation of any billboard can be forced via config files as explained in docs/help/TexGenConfiguration.html

Link to comment
Share on other sites

3 hours ago, sheson said:

Obviously grass LOD can not be disabled in a plugin because it is part of the generated object LOD meshes. You can set Grass=0 in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini. and then Execute LODGen in expert mode ("Updating" in second post) to generate new object LOD meshes without grass LOD. Settings in the No Grass In Objects are irrelevant to grass LOD or grass LOD generation, they just control how far full grass models are shown.

There is no such thing as grass mods being incompatible with grass LOD. A mod maybe incomplete and lack the objects bounds data required for automatic billboard generation, but that can/should be fixed with CK anyways and/or generation of any billboard can be forced via config files as explained in docs/help/TexGenConfiguration.html

Thank you for the info! I will try what you and z929669 suggested.

Link to comment
Share on other sites

There is a fix for running Dyndolod under wine. Usually, it will crash generated tree billboards with a weird error about mipmaps. This is coming back from wine's implementation of windowscodecs.dll, which apparently has some behavioral difference that causes some misunderstanding about mipmap levels or formats (didn't dig deeper).

This bug will not occur if the "-nowic" parameter is also passed to texconvx64, as it seems to bypass this codepath. I am able to run dyndolod successfully by running a fake wrapper EXE in the place of texconvx64.exe that modifies the  arguments and calls the real texconvx64.exe; hexediting the command line in the dyndolodx64.exe binary seems to  trip some checksums.

It's probably safe to enable this flag on windows and wine, but a checkbox or command line switch to enable it would be ideal.

Link to comment
Share on other sites

14 hours ago, z929669 said:

Not sure about disabling in the plugin, but you can regenerate without grass using these instructions. You can also update the QW grass plugin object bounds as described in {DynDOLOD}/docs/help/TexGenConfiguration.html ... but you will still need to regenerate object LOD using DynDOLOD.

Do I need to rerun grass caching after updating the object bounds?

Link to comment
Share on other sites

2 hours ago, jsa2352 said:

There is a fix for running Dyndolod under wine. Usually, it will crash generated tree billboards with a weird error about mipmaps. This is coming back from wine's implementation of windowscodecs.dll, which apparently has some behavioral difference that causes some misunderstanding about mipmap levels or formats (didn't dig deeper).

This bug will not occur if the "-nowic" parameter is also passed to texconvx64, as it seems to bypass this codepath. I am able to run dyndolod successfully by running a fake wrapper EXE in the place of texconvx64.exe that modifies the  arguments and calls the real texconvx64.exe; hexediting the command line in the dyndolodx64.exe binary seems to  trip some checksums.

It's probably safe to enable this flag on windows and wine, but a checkbox or command line switch to enable it would be ideal.

Can you please generate without the wrapper and then upload the log, debuglog and bugreport.txt if it exists, so I can see the exact error message etc.

Link to comment
Share on other sites

After going through the various grass mods that make up QW's Patch in the Creation Kit and recalculating bounds, I think I have much better results. Thank you so much to sheson and z929669 for your help.

I am seeing something weird when I go up to the Throat of the World, and I don't actually know if it's a DynDOLOD issue, an xLODGen issue, or something else. There's a large square around the mountain with a different terrain color than the further cells. Does this look like a familiar issue to anyone?

 

Edit: forgot logs. TexGen_SSE_Debug_log DynDOLOD_SSE_Debug_log LODGen_SSE_Tamriel_log

DynDOLOD_SSE_log_truncated.txt

Edited by Yuina
forgot logs
Link to comment
Share on other sites

21 hours ago, sheson said:

Can you please generate without the wrapper and then upload the log, debuglog and bugreport.txt if it exists, so I can see the exact error message etc.

"-nowic" fixes this Invalid paramter 80080057 error, which is apparently a wine bug in windowscodecs.dll (specifically, in GenerateMipMapsWIC or its preconditions). I'd hypothesize it's somewhere between this and this (it happens with both DXT1-5 and BC7). Latest texconv or texconvx64.exe doesn't change anything.

[00:00:56.852]  Creating atlas 4096x4096 with 38 textures
[00:00:58.596]  reading C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees\TamrielTreeLod.dds (4096x4096 B8G8R8A8_UNORM 2D) as FAILED [mipmaps] (80070057: Invalid parameter.)
[00:00:58.918]  [Tamriel] Trees LOD generation error: Executing TexConv returned error 00000001: "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\Edit Scripts\Texconv.exe" -nologo -y -sepalpha  -f BC7_UNORM -bc q -o "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees" "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees\TamrielTreeLod.dds"
[00:00:58.963]  [00:34]  
[00:00:58.963]  [00:34] Exception in unit userscript line 255: [Tamriel] Trees LOD generation error: Executing TexConv returned error 00000001: "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\Edit Scripts\Texconv.exe" -nologo -y -sepalpha  -f BC7_UNORM -bc q -o "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees" "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees\TamrielTreeLod.dds"
[00:00:58.963]  [00:34]  
[00:00:58.963]  [00:34] Check log lines above the exception for additional hints. Check the FAQ and search official forum https://stepmodifications.org/forum/forum/223-shesons-dyndolod-xlodgen/ for those errors.
[00:00:58.963]  [00:34]  
[00:00:58.963]  [00:34] If problem persists, post error report with entire contents (not just the last couple lines) of ..\DynDOLOD\bugreport.txt and ..\DynDOLOD\logs\DynDOLOD_SSE_log.txt to official forum https://stepmodifications.org/forum/forum/223-shesons-dyndolod-xlodgen/
[00:00:58.963]  [00:34] Error: [Tamriel] Trees LOD generation error: Executing TexConv returned error 00000001: "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\Edit Scripts\Texconv.exe" -nologo -y -sepalpha  -f BC7_UNORM -bc q -o "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees" "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees\TamrielTreeLod.dds"

This class of error still occurs during the run, but seems to be related to IL incompatibilities between normal mono and MS dotnet impl. Most likely this is effectively a wine bug, if it works on windows. This does not disrupt Dyndolod much, but I bet it's not ideal.

Error reading meshes\lod\dwemer\dwefacadetowerarch01_lod.nif from BSA/BA2 lz4: Invalid IL code in <Module>:?A0xbaf7a355.XXH32_finalize (uint,void modopt(System.Runtime.CompilerServices.IsConst)*,ulong,XXH_endianess,XXH_alignment): IL_0007: switch    (IL_07de, IL_07bf, IL_0798, IL_0771, IL_0173, IL_0325, IL_04f9, IL_06e9, IL_00e2, IL_0294, IL_0468, IL_065d, IL_0051, IL_0203, IL_03d7, IL_05cc)

 

Link to comment
Share on other sites

5 hours ago, Yuina said:

After going through the various grass mods that make up QW's Patch in the Creation Kit and recalculating bounds, I think I have much better results. Thank you so much to sheson and z929669 for your help.

I am seeing something weird when I go up to the Throat of the World, and I don't actually know if it's a DynDOLOD issue, an xLODGen issue, or something else. There's a large square around the mountain with a different terrain color than the further cells. Does this look like a familiar issue to anyone?

 

Edit: forgot logs. TexGen_SSE_Debug_log DynDOLOD_SSE_Debug_log LODGen_SSE_Tamriel_log

DynDOLOD_SSE_log_truncated.txt 669.42 kB · 0 downloads

The ground is terrain LOD textures. Looks like not all of the terrain LOD textures for the 4 LOD levels were generated with the same settings or maybe LOD level 32, which is also used for the map, is from another (map) mod. Either generate all terrain LOD textures with the same settings or in case it is LOD level 32 texture from a (map) mod that you want to keep, increase the object/terrain LOD level 16 distance (fBlockMaximumDistance) or just the terrain LOD multiplier (fSplitDistanceMult) in the DynDOLOD SkyUI MCM Settings.

Link to comment
Share on other sites

54 minutes ago, jsa2352 said:

"-nowic" fixes this Invalid paramter 80080057 error, which is apparently a wine bug in windowscodecs.dll (specifically, in GenerateMipMapsWIC or its preconditions). I'd hypothesize it's somewhere between this and this (it happens with both DXT1-5 and BC7). Latest texconv or texconvx64.exe doesn't change anything.


[00:00:56.852]  Creating atlas 4096x4096 with 38 textures
[00:00:58.596]  reading C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees\TamrielTreeLod.dds (4096x4096 B8G8R8A8_UNORM 2D) as FAILED [mipmaps] (80070057: Invalid parameter.)
[00:00:58.918]  [Tamriel] Trees LOD generation error: Executing TexConv returned error 00000001: "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\Edit Scripts\Texconv.exe" -nologo -y -sepalpha  -f BC7_UNORM -bc q -o "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees" "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees\TamrielTreeLod.dds"
[00:00:58.963]  [00:34]  
[00:00:58.963]  [00:34] Exception in unit userscript line 255: [Tamriel] Trees LOD generation error: Executing TexConv returned error 00000001: "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\Edit Scripts\Texconv.exe" -nologo -y -sepalpha  -f BC7_UNORM -bc q -o "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees" "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees\TamrielTreeLod.dds"
[00:00:58.963]  [00:34]  
[00:00:58.963]  [00:34] Check log lines above the exception for additional hints. Check the FAQ and search official forum https://stepmodifications.org/forum/forum/223-shesons-dyndolod-xlodgen/ for those errors.
[00:00:58.963]  [00:34]  
[00:00:58.963]  [00:34] If problem persists, post error report with entire contents (not just the last couple lines) of ..\DynDOLOD\bugreport.txt and ..\DynDOLOD\logs\DynDOLOD_SSE_log.txt to official forum https://stepmodifications.org/forum/forum/223-shesons-dyndolod-xlodgen/
[00:00:58.963]  [00:34] Error: [Tamriel] Trees LOD generation error: Executing TexConv returned error 00000001: "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\Edit Scripts\Texconv.exe" -nologo -y -sepalpha  -f BC7_UNORM -bc q -o "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees" "C:\steam\steamapps\common\skyrim special edition\DynDOLOD\DynDOLOD_Output\Textures\Terrain\Tamriel\Trees\TamrielTreeLod.dds"

This class of error still occurs during the run, but seems to be related to IL incompatibilities between normal mono and MS dotnet impl. Most likely this is effectively a wine bug, if it works on windows. This does not disrupt Dyndolod much, but I bet it's not ideal.


Error reading meshes\lod\dwemer\dwefacadetowerarch01_lod.nif from BSA/BA2 lz4: Invalid IL code in <Module>:?A0xbaf7a355.XXH32_finalize (uint,void modopt(System.Runtime.CompilerServices.IsConst)*,ulong,XXH_endianess,XXH_alignment): IL_0007: switch    (IL_07de, IL_07bf, IL_0798, IL_0771, IL_0173, IL_0325, IL_04f9, IL_06e9, IL_00e2, IL_0294, IL_0468, IL_065d, IL_0051, IL_0203, IL_03d7, IL_05cc)

 

The log snippet is from DynDOLOD 2.x, this is the DynDOLOD 3 alpha thread. I would be interested if setting an uncompressed texture format TreeLODDiffuseFormat=88 in the DynDOLOD_SSE.ini still works as a workaround. Or if also setting TreeLODGenerateMipMaps=0 is needed?

If LODGen is not able to read a LOD model, then it won't be included in the object LOD meshes and missing. Test if using the x64 version is any different.

Link to comment
Share on other sites

When I run TexGenx64, it runs through normally then restarts my computer with it not even being finished. I have used DynDOLOD for years and never had any troubles until now. I installed it correctly, it's using as much memory as it needs, but it is restarting my computer without giving a log. I did assign every tick box "grass, trees, trees hd, and rendering" so maybe that has something to do with it. It's not a specs problem as I have a very high end rig. Any help would be appreciated

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.