There's a bit of a performance hit. There are around 3 - 5x more vegetation sprite than in vanilla, but it's not bad.Hipnotic Rogue wrote: ↑Mon Nov 29, 2021 12:42 pm This sounds like a wonderful project. Can I ask, will there be a big performance hit? If so, will it be CPU or GPU limited? Sorry for the perhaps obvious questions, I'm very new to all things DFU.
Wilderness Overhaul
- Shapur
- Posts: 154
- Joined: Wed Apr 21, 2021 5:11 pm
- Location: Czech Republic
- Contact:
Re: Wilderness Overhaul
- Daniel87
- Posts: 391
- Joined: Thu Nov 28, 2019 6:25 pm
Re: Wilderness Overhaul
Those are great questions actually!Hipnotic Rogue wrote: ↑Mon Nov 29, 2021 12:42 pm This sounds like a wonderful project. Can I ask, will there be a big performance hit? If so, will it be CPU or GPU limited? Sorry for the perhaps obvious questions, I'm very new to all things DFU.
So, currently my mod causes quite some performance issues, which is one of the reasons I don't continue with the next biome but rather work on the fundament to get it right and then scale it up to other biomes as well to finally cover all types of Daggerfall landscapes.
I am expecting for the whole mod to get more CPU intense compared to what it is already.
The procedural clouds would consume a lot of CPU power. They can also be calculated via the GPGPU (Compute Shaders) but I suck at writing shaders, even if its simple compute shaders. Never managed to wrap my head around them, despite them being soooo freakin useful and powerfull!
If I knew how to properly use them, I would pretty much compute anything on my GPU as long as the calculations can be run in parallel and is not branching off too often/ is predictable.
But actually I am not sure if the recommended Unity 2019 used for DFU is already compatible with compute shaders - I believe so.
So I believe the cloud mod would totally suck the last bit of power from your CPU if not written properly for the GPU.
https://www.youtube.com/watch?v=4QOcCGI6xOU
In Julianos we Trust.
- Hipnotic Rogue
- Posts: 24
- Joined: Thu Nov 25, 2021 2:15 pm
Re: Wilderness Overhaul
Thanks for the detailed reply... I wasn't expecting that!
I totally get you regarding compute shaders. That stuff is pure black magic to me. Though, to be fair, the last time I wrote any real code was back on my Commodore 64...
Bearing in mind that your mod will be CPU intensive do you plan to make the procedural clouds an option or is everything to tied up for that?
I totally get you regarding compute shaders. That stuff is pure black magic to me. Though, to be fair, the last time I wrote any real code was back on my Commodore 64...
Bearing in mind that your mod will be CPU intensive do you plan to make the procedural clouds an option or is everything to tied up for that?
- Daniel87
- Posts: 391
- Joined: Thu Nov 28, 2019 6:25 pm
Re: Wilderness Overhaul
Yeah I would make it modular, so when you set a boolean in the mod settings, you can turn it on and off.Hipnotic Rogue wrote: ↑Tue Nov 30, 2021 7:00 pm Thanks for the detailed reply... I wasn't expecting that!
I totally get you regarding compute shaders. That stuff is pure black magic to me. Though, to be fair, the last time I wrote any real code was back on my Commodore 64...
Bearing in mind that your mod will be CPU intensive do you plan to make the procedural clouds an option or is everything to tied up for that?
In Julianos we Trust.
- Hipnotic Rogue
- Posts: 24
- Joined: Thu Nov 25, 2021 2:15 pm
Re: Wilderness Overhaul
Great stuff. I'll be waiting for a release with baited breath.
- BadLuckBurt
- Posts: 948
- Joined: Sun Nov 05, 2017 8:30 pm
Re: Wilderness Overhaul
I've finally gotten around to testing this with my terrain sampler. I just ignored the mod dependency for Interesting Eroded Terrains and it works beautifully with my sampler as well.
I haven't noticed any lag so far, I will test some more and let you know if I find anything. I'll try and throw up a video before the weekend so you can have a look.
- edit
And ofcourse it stopped working :/ It's giving me this error in the logs, I've also tried it with Interesting Eroded Terrains but it gives me the same error.
I don't know if that looks familiar. Don't bother too much to solve it if it doesn't. I look at the code in the WOTerrainMaterialProvider and it seems it can't load WOTilemapTextureArray.shader although that should be present in the .dfmod, it builds fine. Tried the precompiled option too but that changed nothing.
I haven't noticed any lag so far, I will test some more and let you know if I find anything. I'll try and throw up a video before the weekend so you can have a look.
- edit
And ofcourse it stopped working :/ It's giving me this error in the logs, I've also tried it with Interesting Eroded Terrains but it gives me the same error.
Code: Select all
ArgumentNullException: Value cannot be null.
Parameter name: shader
at (wrapper managed-to-native) UnityEngine.Material.CreateWithShader(UnityEngine.Material,UnityEngine.Shader)
at UnityEngine.Material..ctor (UnityEngine.Shader shader) [0x00008] in <451019b49f1347529b43a32c5de769af>:0
at DaggerfallWorkshop.WOTerrainMaterialProvider.CreateMaterial () [0x00000] in <052556f85c52488bab0993c9abe9a0ab>:0
at DaggerfallWorkshop.DaggerfallTerrain.InstantiateTerrain () [0x00061] in <661f3715044a485ebcafa2bc4b21735a>:0
at DaggerfallWorkshop.StreamingWorld.UpdateTerrainData (DaggerfallWorkshop.StreamingWorld+TerrainDesc terrainDesc) [0x00038] in <661f3715044a485ebcafa2bc4b21735a>:0
at DaggerfallWorkshop.StreamingWorld.InitPlayerTerrain () [0x00033] in <661f3715044a485ebcafa2bc4b21735a>:0
at DaggerfallWorkshop.StreamingWorld.Update () [0x00093] in <661f3715044a485ebcafa2bc4b21735a>:0
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt
.
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt
.
- Daniel87
- Posts: 391
- Joined: Thu Nov 28, 2019 6:25 pm
Re: Wilderness Overhaul
I use a custom shader if I remember it correctly, as I had to create my own textureArray to create tiles for edge cases that were not covered in the original TerrainTexturing process.BadLuckBurt wrote: ↑Mon Dec 27, 2021 5:55 pm I've finally gotten around to testing this with my terrain sampler. I just ignored the mod dependency for Interesting Eroded Terrains and it works beautifully with my sampler as well.
I haven't noticed any lag so far, I will test some more and let you know if I find anything. I'll try and throw up a video before the weekend so you can have a look.
- edit
And ofcourse it stopped working :/ It's giving me this error in the logs, I've also tried it with Interesting Eroded Terrains but it gives me the same error.
I don't know if that looks familiar. Don't bother too much to solve it if it doesn't. I look at the code in the WOTerrainMaterialProvider and it seems it can't load WOTilemapTextureArray.shader although that should be present in the .dfmod, it builds fine. Tried the precompiled option too but that changed nothing.Code: Select all
ArgumentNullException: Value cannot be null. Parameter name: shader at (wrapper managed-to-native) UnityEngine.Material.CreateWithShader(UnityEngine.Material,UnityEngine.Shader) at UnityEngine.Material..ctor (UnityEngine.Shader shader) [0x00008] in <451019b49f1347529b43a32c5de769af>:0 at DaggerfallWorkshop.WOTerrainMaterialProvider.CreateMaterial () [0x00000] in <052556f85c52488bab0993c9abe9a0ab>:0 at DaggerfallWorkshop.DaggerfallTerrain.InstantiateTerrain () [0x00061] in <661f3715044a485ebcafa2bc4b21735a>:0 at DaggerfallWorkshop.StreamingWorld.UpdateTerrainData (DaggerfallWorkshop.StreamingWorld+TerrainDesc terrainDesc) [0x00038] in <661f3715044a485ebcafa2bc4b21735a>:0 at DaggerfallWorkshop.StreamingWorld.InitPlayerTerrain () [0x00033] in <661f3715044a485ebcafa2bc4b21735a>:0 at DaggerfallWorkshop.StreamingWorld.Update () [0x00093] in <661f3715044a485ebcafa2bc4b21735a>:0
WOTerrainMaterialProvider <<-- This is where you should find reference to my custom shader.
In Julianos we Trust.
- BadLuckBurt
- Posts: 948
- Joined: Sun Nov 05, 2017 8:30 pm
Re: Wilderness Overhaul
I think my dumbass never had this mod active in the first placeDaniel87 wrote: ↑Wed Dec 29, 2021 11:24 am I use a custom shader if I remember it correctly, as I had to create my own textureArray to create tiles for edge cases that were not covered in the original TerrainTexturing process.
WOTerrainMaterialProvider <<-- This is where you should find reference to my custom shader.
I've got it working now but I have to ask, have you tested building this mod or do you just run it in the editor?
I'm asking because to get it to work, I had to manually include the shader in the Project Settings > Graphics under the 'Always include shaders' section. The mod works now, not all the biomes are in yet right?
It looks nice in the temperate climates though so I will record a video of me strolling about there.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt
.
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt
.
- Daniel87
- Posts: 391
- Joined: Thu Nov 28, 2019 6:25 pm
Re: Wilderness Overhaul
Haha yes, it was a struggle to actually build the mod, when I tried after messing with it for too long in the editor.BadLuckBurt wrote: ↑Wed Dec 29, 2021 12:30 pmI think my dumbass never had this mod active in the first placeDaniel87 wrote: ↑Wed Dec 29, 2021 11:24 am I use a custom shader if I remember it correctly, as I had to create my own textureArray to create tiles for edge cases that were not covered in the original TerrainTexturing process.
WOTerrainMaterialProvider <<-- This is where you should find reference to my custom shader.
I've got it working now but I have to ask, have you tested building this mod or do you just run it in the editor?
I'm asking because to get it to work, I had to manually include the shader in the Project Settings > Graphics under the 'Always include shaders' section. The mod works now, not all the biomes are in yet right?
It looks nice in the temperate climates though so I will record a video of me strolling about there.
Had to do the same concerning the "Include all Shaders" option. I am surprised it wasn't saved after setting it up.
Looking forward to the video
In Julianos we Trust.
- BadLuckBurt
- Posts: 948
- Joined: Sun Nov 05, 2017 8:30 pm
Re: Wilderness Overhaul
That Always Include setting is saved in your local Unity project settings, not with the mod settings.
Once the mod is done you could add a little documentation so that anyone building this mod knows to change that.
Having seen yours in action, I decided to include an altered version of the default TerrainNature class but its not going to be as advanced as yours. I only want to change the even distribution of the billboards to something more natural.
Once the mod is done you could add a little documentation so that anyone building this mod knows to change that.
Having seen yours in action, I decided to include an altered version of the default TerrainNature class but its not going to be as advanced as yours. I only want to change the even distribution of the billboards to something more natural.
DFU on UESP: https://en.uesp.net/w/index.php?title=T ... fall_Unity
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt
.
DFU Nexus Mods: https://www.nexusmods.com/daggerfallunity
My github repositories with mostly DFU related stuff: https://github.com/BadLuckBurt
.