Occlusion and LOD has always been a priority for myself and I have pondered many indoor/outdoor implementation schemes as well. I would agree that there cannot be one generic implementation as it totally depends on how the game level is constructed and how the game engine deals with its geometry. Additionally, implementation can have many stages.
For example, I construct my levels in 3DSMax exporting the level in 3DS format. In which the geometry is stored in a list of submeshes, each with a specific label. This is the first stage of implementation.
My Automated visibility data generator (VIS) relies soley on entity labels to identify what submeshes must be hidden or not dependent on its label (ie: prop01, door03, item02). How the VIS generator gathers and stores this VIS data is second stage of implementation.
My Game Engine design to specifically use VIS data produced by the VIS generator to show/hide and apply collision. This is the final stage of implementation.
If a generic occlusion system is to be realized, it will have to cater to game level geometry. The game engine will have to cater to both the occlusion system and geometry.
For example, I construct my levels in 3DSMax exporting the level in 3DS format. In which the geometry is stored in a list of submeshes, each with a specific label. This is the first stage of implementation.
My Automated visibility data generator (VIS) relies soley on entity labels to identify what submeshes must be hidden or not dependent on its label (ie: prop01, door03, item02). How the VIS generator gathers and stores this VIS data is second stage of implementation.
My Game Engine design to specifically use VIS data produced by the VIS generator to show/hide and apply collision. This is the final stage of implementation.
If a generic occlusion system is to be realized, it will have to cater to game level geometry. The game engine will have to cater to both the occlusion system and geometry.