Jump to content

Recommended Posts

Posted (edited)

I just used DynDOLOD 3.18 and the only thing I have to complain about (all other aspects were due to errors made of myself) is this:

If you're using Immersive Armors and decide to let the config spell being removed (via MCM menu), there are some records/entries inside the plugin 'deleted'
which leads to 'unresolved errors depending on [refID]'.

I relate to this (checked for errors via xEdit and also the same error why dyndolod will not work further)

 

 

[00:00] Start: Checking for Errors
[00:00] Checking for Errors in [27] Hothtrooper44_ArmorCompilation.esp
[00:00] IAMEffConfig "'Immersive Armors' Konfiguration" [MGEF:27018379]
[00:00]     MGEF \ VMAD - Virtual Machine Adapter \ Scripts \ Script \ Properties \ Property \ Value \ Object Union \ Object v2 \ FormID -> [2701A47C] < Error: Could not be resolved >
[00:01] IAShieldPaintingACTIVATOR [REFR:27020EC5] (places WeaponRackCOAMidACTIVATORPlayerHouse "Schildständer" [ACTI:000E49CB] in GRUP Cell Persistent Children of [CELL:0001A270] (in WhiterunWorld "Weißlauf" [WRLD:0001A26F]) at 7,-1)
[00:01]     REFR \ VMAD - Virtual Machine Adapter \ Scripts \ Script \ Properties \ Property \ Value \ Object Union \ Object v2 \ FormID -> [2701A47C] < Error: Could not be resolved >
[00:01] IAAdminQuest "IA Admin" [QUST:27014836]
[00:01]     QUST \ VMAD - Virtual Machine Adapter \ Scripts \ Script \ Properties \ Property \ Value \ Object Union \ Object v2 \ FormID -> [2701A47C] < Error: Could not be resolved >
[00:01]     QUST \ VMAD - Virtual Machine Adapter \ Scripts \ Script \ Properties \ Property \ Value \ Object Union \ Object v2 \ FormID -> [2701A47C] < Error: Could not be resolved >
[00:02] Done: Checking for Errors, Processed Records: 5361, Errors found: 3, Elapsed Time: 00:02



It may be the wrong way to get rid of the config spell, but as this is an 'intended' error, would it be possible that DynDOLOD can ignore this one?
I had to redownload the whole mod again, to get the plugin where the entries weren't already edited or it would not have been possible for me to create

the LODs at all.

 

Also, does the LOD generation longer in the background?
Everything seems finished (no plugins are in the output folder at the moment), but I think something got stuck?

9qgho3pw.jpg

 

 

eel8y3qe.jpg

 

 

st5iwf57.jpg

 

This is the picture I have since 30 minutes now (RAM usage was 11GB at and is fallen down to the value seen in the picture and is starting to get higher again)
 

Edit: As there were no Logs with any errors inside it beside 'aborter by user' as I closed the LODGEN64.exe, I start over and will do Tamriel worldspace alone and at first.

Edited by PRieST
  • Replies 10.2k
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Posted

Would compressing records of the ESP output to esl flag it be fine then? Thx

No. If the DynDOLOD.esp has less than 2048 new records something is probably wrong.

Posted

 

I just used DynDOLOD 3.18 and the only thing I have to complain about (all other aspects were due to errors made of myself) is this:

 

If you're using Immersive Armors and decide to let the config spell being removed (via MCM menu), there are some records/entries inside the plugin 'deleted'

which leads to 'unresolved errors depending on [refID]'.

 

It may be the wrong way to get rid of the config spell, but as this is an 'intended' error, would it be possible that DynDOLOD can ignore this one?

I had to redownload the whole mod again, to get the plugin where the entries weren't already edited or it would not have been possible for me to create

the LODs at all.

No.

 

Also, does the LOD generation longer in the background?

Everything seems finished (no plugins are in the output folder at the moment), but I think something got stuck?

 

This is the picture I have since 30 minutes now (RAM usage was 11GB at and is fallen down to the value seen in the picture and is starting to get higher again)

 

FAQ: LODGen.exe: Runs a long time / The LOD files generated are several GB in size

 

A: The selected configuration options require a lot of work. Do not manually close LODGen.exe. Wait for all processes to complete before closing DynDOLOD.

 

A: If there are more objects with LOD, it takes longer and creates larger files. If there are more triangles in the models used for LOD, it takes longer and creates larger files. If there are more triangles in the terrain meshes, it takes longer.

 

A: Do not use the experimental TreeFullFallBack setting without understanding what it does and what it is for.

 

If something is using CPU it is not stuck but working.

 

Do not post screenshots of logs. Post the logs. Without any information nobody knows if things are working as expected.

Posted (edited)

I'll run it again, in version 2.87 the command window of lodgen64.exe was running till the and, but now it seemed that there was no progress at all, so I got nervous. My bad :/

 

No.

Ok, I still posted in the other one the error. For now I'll keep a 'clean' copy of the plugin from Immersive Armors for generating LODs as I won't change it for actual gameplay and as it never was a thing before version 3.

