The plugin supports static lighting IF you can use another GBuffer than the AO one that static lighting also uses. Unfortunately that is the only GBuffer channel that I can support out of the box.
Stencils aren’t usable with many objects since they don’t get culled the same way as normal meshes. So if you assign a stencil value to each mesh you basically draw everything in every frame. Performance would tank fairly quickly.
Hello, I’m very interested in this (but I’m curious, does this cause the scene to consume more VRAM? Or does the performance remain the same? I won’t be using it for video games (only for creating scenes and rendering).
It shouldn’t increase the VRAM in any meaningful way. The performance remains pretty much the same as the pass takes around 0.2-0.4 ms per frame usually.
If it’s possible to support static lighting in the future?
With the default setup it uses the same GBuffer as static lighting, so that is not possible.
You can use a different gbuffer or add your own, but that is a very advanced task, and not something supported out of the box.
This is awesome tech. I’ve been fighting with RVT as we’re using a Voxel World. Since RVT is top-down, I had to add triplanar support to RVT, then use Data Layers to trigger RVT Volumes on and off depending on player location. Even then, one RVT Volume only covered a quarter of our world — so more patchwork logic on top of that.
But no more! This is a way better solution than RVT and much more performant.
Since we’re full PBR, losing the AO channel wasn’t an option. Good news: as of 5.5 (can’t speak for earlier versions), GBufferF is available. However, Params.bHasTangent (in GBufferInfo.cpp) and GBUFFER_HAS_TANGENT (in ShaderGenerationUtil.cpp) are hard-coded to false, so GBufferF will never be “accidentally” enabled.
This commit enables GBufferF, which uses World-Space Tangents (RGB) and Anisotropy (A):
Then I switched to PPI_Anisotropy in Shaders/MeshBlendTextures.usf with minor edits to MeshBlendSceneTextureLookup and GetMeshBlendStencil.
Fantastic call-out on the 5.6 improvements — that texture copy removal matters.
Price-wise, this is easily a 4–6 week project for a seasoned engineer to develop. For context, in our game A.L.A.R.M., we’ve even built a custom GI emissive hack that dynamically balances light response and PBR integrity, so I can say from experience — MeshBlend is a clean, elegant solution to a notoriously messy problem.