You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From the video, you can have 100 000 entities on screen with almost no performance degradation, since the mesh buffer reside in the GPU memory and is instanced from there to build the scene.
In almost any scene that need to be realistic there a need to have multiple instance of a model (building structure, props, vegetation), this technique will improve performance a lot and will help creating incredible realistic scenes using the engine.
I asked and it's integrated in some form as low level code in the engine, would be great to have access to this as a high level function and also in the Banshee Editor (copy paste and checkmark?).
The text was updated successfully, but these errors were encountered:
I was thinking of trying to implement it in the ECS renderer module fork I have. have you seen any already-existing implementations out there for a high-level renderer? What i was thinking was just if an entity has a tag on it, then the renderer would find all visible instances with the same mesh and material and perform instancing.
It's an approach I've been thinking about, doing the rendering almost completely on the GPU. Although dealing with mesh and texture data would be problematic, likely requiring them to be grouped in a large buffer/texture array. Ultimately if using normal instancing, along with low-overhead Vulkan with multiple command buffers, it might be fast enough to do it just on the CPU even for extreme cases, which would be a significantly cleaner approach I believe.
yea cpu occlusion and instancing is going to be better for most use-cases. Once terrain is done then it would benefit from the indirect command for static trees and landscape assets cause that's really the only use-case where it becomes necessary if you want the massive landscape.
It's called GPU Instancing or Hardware instancing.
Here is a video showing how it can improve performance of rendering more meshes (Unity Example)
https://www.youtube.com/watch?v=fryX28vvHMc
From the video, you can have 100 000 entities on screen with almost no performance degradation, since the mesh buffer reside in the GPU memory and is instanced from there to build the scene.
Here is render stress test using the same technique on UnrealEngine:
https://www.youtube.com/watch?v=GmFYPotzLhc
In almost any scene that need to be realistic there a need to have multiple instance of a model (building structure, props, vegetation), this technique will improve performance a lot and will help creating incredible realistic scenes using the engine.
I asked and it's integrated in some form as low level code in the engine, would be great to have access to this as a high level function and also in the Banshee Editor (copy paste and checkmark?).
The text was updated successfully, but these errors were encountered: