Instanced groundcover support
At the moment groundcover handling in OpenMW is quite suboptimal, and we need to improve it. We can split this task to subtasks:
- How to generate groundcover data
- How to store it
- How to render it
We can implement it in this way: 1-2. On the first step we can re-use data from MW Mesh Generator. It is a tool which generates groundcover instances for given plugins based on terrain shape, land textures and water level. This tool produces ESP files, which are used in the distant land generator in MGE to create groundcover. Since such plugins are not used directly in the game, we can register them separately and treat any instances from them as groundcover in a simplified way to improve performance. Later we can implement generation algorithm as a part of OpenMW-CS or even try to use a fully dynamic generation in the game itself. 3. On the first step I suggest to use instancing and re-use assets from mods for MGE. Later we can re-use meshes from later Bethesda's titles or introduce our own data format. I also suggest to do not implement stomping on the first step since it it is very buggy and limited in MGE.
Note that later we can also provide a "filler" grass, based on geometry shaders.