sheson 561 Report post Posted December 9, 2020 I will keep this post brief. Make use of the Help buttons and hover over settings. Do not hesitate to ask questions and provide feedback. This is early ALPHA to test things and iron out bugs. Certain things may be incomplete, not work as expected or change considerably between versions. In case of error messages, click "Help for this message" if available. If making posts or reporting errors, upload/paste these files (if they exist) to a file service or pastebin ..\DynDOLOD\bugreport.txt ..\DynDOLOD\Logs\[DynDOLOD|TexGen]_[TES5|ENDERAL|SSE|TES5VR]_log.txt ..\DynDOLOD\Logs\[DynDOLOD|TexGen]_[TES5|ENDERAL|SSE|TES5VR]_Debug_log.txt If issue involves LODGen upload/paste ..\DynDOLOD\Logs\LODGen_[TES5|ENDERAL|SSE|TES5VR]_[Worldspace]_log.txt Requirements DynDOLOD Standalone 3.0 Alpha-30 (Mega) DynDOLOD Resources 2.85 (Mega) for Skyrim/Enderal or DynDOLOD Resources SE 3.00 Alpha-8 (Mega) for Skyrim SE/VR Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 For dynamic LOD: SKSE, SKSE64, SKSEVR and PapyrusUtil, PapyrusUtil SE, PapyrusUtil VR or DynDOLOD DLL For grass LOD: A warm precache from No Grass In Objects. See next post for details. Installation Install the requirements as usual. Install the Core Files from either DynDOLOD Resources or DynDOLOD Resources SE depending on the used game version. Typically overwrite any files or refer to Load/Overwrite Orders. Install other options as desired. Unpack the DynDOLOD Standalone archive into a new 'DynDOLOD' directory that is outside of special OS folders like 'Programs Files' or 'Program Files (x86)', User, Documents, Desktop, Download and also not in SteamApps, game or any mod manager folders. By default the tools start in Skyrim mode, which is the same as adding the -tes5 command line parameter. Add -sse for Skyrim Special Edition, -tes5vr for Skyrim VR or -enderal for the Enderal Steam Version. LOD Generation Use TexGen to generate object LOD textures and tree/grass LOD billboards into a dedicated output folder and then install as a mod. Use DynDOLOD to generate object LOD (includes grass LOD if enabled), tree and optional dynamic LOD into a dedicated output folder and then install as a mod. Major Feature Changes Generate tree/grass LOD billboards with TexGen Ultra tree LOD is now a checkbox - remember to update the tree mesh rule as desired. Billboard Grass LOD in object LOD Level 4. See next post for details. Generate some (slowly growing) pre-rendered object LOD textures Changelog 3.00 Alpha 30 TexGen.exe - fixed sometimes wrongly applying specular 3.00 Alpha 29 TexGen.exe - improved loading of cubemap textures 3.00 Alpha 28 TexGen.exe/DynDOLOD.exe - added Enderal SE support, uses its own config files in anticipation of Steam version DynDOLOD.exe - fixed accidentally generating tree LOD instead of object LOD for child world copies DynDOLOD.exe - add full-model-CRC32 matching for object/dynamic LOD models for automatic support of "dumb" mesh replacer mods DynDOLOD.exe - fixed not adding center cell data for first dynamic LOD activation DynDOLOD.exe - added/updated rules for better compatibility TexGen.exe - properly ignore trees without models or deleted base records TexGen.exe - added environment/cubemap shader TexGen.exe - added rendered object LOD textures - most notably vanilla Whiterun and Dwemer Ruins, DynDOLOD Dawnguard castle and more LODGen.exe - improved parsing of txt files Texconv.exe - updated to latest version DynDOLOD_Manual.html - updated explanations information for Enderal DynDOLOD Resources SE - updated meshes and texture for better compatibility 3.00 Alpha 27 DynDOLOD.exe - added INI setting TerrainUndersideIgnoreWorlds= LODGen.exe - optimize underside terrain by removing triangles for default terrain height DynDOLOD-Resources-SE - added patch to enable grass for Whiterun exterior 3.00 Alpha 26 DynDOLOD.exe - add terrain underside references to ESP so they work in all worldspaces 3.00 Alpha 25 DynDOLOD.exe - fixed a problem with thread control DynDOLOD.exe - fixed patches sometimes being confused about the destination plugin DynDOLOD.exe - improved enabling/disabling of underside mesh Papyrus Script - updated objectenabler script 3.00 Alpha 24 DynDOLOD.exe - enable/disable terrain underside meshes in child worldspaces DynDOLOD.exe - only generate terrain underside meshes for worldspaces that have LOD level 32 DynDOLOD.exe - fixed ignoring skinned meshes for dynamic LOD Papyrus Script - new objectenabler script for terrain underside meshes LODGen.exe - do not fail if optional billboard txt file is not present LODGen.exe - fixed sometimes not automatically setting passthru for glow shader LODGen.exe - fixed sometimes not applying replacement textures 3.00 Alpha 23 DynDOLOD.exe/TexGen.exe - fixed not using SSE config files for TES5VR DynDOLOD.exe - added INI settings TerrainUnderside, TerrainUndersideQuality and TerrainUndersideHeigth to automatically generate and place a terrain NIF that aids in blocking sun rays 3.00 Alpha 22 DynDOLOD.exe - added INI settings DoubleSidedTextureMask and DoubleSidedMeshMask to force double sided flag for specfic meshes or textures LODGen.exe - DoubleSidedTextureMask= and DoubleSidedMeshMask= added 3.00 Alpha 21 DynDOLOD.exe - ignore billboards without txt files so LODGen does not fail later LODGen.exe - added GrassDensity= to allow for lower density of grass LOD billboards in object LOD LODGen.exe - added ThreadSplit= to control ratio of main to sub threads for object LOD generation 3.00 Alpha 20 LODGen.exe - fixed looking up wrong path in BSA for billboard txt 3.00 Alpha 19 DynDOLOD.exe - fixed skipping over some references using LIGH DynDOLOD.exe - fixed ignoring overwrites from patches DynDOLOD.exe - fixed not always copying XEMI record from child world to existing parent LOD representations DynDOLOD.exe - ignore references with only a notice that have been moved out of their original worldspace DynDOLOD.exe - fixed ignoring XESP parent configuration not working as intended TexGen.exe - do not leave orphaned billboard files in case they are filtered out 3.00 Alpha 18 DynDOLOD.exe - fixed wrong tree LOD atlas coordinates 3.00 Alpha 17 DynDOLOD.exe - fixed index out of bounds while generating tree LOD texture atlas 3.00 Alpha 16 DynDOLOD.exe - ignore duplicate patches 3.00 Alpha 15 DynDOLOD.exe - default to -memory instead of -speed DynDOLOD.exe - added duplicate texture removal to object LOD atlas generation DynDOLOD.exe - added thread limit settings for some Occlusion operations LODGen.exe - fixed an indexing error LODGen.exe - added Threads= to limit number of concurrent LOD generation threads, defaults to number of cores 3.00 Alpha 14 DynDOLOD.exe - fixed not ignoring player enable parent for tree LOD TexGen.exe - fixed a case of not ignoring case 3.00 Alpha 13 DynDOLOD.exe - fixed sometimes leaving ITM records DynDOLOD.exe - fixed removing alpha channel from texture if NiAlphaProperty threshold is 0 DynDOLOD.exe - fixed sometimes setting unresolved material links DynDOLOD.exe - fixed not overwriting earlier rules TexGen.exe - maximize and trim billboard texture based on render instead of vertex bounding box TexGen.exe - do not generate billboard if textures are missing LODGen.exe - fixed sometimes not using side-view billboard 3.00 Alpha 12 DynDOLOD.exe - fixed wrong load order detection for ESP only generation 3.00 Alpha 11 DynDOLOD.exe - fixed sometimes modifying other plugins TexGen.exe - added separate MaxSuperSamples options for grass, tree and objects LODGen.exe - fixed sometimes not discovering grass billboards correctly 3.00 Alpha 10 DynDOLOD.exe - removed a left over debug check stopping things for no reason 3.00 Alpha 9 DynDOLOD.exe - fixed sometimes copying wrong overwrite record 3.00 Alpha 8 DynDOLOD.exe - fixed sometimes not matching LOD models 3.00 Alpha 7 DynDOLOD.exe - fixed sometimes adding a duplicate textures on atlas 3.00 Alpha 6 DynDOLOD.exe - fixed not adding master for direct childworld copies 3.00 Alpha 5 DynDOLOD.exe - demoted duplicate cell exception to a warning DynDOLOD.exe - check for childless worldspaces DynDOLOD.exe - fixed not adding master for enable parent of object activators DynDOLOD.exe - improved reading of grass data DynDOLOD.exe - added INI setting AlphaFactor= to control internal mipmap alpha coverage DynDOLOD.exe - improved normalization of assets paths TexGen.exe - ^^which means finding textures with rooted texture paths found in NIF 3.00 Alpha 4 DynDOLOD.exe - fixed trying to add references for empty parent models for glow LOD DynDOLOD.exe - report missing base record LOD definitions if automatic matching fails DynDOLOD.exe - do not add worshippers to cells added by ESP DynDOLOD.exe - fixed forced load order resulting in orphaned records DynDOLOD.exe - double check if there are duplicate cells DynDOLOD.exe - monitor for duplicate triplets DynDOLOD.exe - properly blame ESP not setting MSTT DATA - Flags 0x4 TexGen.exe - fixed localization preventing rendering TexGen.exe - fixed sometimes writing wrong CRC32 for textures 3.00 Alpha 3 DynDOLOD.exe - ignore inconsequential unresovled errors in DLC and paid mods 3.00 Alpha 2 DynDOLOD.exe - fixed INI setting typo DynDOLOD Help - updated grass LOD settings information for No Grass In Objects version 6 3.00 Alpha 1 DynDOLOD.exe - converted all remaining external pas scripts to native code DynDOLOD.exe - added ultra LOD as a GUI option DynDOLOD.exe - export binary terrain file for LODGen DynDOLOD.exe - export grass LOD billboard file for LODGen TexGen.exe - converted all remaining external pas scripts to native code TexGen.exe - added OpenGl renderer and options to generate object LOD textures and tree/grass LOD billboards from models LODGen.exe - added support for reading Skyrim Special Edition CGID grass data files to place grass billboards in static object LOD meshes LODGen.exe - PathGrass= path to folder with xy.cgid files LODGen.exe - GrassMap= file with simple (NIF_FormID) billboard filename to fully qualified (textures\terrain\LODGen\...) billboard filename LODGen.exe - GrassBrightness*= vertex color multipliers to control overall brightness of grass LODGen.exe - use optional binary terrain file for pre-pass removing unseen faces for object LOD, TerrainData= as for terrain LOD Share this post Link to post Share on other sites
sheson 561 Report post Posted December 9, 2020 Grass LOD (..\DynDOLOD\docs\help\GrassLOD.html) Grass LOD is currently only available for Skyrim Special Edition. Grass LOD uses grass LOD billboards in object LOD, similar to ultra tree LOD. TexGen can be used to automatically generate the grass LOD billboards. Grass LOD generation requires a warmed precache from No Grass In Objects for the current load order. It uses the *.CGID files found in the ..\Data\Grass\ folder. Settings Use version 6 or higher of No Grass In Objects. Set UseGrassCache = True and OnlyLoadFromCache = True in ..\NetScriptFramework\Plugins\GrassControl.config.txt. Grass LOD can either start right beyond the active cells (uGridsToLoad) or beyond the large reference distance (uLargeRefLODGridSize). Set GrassLargeReference to 0 in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini so grass LOD starts right beyond the active cells (uGridsToLoad, default = 5). Use this with DynDOLODGrassMode = 1 in ..\NetScriptFramework\Plugins\GrassControl.config.txt. Set GrassLargeReference to 1 in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini so grass LOD starts right beyond the large reference distance (uLargeRefLODGridSize, typically between 5 = off and 11). Use this with DynDOLODGrassMode = 2 in ..\NetScriptFramework\Plugins\GrassControl.config.txt. In case the grass LOD brightness or color seems off (it might depend on weathers or ENB settings), change the GrassBrightnessTop and GrassBrightnessBottom settings in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini. Change GrassDensity=100 to a lower value in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini to thin out grass LOD for better performance. Generating Generate grass LOD billboards with TexGen and install the TexGen output as usual. To enable grass LOD generation, set Grass=1 in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini. Generate object LOD as usual. Updating In case only the grass placements in the precache have changed, start DynDOLOD in expert mode, select the desired worldpace and click the Execute LODGen button. Then merge the new output with the existing output, overwriting all older files. In case only the grass textures have been changed, update the grass LOD billboards with TexGen, then start start DynDOLOD in expert mode, select the desired worldpace and click the Rebuild Atlas button. Then merge the new output with the existing output, overwriting all older files. To only switch the GrassLargeReference setting, change GrassLargeReference to True or False in ..\DynDOLOD\Edit Scripts\Export\LODGen_SSE_Export_[WORLDSPACE].txt, start DynDOLOD in expert mode, select the desired worldpace and click the Execute LODGen button. Then merge the new output with the existing output, overwriting all older files. Remeber to also change the setting to 0 or 1 in the ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini for future LOD generation. To test different GrassBrightnessTop or GrassBrightnessBottom settings, change GrassLargeReference in ..\DynDOLOD\Edit Scripts\Export\LODGen_SSE_Export_[WORLDSPACE].txt, start DynDOLOD in expert mode, select the desired worldpace and click the Execute LODGen button. Then merge the new output with the existing output, overwriting all older files. To test different grass LOD densities, change the GrassDensity setting in ..\DynDOLOD\Edit Scripts\Export\LODGen_SSE_Export_[WORLDSPACE].txt, start DynDOLOD in expert mode, select the desired worldpace and click the Execute LODGen button. Then merge the new output with the existing output, overwriting all older files. To speed things up, limit generation to LOD Level 4 by using the Specific Chunk dropdowns. Use the West/South coordinates to generate and test with a specific BTO file until the desired results are found. Performance Unsurprisingly showing millions of grass LOD billboards on screen can require a lot of resources. Try lowering LOD Level 4 distance (fBlockLevel0Distance) in the DynDOLOD SkyUI MCM Settings page or the SkyrimPrefs.INI. Visually the object LOD for mountains suffers from the shorter distance especially. Consider adding a mesh rule anywhere before the last '\' rule to compensate: Mesh mask = mountains LOD Level 4 = Level0 LOD Level 8 = Level0 LOD Level 16 = Level1 or Level2 Flags = VWD Grid = Far LOD Reference = Unchanged Consider using less dense grass settings. Remember to update the cache. To only generate grass LOD with less density, change GrassDensity=100 to a lower value in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini to thin out grass LOD. Troubleshooting Not all grass types have LOD / grass LOD billboards Check TexGen generates grass LOD billboards for all desired grass types. Plugins from mods often forget to set object bounds on base records, which filters them out from automatic grass/tree LOD billboard generation. See ..\DynDOLOD\docs\help\TexGenConfiguration.html for more details. Error processing grass data *.cgid Unable to read beyond the end of the stream. System.IO.EndOfStreamException Delete the *.cgid file. Load the game, open console and type "cow Tamriel x y" without the quotes and the values for x and y from the *.cgid filename to load directly into the cell. No Objects In Grass should then generate the file anew, which hopefully can then be read. LODGenx64.exe takes a long time or uses a lot of memory Unsurprisingly generating millions grass LOD billboards requires time and memory. Test with a higher value for LODGenThreadSplit= setting in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini to try to reduce peak memory usage. In case there are high resolution terrain LOD meshes installed in the load order, temporarily disable them to see if using the vanilla terrain LOD meshes requires less memory. Use less dense grass for the grass cache and/or lower the GrassDensity in ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.ini setting so less memory is required to generate grass LOD and to increase performance in game. Remove or disable generation of select grass LOD billboards to generate less grass LOD. Share this post Link to post Share on other sites
z929669 0 Report post Posted December 9, 2020 Thanks for the update. Good stuff! Share this post Link to post Share on other sites
Zanderat 0 Report post Posted December 9, 2020 Cool! Do we want to set "ExtendGrassDistance = True" in the NGIO config file? Thanks. Share this post Link to post Share on other sites
Delta 0 Report post Posted December 9, 2020 (edited) Why TexGen gives me this error? Always generated correctly and the mod doesn't have any error. Edited December 9, 2020 by Delta Share this post Link to post Share on other sites
sheson 561 Report post Posted December 9, 2020 Cool! Do we want to set "ExtendGrassDistance = True" in the NGIO config file? Thanks.You don't need to either way. DynDOLODGrassMode=2 extends automatically. Share this post Link to post Share on other sites
sheson 561 Report post Posted December 9, 2020 Why TexGen gives me this error? Always generated correctly and the mod doesn't have any error. The plugin has a duplicate form id as reported by the xEdit plugin loader. The duplicate form id can be removed by loading the plugin in CK and saving it. Share this post Link to post Share on other sites
Delta 0 Report post Posted December 9, 2020 The plugin has a duplicate form id as reported by the xEdit plugin loader. The duplicate form id can be removed by loading the plugin in CK and saving it.Weird, the previous version of TexGen didn't warn me. However, it worked, thank you! Share this post Link to post Share on other sites
DarkladyLexy 288 Report post Posted December 9, 2020 LodGen failing here the LODGen_SSE_Tamriel_log https://pastebin.com/gkhfr8cJ DynDOLOD_SSE_log as well https://pastebin.com/mx5UvR5d Share this post Link to post Share on other sites
spongeman131 0 Report post Posted December 9, 2020 Do we need to uninstall all billboards that were used in the V2 generation process? Or are the old filepaths ignored by TexGen now that they're no longer needed?Side note: Congrats and thank you on the tree and grass billboard generation. Having to find or manually create tree billboards was a pain. I didn't think they would ever get automated so this is beyond incredible. Share this post Link to post Share on other sites
sheson 561 Report post Posted December 9, 2020 LodGen failing here the LODGen_SSE_Tamriel_log https://pastebin.com/gkhfr8cJ DynDOLOD_SSE_log as well https://pastebin.com/mx5UvR5dDo you happen to know which mod might be using the mentioned meshes? It should warn about them much earlier before starting LODGen. Share this post Link to post Share on other sites
sheson 561 Report post Posted December 9, 2020 Do we need to uninstall all billboards that were used in the V2 generation process? Or are the old filepaths ignored by TexGen now that they're no longer needed?Side note: Congrats and thank you on the tree and grass billboard generation. Having to find or manually create tree billboards was a pain. I didn't think they would ever get automated so this is beyond incredible. The billboards generated by TexGen have the same path and filename. So the TexGen output will take priority over the original billboards anyways. You can keep them installed, it shouldn't matter. If you keep the original ones installed, you can use that to double check in MO2 if TexGen indeed created all the billboards you expect to have. ../DynDOLOD/docs/help/TexGenConfiguration.html explains how to control which billboards TexGen creates. in case you want to mix or whatever. However, for now I assume that the generated billboards will always be the better and preferred option in the future. Share this post Link to post Share on other sites
DarkladyLexy 288 Report post Posted December 9, 2020 Do you happen to know which mod might be using the mentioned meshes? It should warn about them much earlier before starting LODGen.Clefj's Winterhold. Share this post Link to post Share on other sites
spongeman131 0 Report post Posted December 9, 2020 The billboards generated by TexGen have the same path and filename. So the TexGen output will take priority over the original billboards anyways. You can keep them installed, it shouldn't matter. If you keep the original ones installed, you can use that to double check in MO2 if TexGen indeed created all the billboards you expect to have. ../DynDOLOD/docs/help/TexGenConfiguration.html explains how to control which billboards TexGen creates. in case you want to mix or whatever. However, for now I assume that the generated billboards will always be the better and preferred option in the future. Awesome, thanks for the clarification and yes, I would expect the generated ones to look better. Can't wait to try this out! Share this post Link to post Share on other sites
FenrirTV 0 Report post Posted December 9, 2020 Hi, I got this error when I tried to generate LODs in DynDOLOD 3. Didn't get this on the 2.8 version. I see that it is related to the Forgotten Seasons CC, but this isn't fixable by me according to SSEdit. Do I fix this by unchecking the worldspace in DynDOLOD? Sorry if this is the wrong place to post this. [Main Instruction] Unresolved FormID [0500091C] [Content] Scripts Script Properties Property Value Object Union Object v2 FormID [0500091C] < Error: Could not be resolved > cctwbsse001-puzzledungeon.esm might be the wrong version. Error in cctwbsse001-puzzledungeon.esm DLCDwarvenPuzzleDungeon_StaffPedestal "Altar of the Seasons" [ACTI:05000883] Share this post Link to post Share on other sites