Uploaded version 1.3 of Glacier LOD Meshes which removes the Multi_Layer_Parallax shader flag from all LOD meshes. While I didn't run into any issues myself as these meshes never got used directly, it gives me peace of mind to have a clean DynDOLOD generation log. No need to rerun DynDOLOD if you don't have any problems, as these flags are automatically discarded in the generation process anyway.
16 January 2023
Uploaded version 1.2 of Glacier LOD Meshes that finally includes TexGen configuration files to automate creation of the required LOD textures. Only took me a year to get around to it! This means the mod will now work with every retexture out there and no manual steps are required anymore. The created textures are automatically adjusted to take into account that LOD meshes don't support parallax. I archived all the prepared LOD textures because they are redundant now, and to avoid confusion.
08 June 2022
Uploaded version 1.1 of Glacier LOD Meshes that should reduce the minor Z-fighting on model transition.
I also uploaded the first iteration of Mountain LOD Meshes, which have much improved geometry and inherit vertex colors of the full model. Unique mountain pieces like Solitude's arch got extra attention and are now much smoother. Vertex color alpha values were matched to vanilla for the correct amount of snow coverage using the dynamic HD snow shader. Here is a comparison with vanilla mountain LOD mesh on the left:
Please read the description page and FAQ carefully before posting.
Frequently Asked Questions
What does this mod do?
These are much improved resources for LOD generation with DynDOLOD. They won't do anything on their own. The main difference to vanilla glacier and iceberg LOD is that the models are more detailed and true to the shape and UV mapping of the full model. The vanilla LODs have very crude models and broken texture layouts, making the transition to full model very noticeable. The resources will not just improve the transitions but also greatly enhance the visuals for areas like Skyrim's northern coast and the Sea of Ghosts, as seen in the screenshots.
Where are the before/after shots?
The last few screenshots directly compare vanilla glacier LOD meshes with ones from this mod.
Will my retexture work with these LOD meshes?
Due to the fact that the full model UVs were preserved, it is very easy to use these resources with any retexture out there. Instead of countless pre-rendered LOD textures, all LOD meshes use one single texture. This means that it will suffice to just downscale the full glacierslab diffuse and normal map to 512x512px, save them both without alpha channel, and adding the suffix "lod" at the end of the file name. These then have to be saved under the \textures\lod\ subfolder. I uploaded some prepared resources for retextures I personally use as well as improved vanilla LOD textures in the optional files. Use these to check how file naming and folder structure should look like.
Why is there Z-fighting on transition from LOD to full model?
This problem isn't new, many vanilla assets have slight Z-fighting on model transition. Right now, the models are very close the full model size, and if 2 models occupy the same space, this can happen. I am already working on 0,5% downscaled meshes to almost completely get rid of this issue, and the results are promising so far. I can't say when I'll be able to finish them all, but it will be "soon".
What's the performance impact?
The meshes were heavily reduced, similar to the vanilla LOD meshes. Where was it necessary, the poly/vertex count was increased to stay true to the full model shape. In terms of VRAM, the impact is negligible. The vanilla LOD meshes needed several pre-rendered LOD textures for each object. Due to their very bad UVs, they looked worse even with 1K textures. The LOD meshes from this mod all use a single tiled texture - just like the full model. In a way, they work similar to LOD0 mountain meshes now, but without using the full model texture.
What about Skyrim SE/AE and Enderal LE/SE?
These resources work with any game version. I won't create duplicate mod pages for each one.
You're the hero of my modlist! I'm making a Project Rainforest based list, and I couldn't get the glaciers to look like rock. After days of struggling with it, your mod did it. Thanks so much! Endorsed.
This is really good. With this mod and using the same texture for lods as for normal glaciers there is very little difference between LOD and full models, basically quality glaciers up to the horizon. There is some minimal z-fighting but nothing bad.
This is one of those things you didn't know you need until you find it. I've never paid that much attention to how bad the original LODs until I've seen the comparison. I appreciate your work!
Fantastic mod! Unfortunately I seem to crash in Riften after installing and running DynDOLOD. The crash log lists this as a possible relevant object: BSTriShape(Name: `IcebergSmall02:0`).
As you mentioned a crash log, I assume you use SE. I haven't tested the meshes in SE, so I have no idea how and if they work there. I can say with certainty that there is no such issue in LE as they been thoroughly tested there. Sheson wrote they work with all game versions, also on the DynDOLOD info page, so I just carried that text over. I currently have no plans to troubleshoot the meshes in SE, sorry.
Edit: I also don't use the old DynDOLOD 2.x anymore, so make sure to grab the latest DynDOLOD 3.00 Alpha, which is currently version 62.
I do indeed use SE. And don't worry I'm not out to blame anyone. I'll get to the bottom of this one way or the other anyway. Could be that I just need to run the meshes through CAO one more time haha. I suppose my comment could be helpful for other SE players if they run into the same issue
Wait, you ran the LOD meshes through CAO before generating? That might very well be the issue then. Also, make sure to use DynDOLOD 3.00 Alpha, not DynDOLOD 2.x!
Looks like we've found a few possible culprits then, thanks for the heads-up! Yes I did run the meshes through CAO (meshes from LE to SE, normal procedure train of thought youknow). And I'm still using DynDOLOD 2.0, oof.
The meshes aren't directly used by the game, so I am not sure if converting beforehand is needed there. DynDOLOD will add them to the BTO meshes on generating, I believe that makes any conversion beforehand unnecessary. Again, not 100% sure but sheson would have mentioned it on the DynDOLOD page. You can find it under Mods - Useful 3rd Party Mods.
Don't worry about 3.0 being in alpha. I've been using it for half a year without issues, with vastly superior results. Especially TexGen 3.0 is a crucial tool now, as it will create pre-rendered LOD textures for your setup, create high quality billboards on the fly... its really nice.
I now have hundreds of hours with this mod on both LE and SE, this issue is not reproducible - its some other mod on your side doing it. Just make sure to not do any porting/SE conversion as its completely unnecessary. The mod can be used as is for any game version.
The mesh mentioned in the crashlog is the full model. The BSTriShape name is lost when data is written into the BTO meshes. Trace down the problematic mesh by checking which mod provides/edits the full model instead.
After a lot of digging I managed to track down the exact issue on my end. For me Dawn of Skyrim caused DynDOLOD to directly use the same model in cell 42, -24 of the Tamriel worldspace, which happens to be the center of where Riften's exterior sits. This of course resulted in a crash when approaching Riften, well before even reaching the gates. What I ended up doing is deleting the two placed references from DynDOLOD.esp and it solved the issue.
Here's the steps I used to fix it. In theory it should work regardless of what mod is actually causing it, if its the same issue.
Make a backup of your DynDOLOD.esp in case something goes wrong or this doesn't work for you.
Load up xEdit. You only need DynDOLOD.esp checked, it'll automatically load the dependencies.
In the Editor ID box search for IcebergSmall02_DynDOLOD_LOD, this should take you to the static object in DynDOLOD.esm.
At the bottom of the right panel you should see some tabs, one of which should say "Referenced By". Click the tab and double click the first record. It should take you to where the static is being referenced in DynDOLOD.esp. (In my case, it was cell 42, -24 of the Tamriel worldspace)
Delete the reference(s) that is using IcebergSmall02_DynDOLOD_LOD. Sorting by editor ID can help find them if there is more than one in the same cell. If there were any in other cells then repeat step 3 to find them too. In my case there were just the two, both in the same cell, so it was easy enough to deal with.
Exit xEdit and save over DynDOLOD.esp. Double check to make sure the plugin is still enabled in your mod manager, I've noticed sometimes they'll get disabled when they've been edited.
Thanks for letting us know. This info including all the logs would be interesting for sheson, so post it here. Duplicates like this are usually handled by DynDOLOD, though I am not sure if it covers duplicate dynamic LOD as well. Maybe he could also just add a rule/exception for this mod. I never used Dawn of Skyrim so I never ran into the issue myself.
There's also this: Warning: Parallax shader flag set on non-parallax shader type in meshes\lod\ice\icebergsmall02_lod.nif IcebergSmall02:0 Skyrim.esm IcebergSmall02_HeavySN [STAT:000180E5]
I got that when running DynDOLOD, as well as for other meshes from this mod as well.
The DynDOLOD summary says: "If such models are used directly in the game - for example for dynamic LOD - they can cause CTD."
It instructs to open each file with Nifskope and remove the, "The Multi_Layer_Parallax flag on any BSLightingShaderProperty that has a non-parallax Shader Type."
"The BSLightingShaderProperty for the mentioned shape name has a non-parallax Shader Type (typically Default) while also setting the Multi_Layer_Parallax on the Shader Flags 2. If such models are used directly in the game - for example for dynamic LOD - they can cause CTD. Use NifSkope to unset the The Multi_Layer_Parallax flag on any BSLightingShaderProperty that has a non-parallax Shader Type."
That's the full error message, followed by a list of meshes.
If the crash log reports the shape name "IcebergSmall02:0" and the DynDOLOD log reports a NIF with the same shapename "IcebergSmall02:0" to have invalid flags causing CTD, then fix the reported assets in order to eliminate that asset as the cause of the crash.
If an asset is used directly in the game depends on load order, settings etc. Without checking the actual logs or plugins in xEdit it is imposisble to say either way.
that being said, do I need to set custom rules in DynDOLOD 3 for these meshes? Icebergs and glaciers seem to be poofing into place even after running DynDOLOD. Using medium preset with quite a few custom high rules fwiw, so if they only show up in high settings, I can add those rules in manually
testing around Winterhold and iceberglarge and icebergsmall02 at the very least currently have no LOD
You don't need rules to make them work, they replace the vanilla LOD resources and therefor will work as is. This also means that you won't see glaciers in all LOD stages, some are just visible in the first 2 LOD stages, like the smaller iceberg you mentioned. If you have no LOD at all for certain icebergs or glaciers, something is definitely wrong in your setup though. High or medium rules won't change anything there, as they just toggle additional LOD from DynDOLOD resources, but the glaciers are handled like vanilla LOD.
For SE, remember that glaciers are large references and therefor use that system by default. Still shouldn't cause objects to have no LOD at all though. It just means you will start seeing the meshes from this mod much further away.
They definitely aren’t working because I’m not seeing them further away. Maybe it’s a problem with the texture? That has to be it. I tried downscaling the glacierslab texture in my load order (using an ice mash up, but I think they are from OG glaciers lab), but maybe it didn’t have the intended effect? From the distance, I see sort of the specs on the outside of the mesh, and then, as I get closer, it proofs into existence. So I can see “something” from a distance, but it just looks like black dots on the outside of the mesh.
which texture exactly needs to be downsized and renamed for the meshes to use?
I’m on SE by the way, do I need to optimize the meshes or anything?(Doubts that’s the issue.)
Yes, when they are invisible and you see outlines, it means you didn't save the diffuse without alpha. I mentioned that on the description page and in the sticky. LOD only supports alpha with a threshold of 128. As the full glacierslab diffuse texture uses alpha outside of that range, it will simply not be displayed when used in LOD. Just save with DXT1 compression as it will discard the alpha channel. You can do that without regenerating LOD, it will work once you resaved both files without alpha.
Converting the meshes is not necessary, these resources work for every game version and are not directly used by the game.
See, that’s the thing, I downscaled them, and I did convert to DXT1 with octagon (thankfully in a discord server with some knowledgeable folks who helped me out with that) I will double check to make sure, but I’m almost certain. Good to know I don’t need to regenerate tho, definitely the best part to hear lol
And it should be THIS texture and normal downscaled? Mine look almost transparent compared to your optional files. glacierslab02 in comparison looks more icy
Yes. It is also automatically created by TexGen but called differently. If you are unsure how to resave the file, just grab the glacierslabnoalpha.dds and glacierslabnoalpha_n.dds from your TexGen output in textures\landscape and copy them into textures\lod and rename them glacierslablod.dds and glacierslablod_n.dds.
Glacierslab02 is not a texture that exists in the vanilla game.
Yep, your last two tips confirm the issue. The glacierslabnoalpha.dds created by TexGen is a downscaled, much less transparent version of the glacierslab02 texture. Must be how the original glacier meshes are set up to use custom textures. But this should get me taken care of, thanks for your help troubleshooting!
might not be a bad idea to include the TexGen glacierslabnoalpha.dds renaming part in your description as that’s quite helpful
I wanted to include TexGen rules to automate that process for a long time now but I never got around to it.
The glacierslabnoalpha has no relation to glacierslab02, which again does not exist in the vanilla game. Its a downscaled, slightly darkened version of glacierslab texture that is saved without alpha channel. Its not less transparent, is has no transparency at all. Again the texture used for full model glaciers uses alpha thresholds not supported by LOD in Skyrim, hence the need to resave it without any alpha channel.
I understand everything you’re saying. What I'm saying is that for me, in my game, the glacierslabnoalpha is identical to the glacirslab02 tex as opposed to glacierslab. couldn't tell you how or why, but its what texgen spit out
This mod is amazing! I almost had my LODs the way I wanted them in my game except these awful looking glaciers which looked like pixelated blobs next to the other sharp LODs. Your mod completely solved the issue after I installed it and re-ran DynDOLOD 3.0. Now the glacier LOD looks phenomenal. I don't think I would've been able to solve it without this! (Also no issues with crashes or flickering that I've seen yet)
Hi there, just wanted to say that these make the glacier and iceberg lods look so amazing...thank you for your work!
Were you still planning on updating with slightly smaller meshes? I only ask because when I use large reference settings greater than 5, I get a constant flickering (due to the large reference bug) as I approach until the cell attaches, which I don't get when using the lower quality vanilla meshes. I'm assuming they're a bit smaller than the loaded model because I get barely any flicker when using them, but the lod textures look soooooo bad compared to yours. Of course when I use larger reference = 5, I only get the flicker for a second when the lod to model swap happens, but I like using the large ref system to an extent, if I can.
DynDOLOD should handle large reference bugs like this. LOD mesh and full model should never be loaded at the same time. I only know this from the info site though, I personally never used DynDOLOD for SE. Make sure to use the latest 3.0 Alpha (currently version 88) as all the development happens there.
I am currently busy with other things but when I get back to Skyrim I will try to finish the downscaled meshes as well as include rules for TexGen to auto create the textures.
I understand, thank you for the quick reply! I do use the latest alpha of 3.00, but I don't believe the large reference bug can be completely eliminated without modifying the plugin type and lowering the reference below the terrain a distance. The large reference fix dyndolod provides has to do with dynamic lod switching to full model correctly, I believe. But in any case, thanks again for your time and efforts!
Hi again, I just wanted to let you know I was able to reduce the mesh scale myself (used 0.98000 value) and it works great now with the large reference system, as there is no constant flickering where both lod and full model are fighting and the lod transition happens further back so the slight size change is practically unnoticeable. May try 0.99000 but this is working great at the moment!
Will there be an optional file for non-addon users of Glacierslab (https://www.nexusmods.com/skyrim/mods/82157)? I personally use it without the addon because I think it looks better, personally, so it would be awesome to have a LOD for that.
Sorry but no, this is an easy step you can either do yourself as instructed in the FAQ or wait for the next update, where I will try to include TexGen rules for them to be auto created.
67 comments
Uploaded version 1.3 of Glacier LOD Meshes which removes the Multi_Layer_Parallax shader flag from all LOD meshes. While I didn't run into any issues myself as these meshes never got used directly, it gives me peace of mind to have a clean DynDOLOD generation log. No need to rerun DynDOLOD if you don't have any problems, as these flags are automatically discarded in the generation process anyway.
16 January 2023
Uploaded version 1.2 of Glacier LOD Meshes that finally includes TexGen configuration files to automate creation of the required LOD textures. Only took me a year to get around to it! This means the mod will now work with every retexture out there and no manual steps are required anymore. The created textures are automatically adjusted to take into account that LOD meshes don't support parallax. I archived all the prepared LOD textures because they are redundant now, and to avoid confusion.
08 June 2022
Uploaded version 1.1 of Glacier LOD Meshes that should reduce the minor Z-fighting on model transition.
I also uploaded the first iteration of Mountain LOD Meshes, which have much improved geometry and inherit vertex colors of the full model. Unique mountain pieces like Solitude's arch got extra attention and are now much smoother. Vertex color alpha values were matched to vanilla for the correct amount of snow coverage using the dynamic HD snow shader. Here is a comparison with vanilla mountain LOD mesh on the left:
Please read the description page and FAQ carefully before posting.
Frequently Asked Questions
What does this mod do?
These are much improved resources for LOD generation with DynDOLOD. They won't do anything on their own. The main difference to vanilla glacier and iceberg LOD is that the models are more detailed and true to the shape and UV mapping of the full model. The vanilla LODs have very crude models and broken texture layouts, making the transition to full model very noticeable. The resources will not just improve the transitions but also greatly enhance the visuals for areas like Skyrim's northern coast and the Sea of Ghosts, as seen in the screenshots.
Where are the before/after shots?
The last few screenshots directly compare vanilla glacier LOD meshes with ones from this mod.
Will my retexture work with these LOD meshes?
Due to the fact that the full model UVs were preserved, it is very easy to use these resources with any retexture out there. Instead of countless pre-rendered LOD textures, all LOD meshes use one single texture. This means that it will suffice to just downscale the full glacierslab diffuse and normal map to 512x512px, save them both without alpha channel, and adding the suffix "lod" at the end of the file name. These then have to be saved under the \textures\lod\ subfolder. I uploaded some prepared resources for retextures I personally use as well as improved vanilla LOD textures in the optional files. Use these to check how file naming and folder structure should look like.
Why is there Z-fighting on transition from LOD to full model?
This problem isn't new, many vanilla assets have slight Z-fighting on model transition. Right now, the models are very close the full model size, and if 2 models occupy the same space, this can happen. I am already working on 0,5% downscaled meshes to almost completely get rid of this issue, and the results are promising so far. I can't say when I'll be able to finish them all, but it will be "soon".
What's the performance impact?
The meshes were heavily reduced, similar to the vanilla LOD meshes. Where was it necessary, the poly/vertex count was increased to stay true to the full model shape. In terms of VRAM, the impact is negligible. The vanilla LOD meshes needed several pre-rendered LOD textures for each object. Due to their very bad UVs, they looked worse even with 1K textures. The LOD meshes from this mod all use a single tiled texture - just like the full model. In a way, they work similar to LOD0 mountain meshes now, but without using the full model texture.
What about Skyrim SE/AE and Enderal LE/SE?
These resources work with any game version. I won't create duplicate mod pages for each one.
Edit: I also don't use the old DynDOLOD 2.x anymore, so make sure to grab the latest DynDOLOD 3.00 Alpha, which is currently version 62.
Yes I did run the meshes through CAO (meshes from LE to SE, normal procedure train of thought youknow).
And I'm still using DynDOLOD 2.0, oof.
Don't worry about 3.0 being in alpha. I've been using it for half a year without issues, with vastly superior results. Especially TexGen 3.0 is a crucial tool now, as it will create pre-rendered LOD textures for your setup, create high quality billboards on the fly... its really nice.
Disabling that mesh in MO resolves the crashes but obviously this is not an ideal solution.
The mesh mentioned in the crashlog is the full model. The BSTriShape name is lost when data is written into the BTO meshes. Trace down the problematic mesh by checking which mod provides/edits the full model instead.
Here's the steps I used to fix it. In theory it should work regardless of what mod is actually causing it, if its the same issue.
Good luck!
Warning: Parallax shader flag set on non-parallax shader type in meshes\lod\ice\icebergsmall02_lod.nif IcebergSmall02:0 Skyrim.esm IcebergSmall02_HeavySN [STAT:000180E5]
I got that when running DynDOLOD, as well as for other meshes from this mod as well.
The DynDOLOD summary says: "If such models are used directly in the game - for example for dynamic LOD - they can cause CTD."
It instructs to open each file with Nifskope and remove the, "The Multi_Layer_Parallax flag on any BSLightingShaderProperty that has a non-parallax Shader Type."
It sounds to me like this may be the problem.
If such models are used directly in the game - for example for dynamic LOD - they can cause CTD.
Use NifSkope to unset the The Multi_Layer_Parallax flag on any BSLightingShaderProperty that has a non-parallax Shader Type."
That's the full error message, followed by a list of meshes.
If an asset is used directly in the game depends on load order, settings etc. Without checking the actual logs or plugins in xEdit it is imposisble to say either way.
that being said, do I need to set custom rules in DynDOLOD 3 for these meshes? Icebergs and glaciers seem to be poofing into place even after running DynDOLOD. Using medium preset with quite a few custom high rules fwiw, so if they only show up in high settings, I can add those rules in manually
testing around Winterhold and iceberglarge and icebergsmall02 at the very least currently have no LOD
For SE, remember that glaciers are large references and therefor use that system by default. Still shouldn't cause objects to have no LOD at all though. It just means you will start seeing the meshes from this mod much further away.
which texture exactly needs to be downsized and renamed for the meshes to use?
I’m on SE by the way, do I need to optimize the meshes or anything?(Doubts that’s the issue.)
Thanks for your help!
Converting the meshes is not necessary, these resources work for every game version and are not directly used by the game.
And it should be THIS texture and normal downscaled? Mine look almost transparent compared to your optional files. glacierslab02 in comparison looks more icy
Glacierslab02 is not a texture that exists in the vanilla game.
might not be a bad idea to include the TexGen glacierslabnoalpha.dds renaming part in your description as that’s quite helpful
The glacierslabnoalpha has no relation to glacierslab02, which again does not exist in the vanilla game. Its a downscaled, slightly darkened version of glacierslab texture that is saved without alpha channel. Its not less transparent, is has no transparency at all. Again the texture used for full model glaciers uses alpha thresholds not supported by LOD in Skyrim, hence the need to resave it without any alpha channel.
Were you still planning on updating with slightly smaller meshes? I only ask because when I use large reference settings greater than 5, I get a constant flickering (due to the large reference bug) as I approach until the cell attaches, which I don't get when using the lower quality vanilla meshes. I'm assuming they're a bit smaller than the loaded model because I get barely any flicker when using them, but the lod textures look soooooo bad compared to yours. Of course when I use larger reference = 5, I only get the flicker for a second when the lod to model swap happens, but I like using the large ref system to an extent, if I can.
I am currently busy with other things but when I get back to Skyrim I will try to finish the downscaled meshes as well as include rules for TexGen to auto create the textures.