Implemented frustum culling support for skinned meshes#673
Implemented frustum culling support for skinned meshes#673adriengivry merged 6 commits intoOverload-Technologies:mainfrom
Conversation
adriengivry
left a comment
There was a problem hiding this comment.
I'm not sure how I feel adding the concept of skinning to the model renderer. Maybe that setting should live in the CSkinnedMeshRenderer?
This could be added to the SkinningDrawableDescriptor and retrieve by the SceneRenderer to scale the frustum bounds.
It's important to keep functionalities decoupled as much as possible.
Also, if we add this setting in a component, it might be worth it to expose it in Lua as well by adding it to the correct file here:
https://github.com/Overload-Technologies/Overload/tree/main/Resources/Engine/Lua
I agree with the decoupling concern
This keeps skinning-specific behavior inside skinning-specific systems/components. Commits:
|
Hahaha, ask for as many changes as you want |
Ah yes, indeed, I forgot to do it ! |
Done, I renamed the setting to improve clarity:
I also aligned Lua bindings/docs with the new names and updated serialization to |
Sources/OvCore/src/OvCore/ECS/Components/CSkinnedMeshRenderer.cpp
Outdated
Show resolved
Hide resolved
Sources/OvCore/src/OvCore/ECS/Components/CSkinnedMeshRenderer.cpp
Outdated
Show resolved
Hide resolved
|
Done, I addressed all remaining points:
|
Description
This PR implements frustum culling support for skinned meshes.
Main changes:
Skinned Bounds ScaleonCModelRenderer.skinning_bounds_scale) with safe clamping (>= 1.0).SceneRenderer.This keeps culling effective for animated meshes while allowing a safety margin to avoid early popping.
Related Issue(s)
Fixes #654
Review Guidance
Please review commit-by-commit:
Added skinned bounds scale settings to model rendererImplemented frustum culling support for skinned meshes (#654)Focus points:
Mesh Bounds/Model BoundsvsCustom Bounds.Screenshots/GIFs
N/A (behavior/performance change, no UI layout change beyond one inspector scalar).
Checklist