Culling usd instance points outside of Camera frustrum

   2418   2   1
User Avatar
Member
47 posts
Joined: Feb. 2020
Offline
Hi,

I have a scene where I am referencing a .usd file with a bunch of PointInstancer's. From what I can understand it is possible to manipulate the "protoIndices" array and calculate only the protoIndices that are within the camera frustrum. However the simple scene I put together doing just that, seems extremely slow and memory intensive especially when you got hundreds of millions of points.

So...

1. What are peoples solutions to cull instance points that sit outside of the camera frustrum?
2. Also, I am looking for a solution to cull any points that is occluded by the camera rays. Such as trees on the side back of a mountain where the camera does not see.

Thanks in advance
User Avatar
Member
41 posts
Joined: Aug. 2020
Offline
https://lucascheller.github.io/VFX-UsdSurvivalGuide/dcc/houdini/fx/frustumCulling.html?highlight=culling%20frustum%2C#frustum-culling [lucascheller.github.io]
is a good guide. But since you still have to load the whole file beforehand, and all you're doing is setting the visibility Im wondering if there are really any benefits to doing this at the lops level. It would be different of course if you were using it to selectively load payloads.
User Avatar
Member
355 posts
Joined: Nov. 2013
Offline
When instances get into the hundreds of millions the options are typically a) have the points pre-organized into clusters or some other acceleration type structure b) generate only what’s needed at render-time so that you don’t have tons of extra stuff in the first place.
  • Quick Links