Jump to content

DynDOLOD 3.00 Alpha 180


sheson

Recommended Posts

5 hours ago, User77111 said:

rTRMGC9.jpeg

 

I'n not really sure what is going on.

That screenshot is a good example for how the object LOD for some stony structures is not recieving shadows, while some full models that happen to be large references in the LOD area still do.

Link to comment
Share on other sites

I just noticed the models in the screenshots receiving shadows are the full models. I just checked it looks like the terrain LOD and object LOD does not take any shadow at all.

In the screenshots comparing the 3d tree LOD brightness between the leaves vs the wood, it just looks like the LOD models have light shining on both sides of the double sided mesh that has the leaves regardless of where the sun is directing.

It seems like every double sided mesh does this. I wonder if there could be a solution for this.

Here is my Dyndolod Output: https://1drv.ms/u/s!Av1dDuTYEuYRgc5lQN88QDqgSpu2nQ?e=cLUIgS

TexGen: https://1drv.ms/u/s!Av1dDuTYEuYRgc5mm8dX9_PL10bORA?e=s07jOw

Link to comment
Share on other sites

2 hours ago, User77111 said:

In the screenshots comparing the 3d tree LOD brightness between the leaves vs the wood, it just looks like the LOD models have light shining on both sides of the double sided mesh that has the leaves regardless of where the sun is directing.

It seems like every double sided mesh does this. I wonder if there could be a solution for this.

Here is my Dyndolod Output: https://1drv.ms/u/s!Av1dDuTYEuYRgc5lQN88QDqgSpu2nQ?e=cLUIgS

TexGen: https://1drv.ms/u/s!Av1dDuTYEuYRgc5mm8dX9_PL10bORA?e=s07jOw

As I mentioned, the 3D LOD assets point the normal vector upwards so that double side triangles have equal brightness on either side and are brightest if the light shines from the top (they are actually slightly angled, so not exactly)

You could test removing the double sided flag and right click a BSTriShape, Mesh, Face normals, then again right click a BSTriShape, Mesh, Update Tangent Space.

If those work better, to restore the now missing "back triangles", convert the meshes to Skyrim (NiTriShapes) format with CAO. Duplicate the crown shape with right click on the NiTriShape, Block, Copy and right click on the root 0 BSFadeNode, Block, Paste. Then right click the NiTriShape, Mesh, Flip faces, Flip normals, Update Tangent Space.

Link to comment
Share on other sites

Posted (edited)

