271
Other Games / Re: Morrowind Thread (OpenMW, MWSE, tes3mp) - Wealth beyond measure
« on: June 25, 2022, 12:02:26 pm »
Can't move code between MGE and OpenMW because MGE works by intercepting the old DirectX calls in a custom DLL that inserts it's own code into those calls, rather than being a wholely new rendering pipeline. It's a square peg and a round hole.
MWSE-Lua compatibility is unlikely also because MWSE-Lua had to make design compromises due to how the Gamebyro engine data was structured and what it could hook into, whilst OpenMW Lua doesn't have those constraints and instead has much more flexibility to change things for a better design. Best you'd get is if someone wrote a bridging API that offers the same MWSE-Lua functions but calls the OpenMW lua inside them. Assuming they even directly translate to how OpenMWs engine works.
Performance wise vs MGE it's more different trade-offs atm. OpenMW can do distant rendering without needing to generate the distant land LOD objects because of it having a better batch rendering pipeline via object paging but that's more espensive to render than dedicated LOD optimized objects. It also only recently got a Post-Processing effects pipeline for doing things like godrays or bloom properly on the GPU. Or Volumetric Clouds and proper PBR.
As I understand it, neither OpenMW or vanilla do occlusion culling. Since in a wide open world the time to process what to occlude can overall cost more than the savings in rendering, it's debatable if it brings any value. Any FPS gained in Balmora streets might be matched or exceeded by FPS lost in a location like Pelgiad or by simply levitating over Balmora. It may be possible to add it by adding 'occlusion maps' to let it be controlled by location, but that'd need require an extra mod with those maps to actually support it anyway.
MWSE-Lua compatibility is unlikely also because MWSE-Lua had to make design compromises due to how the Gamebyro engine data was structured and what it could hook into, whilst OpenMW Lua doesn't have those constraints and instead has much more flexibility to change things for a better design. Best you'd get is if someone wrote a bridging API that offers the same MWSE-Lua functions but calls the OpenMW lua inside them. Assuming they even directly translate to how OpenMWs engine works.
Performance wise vs MGE it's more different trade-offs atm. OpenMW can do distant rendering without needing to generate the distant land LOD objects because of it having a better batch rendering pipeline via object paging but that's more espensive to render than dedicated LOD optimized objects. It also only recently got a Post-Processing effects pipeline for doing things like godrays or bloom properly on the GPU. Or Volumetric Clouds and proper PBR.
As I understand it, neither OpenMW or vanilla do occlusion culling. Since in a wide open world the time to process what to occlude can overall cost more than the savings in rendering, it's debatable if it brings any value. Any FPS gained in Balmora streets might be matched or exceeded by FPS lost in a location like Pelgiad or by simply levitating over Balmora. It may be possible to add it by adding 'occlusion maps' to let it be controlled by location, but that'd need require an extra mod with those maps to actually support it anyway.