When I computed the sphere's center, I get the radius from the d(center, corners), which is the near-left-bottom corner of the frustum. The correct is the d(corners, corners), where the 6th corner is the far-right-top corner.
sphereBounds = Vector3::Distance(frustumCorners, frustumCorners); sphereRadius = sphereBounds * 0.5f;
Now, it works really good. Thanks for your help, the topic is solved (for me).
Can I set the topic to solved state, or set your post as a solution?
I have to use another little hardcoded thing:
sphereBounds = Vector3::Distance(frustumCorners, frustumCorners) + 5.0f;because the camera sees the scene from top, and the sphereBounds wasn't big enough.