Hey sheson,
I'm crashing in cities (only Riften and Whiterun tested) with DynDOLOD A-170 generated output. I've tried disabling the DynDOLOD Output which got rid of the issue and I rolled back to A-169, generated a new output and had no issue. Crash Logs are included in Logs.zip, DynDOLOD_SSE_Debug (https://mega.nz/file/UacwCRLb#BzV3vb1x-dauLDoHt4rHjQOrNXzYHn8fS2_bk4s-4To) as always had been to large.

Could you have a look? Thanks!

Logs.zip

Edited by KRZ
Link to comment
Share on other sites

2 hours ago, sheson said:

As I mentioned, the 3D LOD assets point the normal vector upwards so that double side triangles have equal brightness on either side and are brightest if the light shines from the top (they are actually slightly angled, so not exactly)

You could test removing the double sided flag and right click a BSTriShape, Mesh, Face normals, then again right click a BSTriShape, Mesh, Update Tangent Space.

If those work better, to restore the now missing "back triangles", convert the meshes to Skyrim (NiTriShapes) format with CAO. Duplicate the crown shape with right click on the NiTriShape, Block, Copy and right click on the root 0 BSFadeNode, Block, Paste. Then right click the NiTriShape, Mesh, Flip faces, Flip normals, Update Tangent Space.

Thanks for the instructions I will try this out with all the LOD meshes and see if it works.

Link to comment
Share on other sites

3 hours ago, KRZ said:

Hey sheson,
I'm crashing in cities (only Riften and Whiterun tested) with DynDOLOD A-170 generated output. I've tried disabling the DynDOLOD Output which got rid of the issue and I rolled back to A-169, generated a new output and had no issue. Crash Logs are included in Logs.zip, DynDOLOD_SSE_Debug (https://mega.nz/file/UacwCRLb#BzV3vb1x-dauLDoHt4rHjQOrNXzYHn8fS2_bk4s-4To) as always had been to large.

Could you have a look? Thanks!

Logs.zip 1.18 MB · 1 download

If you are absolutely sure that the load order did not change after generating the output with alpha 170 let me know for follow up questions/troubleshooting..

Otherwise, generate a LOD patch from scratch with the latest alpha for the current load order, to verify that the crash still happens.
If it does, upload new DynDOLOD log and debug log and new crash log and keep the output around for follow up questions/troubleshooting.

Link to comment
Share on other sites

Posted (edited)

Do the settings used while generating a grass precache affect the performance of grass LOD? Or is LOD grass performance solely a matter of the Texgen and Dyndolod settings? I'm a bit confused as to whether the grass precache that is generated via the MO2 plugin is actually affecting the grass LOD density or other performance variables or if that is solely determined after the fact with the billboard and LOD settings. I used No grass in objects with grass helper NG to generate the precache but I'm not sure if the grass INI settings are influencing the quality of precache generation or if they only affect full grass appearance in the loaded cell.

Edited by drift123
typo
Link to comment
Share on other sites

7 minutes ago, drift123 said:

Do the settings used while generating a grass precache affect the performance of grass LOD? Or is LOD grass performance solely a matter of the Texgen and Dyndolod settings? I'm a bit confused as to whether the grass precache that is generated via the MO2 plugin is actually affecting the grass density or other performance variables or if that is determined after the fact with the billboard and LOD settings. I used No grass in objects with grass helper NG to generate the precache but I'm not sure if the grass INI settings are influencing the quality of precache generation or if they only affect full grass appearance in the loaded cell.

https://dyndolod.info/Help/Grass-LOD
The grass cache contains grass model and placement information.

https://dyndolod.info/Help/Grass-LOD#Settings
In case the grass pre-cache was generated with SuperDenseGrass/Super-dense-grass = True, expect really long object LOD generation times. Lower the density to 33% or less.

https://dyndolod.info/Help/Grass-LOD#Performance

There are settings that change the amount of full grasses and the density of full grass in the cache. There more full grass, the more LOD grass, the higher the performance requirement. The denser the placements, the denser the grass LOD, the higher the performance requirements.

Link to comment
Share on other sites

35 minutes ago, sheson said:

https://dyndolod.info/Help/Grass-LOD
The grass cache contains grass model and placement information.

https://dyndolod.info/Help/Grass-LOD#Settings
In case the grass pre-cache was generated with SuperDenseGrass/Super-dense-grass = True, expect really long object LOD generation times. Lower the density to 33% or less.

https://dyndolod.info/Help/Grass-LOD#Performance

There are settings that change the amount of full grasses and the density of full grass in the cache. There more full grass, the more LOD grass, the higher the performance requirement. The denser the placements, the denser the grass LOD, the higher the performance requirements.

So to be clear, the grass "pre-cache" is referring to the file generation using the MO2 plugin that launches Skyrim and crashes then relaunches Skyrim and outputs the CGID files?

Whereas the grass "cache" is the grass LOD output the Dyndolod creates? Or are the pre-cache and cache synonymous? As I understand it both the LOD grass and full grass are cached for better performance compared to the vanilla loading technique.

I have Superdense grass set to false and Dyndolod mode to 1 in the grass control .ini for No Grass In Objects mod. I'm only rendering full grass in the 5x5 loaded cell but it was still a heavy performance hit. I'm aware that I can lower the grass density in Dyndolod and lower the billboard quality in TexGen. Is there any performance reason to regenerate the CGID pre-cache files if SuperDenseGrass was false and the load order is the same?

Link to comment
Share on other sites

24 minutes ago, drift123 said:

So to be clear, the grass "pre-cache" is referring to the file generation using the MO2 plugin that launches Skyrim and crashes then relaunches Skyrim and outputs the CGID files?

Whereas the grass "cache" is the grass LOD output the Dyndolod creates? Or are the pre-cache and cache synonymous? As I understand it both the LOD grass and full grass are cached for better performance compared to the vanilla loading technique.

I have Superdense grass set to false and Dyndolod mode to 1 in the grass control .ini for No Grass In Objects mod. I'm only rendering full grass in the 5x5 loaded cell but it was still a heavy performance hit. I'm aware that I can lower the grass density in Dyndolod and lower the billboard quality in TexGen. Is there any performance reason to regenerate the CGID pre-cache files if SuperDenseGrass was false and the load order is the same?

cache = precache = the files in the ..\data\grass\ folder generated by NGIO.

https://dyndolod.info/Help/Grass-LOD
Grass LOD uses grass LOD billboards in object LOD, similar to ultra tree LOD. [..] Grass LOD is generated for LOD level 4 only.
Grass LOD generation requires a warmed (current) grass precache for the current load order. It uses the *.CGID files found in the ..\Data\Grass\ folder.

If you do not change any settings that affect the data in the cache, like changing the filenames of full grass models, the number of full grasses per landscape texture or the density full grass, then there is no need to generate the grass cache again, as it will be more or less the same.

Link to comment
Share on other sites

Posted (edited)
On 6/3/2024 at 9:23 AM, sheson said:

It is correct. The screenshotted reference xx00C938 using Meshes\jk's blue palace\sbluepalacegate.nif also has Meshes\jk's blue palace\sbluepalacegate.nif in the BTO because of that mesh mask rule. The full model gate can be seen in the BTO. That reference is not involved in the issue you are seeing. As I suspected, I found the different reference to be xx5A004B in BluePalaceTerrace.esp. That is the one that is being replaced to a completely different model because of sos_seasons_vigilant_win.ini defines that swap.

You can look up these references (BA00C938 and 325A004B) in the export file LODGen_SSE_Export_Tamriel_WIN.txt to see which reference uses which LOD model in the BTO in the end.

There was a typo in SoS_Seasons_Vigilant_WIN.ini, but I didn't notice because SoS_Seasonspatch_WIN.ini is taking priority on my build. I would have expected that at least one of the 10,000 people who have downloaded the mod would have noticed it and reported the bug, but apparently not. I have updated the mod now with a fix.

On 6/3/2024 at 9:23 AM, sheson said:

I got confused with Base Object Swapper. Seasons INIs can have any file name and DynDOLOD does load them alphabetically (can be checked in the debug log). So "zzzConfig wins over aaaConfig". The problem is that SOS treats the filenames case sensitive while xEdit - like Windows - by default does not. For example, a is loaded after B by SOS. I will address that in the next alpha (including making sure the underscore sorts the same way - its after uppercase but before lowercase usually)

Thanks for the clarification. I was a bit scared when you said you were using load order for determining priority rules, since that could have caused a lot of mismatches for other types of objects (like trees). But isn't Base Object Swapper also sorting alphabetically? It isn't documented, but I assumed that was the case, which is also what I have experienced during my testing. And are you sure about the case sensitivity? It sounds weird to me that a would load after B.

Edited by Jonado
Link to comment
Share on other sites

1 hour ago, sheson said:

If you do not change any settings that affect the data in the cache, like changing the filenames of full grass models, the number of full grasses per landscape texture or the density full grass, then there is no need to generate the grass cache again, as it will be more or less the same.

Does that include these settings?

NGIO:
Ensure-max-grass-types-setting = 15
Overwrite-min-grass-size = -1

Veydosebrom:
iMaxGrassTypesPerTexure=15
iMinGrassSize=20

I have good performance with full grass at the default Veydosebrom ini settings above (in the loaded 5x5 cell), so I used these settings to generate the CGID cache files. I'm going to try non-HD grass billboards and a lower density setting in Dyndolod, but not sure if these specific ini settings for the grass cache are relevant to grass LOD performance.

Link to comment
Share on other sites

7 hours ago, Jonado said:

There was a typo in SoS_Seasons_Vigilant_WIN.ini, but I didn't notice because SoS_Seasonspatch_WIN.ini is taking priority on my build. I would have expected that at least one of the 10,000 people who have downloaded the mod would have noticed it and reported the bug, but apparently not. I have updated the mod now with a fix.

Thanks for the clarification. I was a bit scared when you said you were using load order for determining priority rules, since that could have caused a lot of mismatches for other types of objects (like trees). But isn't Base Object Swapper also sorting alphabetically? It isn't documented, but I assumed that was the case, which is also what I have experienced during my testing. And are you sure about the case sensitivity? It sounds weird to me that a would load after B.

Yes you are correct, both BOS and DynDOLOD also sort the BOS INIs alphabetical. Same issue with the case sensitivity though - that I double checked with the logs. So that will be fixed as well. 

Link to comment
Share on other sites

6 hours ago, drift123 said:

Does that include these settings?

NGIO:
Ensure-max-grass-types-setting = 15
Overwrite-min-grass-size = -1

Veydosebrom:
iMaxGrassTypesPerTexure=15
iMinGrassSize=20

I have good performance with full grass at the default Veydosebrom ini settings above (in the loaded 5x5 cell), so I used these settings to generate the CGID cache files. I'm going to try non-HD grass billboards and a lower density setting in Dyndolod, but not sure if these specific ini settings for the grass cache are relevant to grass LOD performance.

Ensure-max-grass-types-setting changes number of full grasses per landscape texture. Overwrite-min-grass-size changes density of full grass.

As explained by NGIO, the above settings overwrite iMaxGrassTypesPerTexure and iMinGrassSize in the Skyrim/mod INI.

Changing these settings changes full grass amount and density, so the positions. So the cache and the LOD should be updated to reflect those changes.

Link to comment
Share on other sites

Hi,

I'm here because I'm a little bit desperate... The new update of No grass in object for AE is amazing, I have beautiful grass LODs but now I have a new problem...

I will try to explain it. You can see grass LOD in the distance but the loaded grass near the player is fading before disappearing completely when walking away. Please watch the video for more details.

May someone help me please, it makes me have nightmares.

 

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.