Edited by PRieST
Posted

I'll run it again, in version 2.87 the command window of lodgen64.exe was running till the and, but now it standed still, so I got nervous. My bad :/

 

Ok, I still posted in the other one the error. For now I'll keep a 'clean' copy of the plugin from Immersive Armors for generating LODs as I won't change it for actual gameplay and as it never was a thing before version 3.

Remove the defunct unresolved records or set them to zero form id. Whatever is appropriate as a default for the entry.

Posted (edited)

Remove the defunct unresolved records or set them to zero form id. Whatever is appropriate as a default for the entry.

Ok, thanks, will try this out.

 

Another questions:

With version 2.87 it didn't matter if 'textures\terrain\lodgen\[worldspace]' was loose or packed in a .bsa archive.

With version 3 I got erros because of 'texturename_RefID.txt' was missing. After I unpacked the corresponding files everything worked as it should.

 

So, I think this is your intention, but I wanted to ask why (Now that I know, it's ok, so I let the files being unpacked)

Edited by PRieST
Posted (edited)

Ok, thanks, will try this out.

 

Another questions:

With version 2.87 it didn't matter if 'textures\terrain\lodgen\[worldspace]' was loose or packed in a .bsa archive.

With version 3 I got erros because of 'texturename_RefID.txt' was missing. After I unpacked the corresponding files everything worked as it should.

 

So, I think this is your intention, but I wanted to ask why (Now that I know, it's ok, so I let the files being unpacked)

LODGen will be able to read the txt from BSA in a future update.

 

However, the workflow is to create billboards with TexGen and install its output last.

The instructions do not say to make BSA out of the outputs from TexGen or DynDOLOD and as the FAQ explains, it is not supported (because overwrite orders need to be ensured).

Edited by sheson
Posted

Those were files from HD LODs Textures SE, for example. And some other mods, but it's ok, I leave these files unpacked.

Thanks for your answers. I'll let DynDOLOD work again.

I don't wanted nor have I packed files from TexGEN Output or DynDOLOD itself.

Posted (edited)

DynDOLOD 3 is doing a lot of things more efficiently including additional error and sanity checks.

 

I am asking myself the same question. I do not really know if doing this with references might be causing problems in the game or not.

 

If CK allows it and it works in-game it might be fine. However, it just seems cleaner to disable them and add new references instead. That maybe just a personal preference.

 

There is a dozen references in Solitude Skyway SE + BluePalaceTerrace [PATCH - LoTD] (STD).esp that are moved to the interior cell.

xx0029FE, xx017602, xx018C1B, xx0242DA, xx029490, xx03DB38, xx06B5BA, xx084B15, xx084B16, xx084B17, xx0D0929, xx0D092A

 

DynDOLOD can be made to ignore them silently, ignore them with a warning message or stop with an error. Whatever we deem suitable.

For the next alpha version, DynDOLOD will just ignore them with a "Notice" - which only shows in the debug log with default settings.

 

OK thankyou Sheson. I will inform the individual that originally brought this to my attention. I probably will slowly disable these references and create my own from scratch in a non-rush fashion. From a "looking thru a rearview mirror perspective" at these modules, YES. I should have made new base objects but at the time of me making them, it just didn't happen that way. I agree fully; its cleaner which is how I like things personally and yeah, its a preference most likely that we both share but we are talking about over 10 modules from the Modular PatchXPress Page and right now is just bad timing for me to do 10 of them. Was this intentional; yes but didn't even consider the idea of it at the time as being wrong. 

 

Leontristain's area here in their module Modular Blue Palace Terrace and Solitude Patches is pretty much identical to mine using tamriel child references and reusing them for the same interior cell. Its probably not up to their attention yet from the folk that DynDOLOD throws these errors using his/her stuff but eventually; it will raise their eyebrow from the community asking them. I don't know all the mods out their but I am sure their is more that have done this or were put in a situation where it made some kind of sense to reuse the references for the situation at hand from one space to another; although it most certainly isn't that common but I can see it happening

Edited by KhrysINXS
Posted

OK thankyou Sheson. I will inform the individual that originally brought this to my attention. I probably will slowly disable these references and create my own from scratch in a non-rush fashion. From a "looking thru a rearview mirror perspective" at these modules, YES. I should have made new base objects but at the time of me making them, it just didn't happen that way. I agree fully; its cleaner which is how I like things personally and yeah, its a preference most likely that we both share but we are talking about over 10 modules from the Modular PatchXPress Page and right now is just bad timing for me to do 10 of them. Was this intentional; yes but didn't even consider the idea of it at the time as being wrong. 

 

Leontristain's area here in their module Modular Blue Palace Terrace and Solitude Patches is pretty much identical to mine using tamriel child references and reusing them for the same interior cell. Its probably not up to their attention yet from the folk that DynDOLOD throws these errors using his/her stuff but eventually; it will raise their eyebrow from the community asking them. I don't know all the mods out their but I am sure their is more that have done this or were put in a situation where it made some kind of sense to reuse the references for the situation at hand from one space to another; although it most certainly isn't that common but I can see it happening

If it is already done by plugins/mods since a while and no users reported problems with these plugins in normal game play, then the next DynDOLOD 3 alpha version just silently ignoring references that were moved out of the worldspace for which LOD is generated seems to be the right thing to do for now.

Posted (edited)

I think I found a texture bug in a mod but wanted to be sure before sending to the Nexus. Using your alpha 19, my DyndoLOD64 object LOD creation was failing with this error on every WRLD:

Output: J:\OmegaLoTD\DynDOLOD.v3\DynDOLOD_Output\Meshes\Terrain\Vuldur\Objects\
Using UV Atlas: J:\OmegaLoTD\DynDOLOD.v3\Edit Scripts\Export\LODGen_SSE_Object_Atlas_Map_Vuldur.txt
Using Flat Textures: J:\OmegaLoTD\DynDOLOD.v3\Edit Scripts\Export\LODGen_SSE_Flat_Textures.txt
J:\SteamLibrary\steamapps\common\Skyrim Special Edition\Data\textures\terrain\lodgen\jehanna.esp\treeaspen01_red_002eef35.txt not found
Log ended at 3:20:03 PM (0:3)
Code: 404 

Tracked this back into TexGen64 failing with these errors:

[03:10] <Error: Can not find file textures\terrain\kirkmore\trees\kirkmoretreelod_red.dds used by Meshes\plants\treeaspen01_lod_flat_red.nif Jehanna.esp HaafstadTreeAspen01LOD [TREE:11662F4E]>
[03:10] <Error: Can not find file textures\terrain\tamriel\trees\TamrielTreeLOD_N.dds used by Meshes\plants\treeaspen01_lod_flat_red.nif Jehanna.esp HaafstadTreeAspen01LOD [TREE:11662F4E]>
[03:10] <Error: Error processing Meshes\plants\treeaspen01_lod_flat_red.nif Jehanna.esp HaafstadTreeAspen01LOD [TREE:11662F4E]>
 

I found a file in the Jehanna.esp mod called kirkmoretreelod.dds and copied it to kirkmoretreelod_red.dds, and TexGen64 now gives a shorter list of errors and does not block DyndoLOD object LOD generation in other workspaces.

[02:56] <Error: Can not find file textures\terrain\tamriel\trees\TamrielTreeLOD_N.dds used by Meshes\plants\treeaspen01_lod_flat_red.nif Jehanna.esp HaafstadTreeAspen01LOD [TREE:11662F4E]>

My only q re the alpha build whether it's expected that apparently unrelated WRLDs have their object LOD broken due to this missing texture in the suspect mod. Mostly though, I just want to confirm that my reading of the logs is OK before heading to Nexus to report to mod author.

 

Thanks for all the hard work on the update and the toolchain in general - it's great.

Edited by SteveTownsend
Posted

No. If the DynDOLOD.esp has less than 2048 new records something is probably wrong.

1786... but Dyndolod completed this most recent time with successfully with no error prompts or failures... where could I look in the log for more specific info on this? thanks

Posted (edited)

I know this may be a dumb complain, because I don't have the logs anymore.
I wanted to test the new grass LOD feature with DynDOLOD 3.19, everything went through and I got no errors, these are the steps I did:

1. Tested on a New Game (coc command from mainmenu), to be sure whatever is in my savegames, doesn't matter

2. Genereted Grass Cache from 'No Grass in Objects' with following settings

########################################################################################################################
#   Ray cast enabled                                                                                                   #
#                                                                                                                      #
# Use ray casting to detect where grass shouldn't grow (inside rocks or roads).                                        #
#                                                                                                                      #
#    Type: (boolean)                                                                                                   #
########################################################################################################################

RayCast = True

########################################################################################################################
#   Ray cast height                                                                                                    #
#                                                                                                                      #
# The distance above grass that must be free. 200 is slightly more than player height.                                 #
#                                                                                                                      #
#    Type: (float)                                                                                                     #
########################################################################################################################

RayCastHeight = 150

########################################################################################################################
#   Ray cast depth                                                                                                     #
#                                                                                                                      #
# The distance below grass that must be free.                                                                          #
#                                                                                                                      #
#    Type: (float)                                                                                                     #
########################################################################################################################

RayCastDepth = 5

########################################################################################################################
#   Ray cast collision layers                                                                                          #
#                                                                                                                      #
# Which collision layers to check when raycasting. Not recommended to change unless you know what you're doing. These  #
# are collision layer index from CK separated by space.                                                                #
#                                                                                                                      #
#    Type: (string)                                                                                                    #
########################################################################################################################

RayCastCollisionLayers = "1 2 13 20 31"

########################################################################################################################
#   Ray cast ignore forms                                                                                              #
#                                                                                                                      #
# Which objects will raycast ignore. This can be useful if you want grass to still grow from some objects (such as     #
# roads). The format is formid:formfile separated by ; for example "1812A:Skyrim.esm;1812D:Skyrim.esm" would add       #
# RoadChunkL01 and RoadChunkL02 forms to ignore list. Base forms go here not object references!                        #
#                                                                                                                      #
#    Type: (string)                                                                                                    #
########################################################################################################################

RayCastIgnoreForms = ""

########################################################################################################################
#   Super dense grass                                                                                                  #
#                                                                                                                      #
# Enable much more grass without having to change mod files.                                                           #
#                                                                                                                      #
#    Type: (boolean)                                                                                                   #
########################################################################################################################

SuperDenseGrass = False

########################################################################################################################
#   Super dense mode                                                                                                   #
#                                                                                                                      #
# How the super dense mode is achieved. Not recommended to change for normal play. This does nothing unless you enable #
# SuperDenseGrass setting. 7 is normal game (meaning nothing is actually changed), 6 or less would be much less grass, #
# 8 is dense, 9 is ?, 10+ is probably crash city.                                                                      #
#                                                                                                                      #
#    Type: (int32)                                                                                                     #
########################################################################################################################

SuperDenseMode = 8

########################################################################################################################
#   Profiler report                                                                                                    #
#                                                                                                                      #
# Whether to track how much time is taken to generate grass. Whenever you open console the result is reported. Try     #
# disabling all settings except profiler, go to game and in main menu 'coc riverwood', after loading open console to   #
# see normal game time. Then enable settings and check again how it changed. Remember to coc from main menu instead of #
# loading save because it might not be accurate otherwise.                                                             #
#                                                                                                                      #
#    Type: (boolean)                                                                                                   #
########################################################################################################################

ProfilerReport = False

########################################################################################################################
#   Use grass cache                                                                                                    #
#                                                                                                                      #
# This will generate cache files in /Data/Grass/ and use those when we have them. Any time you change anything with    #
# your mod setup you must delete the contents of that directory so new cache can be generated or you will have bugs    #
# like floating grass or still grass in objects (that were changed by mods).                                           #
#                                                                                                                      #
#    Type: (boolean)                                                                                                   #
########################################################################################################################

UseGrassCache = True

########################################################################################################################
#   Extend grass distance                                                                                              #
#                                                                                                                      #
# Set true if you want to enable extended grass distance mode. This will allow grass to appear outside of loaded       #
# cells. Relevant ini settings:                                                                                        #
# SkyrimPrefs.ini [Grass] fGrassStartFadeDistance                                                                      #
#                                                                                                                      #
#    Type: (boolean)                                                                                                   #
########################################################################################################################

ExtendGrassDistance = True

########################################################################################################################
#   Extend grass count                                                                                                 #
#                                                                                                                      #
# Allow more grass to be made in total. This is needed if you use very dense grass or have large draw distance.        #
# Otherwise it will reach a limit and just stop making grass leaving weird empty squares.                              #
#                                                                                                                      #
#    Type: (boolean)                                                                                                   #
########################################################################################################################

ExtendGrassCount = True

########################################################################################################################
#   Ensure max grass types setting                                                                                     #
#                                                                                                                      #
# Makes sure that the max grass types per texture setting is set to at least this much. Can be useful to make sure     #
# your INI isn't being overwritten by anything. Most grass replacer mods require this. Set 0 to disable any            #
# verification.                                                                                                        #
#                                                                                                                      #
#    Type: (int32)                                                                                                     #
########################################################################################################################

EnsureMaxGrassTypesPerTextureSetting = 15

########################################################################################################################
#   Overwrite grass distance                                                                                           #
#                                                                                                                      #
# Overwrite fGrassStartFadeDistance from any INI. If this is zero or higher then the grass distance will always be     #
# taken from this configuration instead of any INI. This can be useful if you have a million things overwriting your   #
# INI files and don't know what to edit, so you can just set it here. For example 7000 is vanilla highest in-game      #
# grass slider. If you want to set higher you need to enable ExtendGrassDistance setting as well or it will not look   #
# right in-game. What the setting actually means is that grass will start to fade out at this distance. Actual total   #
# grass distance is this value + fade range value.                                                                     #
#                                                                                                                      #
#    Type: (float)                                                                                                     #
########################################################################################################################

OverwriteGrassDistance = 14000

########################################################################################################################
#   Overwrite grass fade range                                                                                         #
#                                                                                                                      #
# Overwrite fGrassFadeRange from any INI. If this is zero or higher then the grass fade range will always be taken     #
# from this configuration instead of any INI. This determines the distance it takes for grass to completely fade out   #
# starting from OverwriteGrassDistance (or fGrassStartFadeDistance if you didn't use the overwrite). If you want the   #
# grass fade out to not be so sudden then increase this value. Probably recommended to keep this at least half of the  #
# other setting.                                                                                                       #
#                                                                                                                      #
#    Type: (float)                                                                                                     #
########################################################################################################################

OverwriteGrassFadeRange = 11000

########################################################################################################################
#   Overwrite min grass size                                                                                           #
#                                                                                                                      #
# Overwrite iMinGrassSize from any INI. If this is zero or higher then the grass density setting (iMinGrassSize) will  #
# be taken from here instead of INI files. Lower values means more dense grass. 50 or 60 is normal mode with somewhat  #
# sparse grass (good performance). Lowering the value increases density! 20 is very high density. You should probably  #
# not set lower than 20 if you decide to change it. The grass form density setting itself still mostly controls the    #
# actual density of grass, think of iMinGrassSize more of as a cap for that setting.                                   #
#                                                                                                                      #
#    Type: (int32)                                                                                                     #
########################################################################################################################

OverwriteMinGrassSize = 80

########################################################################################################################
#   Only load from cache                                                                                               #
#                                                                                                                      #
# This will change how grass works. It means grass can only ever be loaded from files and not generated during play.   #
#                                                                                                                      #
#    Type: (boolean)                                                                                                   #
########################################################################################################################

OnlyLoadFromCache = True

########################################################################################################################
#   Skip pregenerate world spaces                                                                                      #
#                                                                                                                      #
# When pre-generating grass then skip worldspaces with this editor IDs. This can greatly speed up generating if we     #
# know the worldspace will not need grass at all.                                                                      #
#                                                                                                                      #
#    Type: (string)                                                                                                    #
########################################################################################################################

SkipPregenerateWorldSpaces = "DLC2ApocryphaWorld;DLC01Boneyard;WindhelmPitWorldspace;TestMeganWorld;CWTestHold;CWSiegeTestWorld"

########################################################################################################################
#   Only pregenerate world spaces                                                                                      #
#                                                                                                                      #
# If this is not empty then skip every worldspace that isn't in this list.                                             #
#                                                                                                                      #
#    Type: (string)                                                                                                    #
########################################################################################################################

OnlyPregenerateWorldSpaces = ""

########################################################################################################################
#   DynDOLOD Grass Mode                                                                                                #
#                                                                                                                      #
# Enable grass compatibility mode with DynDOLOD Grass LODs. Valid values:                                              #
# 0 = Disabled                                                                                                         #
# 1 = Display grass only in active cells (without fade) and let DynDOLOD handle inactive cell Grass                    #
# 2 = Display grass only in active cells and large ref loaded cells (without fade) and let DynDOLOD handle grass       #
# outside of large ref cells                                                                                           #
#                                                                                                                      #
#    Type: (int32)                                                                                                     #
########################################################################################################################

DynDOLODGrassMode = 2

3. Genereted LODs with TexGen64 with these Settings:

b3ooksc6.jpg

4. I made the following Settings inside the DynDOLOD_SSE.ini

; This is the DynDOLOD.INI for Skyrim Special Edition and Skyrim VR / SSE or TES5VR game modes (see docs\help\GameMode.html)

[DynDOLOD]
; set to 1 to start in wizard mode, 0 to start in advanced mode
Wizard=0

; set to 1 for expert LODGen options in advanced mode, disables wizard automatically
Expert=0

; see ..\DynDOLOD\Docs\trees.ultra\DynDOLOD-Trees.html
;TreeLOD=1 This setting does not work anymore, check [x] Ultra in the advanced options window for generating LOD for trees in object LOD

; set to 0 to use tree full model for static object LOD instead of billboard if a tree 3D LOD model is not found
; this can create HUGE static object LOD files and can potentially cause CTD because of invalid nif settings copied to *.bto
; identify the largest full models and create 3D LOD models see Options\trees.ultra\DynDOLOD-Trees.txt
; 0 -> FullModel; 1 -> Billboard, 2 -> Billboard2, 3 -> Billboard3 etc.
; NOTE: This setting changed meaning in version 2.44
TreeFullFallBack=1

; Billboard template to use for tree LOD done in static object LOD
; set to desired billboard NIF file or Internal (traditional tree LOD style 2 plane X similar to DynDOLOD_flat_lod_2x2.nif)
; files with same name found in games ..\Data\DynDOLOD\ folder have priority over files found in this ..\DynDOLOD\Edit Scripts\DynDOLOD\ folder
; Internal will be used automatically if NIF file can not be found
Billboard1=Internal
Billboard2=DynDOLOD_flat_2x2_lod.nif
Billboard3=DynDOLOD_flat_3x2_lod.nif
Billboard4=DynDOLOD_flat_4x2_lod.nif
Billboard5=Internal
Billboard6=LODGen_flat_lod.nif

; tree LOD ignores X/Y rotation values. If the rotation exceeds the max tilt, the tree will be done as object LOD
TreeLODMaxTilt=30

; set to 1 to generate LOD Level 32 *.bto files (indentical to LOD Level 16 but without billboard trees when generating with TreeLOD=0)
; set [MapMenu] uLockedObjectMapLOD=32 in Skyrim.ini
Level32=0

; Because Bethesda simply does not comprehend people are modding exterior worldspaces ...
; set to 1 to ignore large references and not create a DynDOLOD.esm, set uLargeRefLODGridSize=5 (value of uGridsToLoad) in SkyrimPrefs.ini
; use if it is certain that the large references system will not be used
IgnoreLargeReferences=0

; set to 1 to create empty *.btt files for the quads covered by object LOD meshes instead of creating an empty *.lst when generating ultra LOD
; allows keeping vanilla tree LOD for worldspaces with cut content
CreateEmptyBTT=0

; value to set BSLightingShaderProperty Lighting Effect 1 used by SLSF2_Soft_Lighting flag for billboards used in static object LOD, higher values are brighter
FlatLODLightingEffect=0.0

; 3rd texture used for SLSF2_Soft_Lighting flag by billboards used in static object LOD
FlatLODGlowMap=textures\white.dds

; Set vertex colors for billboards used in static object LOD, 0.0 to 1.0, if value < 0.0 = no vertex color
; all 3 colors will be set to this same value so this acts as a brightness setting
FlatLODVertexColor=0.55

; Set vertex colors for billboards with normal map texture used in static object LOD, 0.0 to 1.0, if value < 0.0 = no vertex color
; all 3 colors will be set to this same value so this acts as a brightness setting
FlatLODWithNormalMapVertexColor=0.55

; Randomly change vertex color for billboards used in static object LOD, if value < 0.0 = no change
FlatLODColorVariance=0.1

; Randomly change height of billboards used in static object LOD to counter butterfly effect, set to 0.0 for no height change
FlatLODHeightVariance=0.0

; Set SLSF2_LOD_Objects flag for LOD levels equal or higher on billboards used in static object LOD
; Setting SLSF2_LOD_Objects flag disables all lighting effects
; 0 = none, 1 = LOD4, 2 = LOD8, 3 = LOD16, 4 = LOD32
FlatLODLevelLODFlag=0

; set to 1 to set transparent background of billboards to their average color, requires TreeLODDiffuseFormat with alpha channel like BC2 (DXT3), BC3 (DXT5) or A8R8G8B8
TreeLODAverageColor=1

; path to texture to set the transparent background of billboards to, requires TreeLODAverageColor=0, requires TreeLODDiffuseFormat with alpha channel like BC2 (DXT3), BC3 (DXT5) or A8R8G8B8
TreeLODBackgroundTexture=none
;TreeLODBackgroundTexture=textures\DynDOLOD\lod\dyndolodbackgroundtreelod.dds

; set to 1 to set transparent background of object LOD textures to their average color, requires ObjectLODAlphaDiffuseFormat with alpha channel like BC2 (DXT3), BC3 (DXT5) or A8R8G8B8
ObjectLODAlphaAverageColor=1

; Set LOD texture atlas formats
; Traditional 2D tree LOD does not use normal textures, but 2D tree LOD in static object LOD can make use of normal map if normals and bi/tangents are set
; NOTE: BC7 uses the included external tool Texconv. Compressing large textures with BC7 Max can take a while and can temporarily freeze the screen.
; BC1 (DXT1) = 200 - for diffuse converts any source alpha to transparency with threshold 128, for normal removes specular (alpha) which usually is not used by LOD
; BC2 (DXT3) = 201 - LOD only uses transparency and the threshold is 128
; BC3 (DXT5) = 202 - LOD only uses transparency and the threshold is 128
; BC7 Quick = 225 - LOD only uses transparency and the threshold is 128
; BC7 Max = 226 - LOD only uses transparency and the threshold is 128
; R8G8B8 = 87 - has no alpha, so do not use for alpha diffuse
; A8R8G8B8 = 88  - LOD only uses transparency and the threshold is 128
; If ObjectLODDiffuseFormat and ObjectLODAlphaDiffuseFormat are the same format one atlas texture file will be created. Otherwise two files, one for each format.
ObjectLODDiffuseFormat=225
ObjectLODAlphaDiffuseFormat=225
ObjectLODNormalFormat=225
TreeLODDiffuseFormat=225

; 0 = no mipmaps, 1 = texconv, 2 = internally
ObjectLODGenerateMipMaps=2
TreeLODGenerateMipMaps=2

; Texconv mipmap alpha coverage
AlphaCoverage=0.85

; Internal mipmap alpha factor
AlphaFactor=0.25

; File mask of textures not to add to the object LOD atlas texture. They will be used directly instead.
IgnoreTexture=mountainslab01.dds, mountainslab02.dds, atlas, treelod.dds, treelod1.dds, treelod2.dds, treelod3.dds, treelod01.dds, treelod02.dds, treelod03.dds

; set to 1 to add ShowLocalMap flag, opening/closing map causes water to reflect references with the flag set (requires [Water] bReflectSky=1 in Skyrim.ini) - can cause CTD when opening map
GlowLODLocalMap=0

; Fake Lights: minimum scale of glowing orb mesh required to add LOD for it, 1 equals 256 units
FakeLightsMinScale=1

; Fake Lights: minimum scale of glowing orb mesh required to add LOD for it in parent world, 1 equals 256 units
FakeLightsChildWorldMinScale=1

; Fake Lights: intensity of the glowing orb mesh, valid values from 1 to 9
FakeLightsIntensity=1

; Set to 1 to create a new plugin file with LOD added to STAT base elements to use in CK old style static object LOD generation
; There should be no existing DynDOLOD plugin in the load order
; Same as starting in expert mode and clicking 'Create Mod' button
CreateMod=0

; Base record signatures to process for LOD
BaseSignatures=STAT,TREE,ACTI,MSTT,CONT,FURN,DOOR

; leave at 5 even if using higher uGridsToLoad in the game
uGridsToLoad=5

; vanilla default is fMinSecondsForLoadFadeIn=1.5, set default seconds for in-game MCM setting to hide dyanmic LOD switching after fast travel
fMinSecondsForLoadFadeIn=2.7

; default mutiplier for in-game MCM window glow setting
fNearMultiple=1.25

; default mutiplier for in-game MCM window glow setting
fFarMultiple=1.5

; default mutiplier for in-game MCM window glow setting
fNeverMultiple=1.75

; Adjust terrain height for remove unseen faces function of LODGen.exe
RemoveUnseenZShift=10.0

; Changes the base records to a copy without the Has Distant LOD flag for references with enable parents to counter briefly showing object LOD when object are enabled
ConvertEnabledReferences=1

; Change PortalBoxes in processed worldspaces to just Boxes - can help with performance in Skyrim/Enderal
PortalBoxFix=0

; use decal flag from source mesh for static object LOD generated by LODGen.exe, can help with z-fighting of trimmings (flat shape on another flat shape)
; if decals fading behaves wierd see DynDOLOD_Manual.html#11a
UseDecalFlag=0

; (partial) mod file names to ignore, comma separated
; this will ignore references added by these mods, but process their overwrites
; do not ignore masters used by mods that are processed or else ...
IgnoreModFileName=Bashed Patch, SDO Full-LOD, SolitudeExterior, WhiterunExterior, holycow, DynDOLOD Addon, DynDOLOD - Addon, JKs Markarth, JKs LITE - Markarth, JKs SuperLITE - Markarth, JKs Riften, JKs LITE - Riften, JKs SuperLITE - Riften, JKs Solitude, JKs LITE - Solitude, JKs SuperLITE - Solitude, JKs Windhelm, JKs LITE - Windhelm, JKs SuperLITE - Windhelm, RedMountainErupts, DawnofWindhelm, TAVERiften, TAVESolitude, TAVEWindhelm, TownsandVillagesEnhancedPro, VolumeticMists

; (partial) mods that are obsolete
ReplaceModFileName=SDO Full-LOD, Distant Detail, NSUTR_LOD, Full LOD, SPTKatlaSailReangle, TVDT Removed

; (partial) mod file names to warn about, comma separated, remove "Open Cities Skyrim;OpenCities, " after reading in the manual about it
WarnModFileName=Open Cities Skyrim;OpenCities, Occlusion

; order to scan for *_lod*.nif files. Indentical filenames (sans path!) found *last* will overwrite win
Folder1=meshes
Folder2=meshes\dlc01\lod
Folder3=meshes\dlc02\lod
Folder4=meshes\lod
Folder5=meshes\dyndolod

; ignore LOD models for auto discovery with this (partial) path - comma separated list. Because adhering to simple Bethesda filename conventions is hard
IgnoreLODMesh=.mohidden,\aom\,\enderal\,\smskyrim\,\anthelius\,\nsurlod\,\rigmorcyrodiil\trees\

; ignore full models for auto discovery with this (partial) path - comma separated list. Because adhering to the simple Bethesda filename conventions is hard
IgnoreFullMesh=.mohidden,\aom\,\enderal\,\smskyrim\,\anthelius\

; (partial) EditorID of base element to ignore
IgnoreBaseEDID=loadscreen, _invis_, dbm_arrivalship

; Warn about and avoid using NIF that do not have any of these root blocks
ValidRootBlocks=BSFadeNode, BSLeafAnimNode, BSTreeNode

; Set to 1 to add activators as temporary references if possible. Will result in more plugins used as masters and larger plugin size because of additional CELL data that needs to be copied to the DynDOLOD plugin
; See https://www.reddit.com/r/skyrimmods/comments/ag4wm7/psa_the_reference_handle_cap_or_diagnosing_one_of/
Temporary=0

; Update TVDT occlusion data. Will result in more plugins used as masters and larger plugin size because of additional CELL records that needs to be copied to the DynDOLOD plugin
; requires Generate dynamic LOD to be checked
Occlusion=0

; Limit the number of threads in case updating height map from terrain/object LOD meshes requires large amounts of memory
; -1 = limit, otherwise set to a number greater than 0
OcclusionMaxThreadsTerrainLOD=-1
OcclusionMaxThreadsObjectLOD=4

; default setting to use in case specific worldspace settings are not defined
; Samples per cell, 1 = 1, 2 = 4, 3 = 16 - the more samples are used the more distant cells are likely to be disabled and the longer the calculations take
OcclusionQuality=2
; additional height to add to oberserver height
OcclusionHeight=0
; max render distance
OcclusionRadius=100
; All = update all CELLs that have terrain height data
; +Border = "All" with a border region
; -Flat = "All" terrain that is not flat
; -Flat +Border = "All" terrain that is not flat and a border region
; +TVDT = "All" with a TVDT record
; +TVDT +Border = "All" with a TVDT record and a border region
; +TVDT -Flat = "All" with a TVDT record and terrain that is not flat
; +TVDT -Flat +Border = "All" with a TVDT record and terrain that is not flat and a border region
; -TVDT = "All" without a TVDT record
; -TVDT +Border = "All" without a TVDT record and with a border region
; -TVDT -Flat = "All" without a TVDT record and with terrain that is not flat
; -TVDT -Flat +Border = "All" without a TVDT record and with terrain that is not flat and a border region
; In any case, only CELLs that are part of the dynamic LOD Near/Far grids are updated
OcclusionMode=-TVDT -Flat +Border

; world specific settings *_[Worldspace name] (EditorID)
; by default worlds that have the small world flag set are skipped automatically
; force enable small world
;Occlusion_ExampleWorld=1
; force disable large world
Occlusion_ArnimaDagonRealm=0
; different modes
OcclusionMode_Tamriel=-Flat +Border
OcclusionMode_Sovngarde=-TVDT -Flat
OcclusionMode_DLC01SoulCairn=-TVDT -Flat

; set to 1 to enable grass LOD in object LOD level 4, requires *.cgid grass files in data\grass\ folder from Grass Control and grass LOD billboards generated by TexGen
Grass=1

; set to 1 to flag grass LOD as LargeReference, so that it unloads at the distance of uLargeRefLODGridSize instead of the usual uGridsToLoad distance
GrassLargeReference=1

; grass LOD brightness multipliers
GrassBrightnessTopR=0.400
GrassBrightnessTopG=0.445
GrassBrightnessTopB=0.450
; make bottom darker to fake shadowing
GrassBrightnessBottomR=0.200
GrassBrightnessBottomG=0.223
GrassBrightnessBottomB=0.225

; set to 1 to run LODGen.exe with --verbose
Verbose=0

; set to a value > 0 to limit number of LODGen.exe threads, default number of cores
LODGenThreads=-1

; set to 1 to enable notices
Notice=0

; set to 1 to enable warning messages
Warning=1

; set to 1 to enable debug messages; enables notices and warnings automatically
Debug=0

;
; !!! NO NEED TO COMMENT OUT ANYTHING FOR OPEN CITIES !!!
;
; Parent world name
[skyrim Tamriel]

IgnoreIfPluginExists=OpenCities, Open Cities

; Child Town worlds to check for new LOD
ChildWorlds=MarkarthWorld, RiftenWorld, SolitudeWorld, WhiterunWorld, WindhelmWorld

; ignore the references linking to this (partial) editor id base element
Ignore=treereach, treepine, treeaspen, treeclover, treegourd, treekelp, treethicket, treevine, shrub, fern, flora, wrtreecircle, windmill, mountain, rock, fxwater, water1024, rapids, dirtcliff, drift, road, hay, wrpondwall, fence, stonewall, shackroof, impstoneblock, whprisonwallcap, whouterwallstatue, mrkmillroof01, crafting, fxglow, whgate, whdoorfrontgate, slightpost, signrtpost, mrkkeepcollonadecolm, mrkbrazierhangingdeco, mrkwarrensarch, mrkarch, candlehorn, candlel, candles, candle0, rtcanals, rtlamppost, fxmist, door

; Child Town worlds bounds, SW, NE, min height - used to automatically do LOD for trees as object LOD and to copy back disabled NeverFades added by confused mod authors
MarkarthWorld=-44,1,-40,2
RiftenWorld=41,-25,43,-23
SolitudeWorld=-15,24,-11,27,-10000
WhiterunWorld=4,-3,7,1
WindhelmWorld=31,8,34,10

5. I let DynDOLOD do it's work with following settings (loaded 'High' rules):

sqf6zc93.jpg

6. I generated Occlusion with LodGen

 

After these steps I teleportet from mainmenu to 'coc whiteriverwatchexterior03' and I just have this result:

nsfvilqk.png
If I change the setting in 'No grass in objects' to DynDOLODGrassMode = 1 I get this:

6lolulko.png

 

With set this to 0 I have the normal grass fading.

I know I know, I can't give you the logs, but if I would do this all over again, which logs do you need, to see what happened, that I don't have any grass LODs (in the Texgen output I have the grass/tree billboards)

Edited by PRieST
Posted

Hello, 

First of all stunning work.

 

Recently I tried creating 1024k texture resolution toggled in every dyndolod settings area and it seems to start creating LOD up to 8192x8192

It took over 2 hours and I ran out of memory, started lagging so I stopped. 

I used to run DynDOLOD quite often and it took me a hour or so before, but this time it started to eat memory like crazy.

 

Well it doesn't matter, but I wanted to ask can I force gpu on Dyndolod somehow? My gpu only use mod organizer and everything else (ram and cpu) use dyndolod.

Or is that mod organizer issue?

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.