Hide geo in viewport, but visible in render

   3980   7   1
User Avatar
Member
47 posts
Joined: Feb. 2020
Offline
Hello,

I have a very geometry dense scene (millions of instances). I want to hide certain instance and show others in the viewport, however when I render I want to see everything.

I have tried both "Activision"(yellow toggle button) and "Visibility" (blue eye button) in the scenegraph. However both of them results in the de-activated/hidden geometry not rendering.



What is the correct workflow to hide geometry in the viewport, but show when rendering? Am I missing something obvious?


Thanks
User Avatar
Member
199 posts
Joined: Nov. 2013
Offline
Configure Prim LOP. Set the 'purpose' to 'Render'.
Edited by Hamilton Meathouse - April 25, 2023 20:02:49
User Avatar
Member
47 posts
Joined: Feb. 2020
Offline
Hello,

Yep I do already have prims set to use proxy/render purposes. I got a proxy version for every asset that I have scattered and currently only displaying proxy geometry in my viewport. What I want to be able to do is hide some of these instance prims from the viewport, but have them render at render time.

I guess what I am after is something akin to Katana where if the hierachy is not expanded it wont load into viewport memory, but only load at rendertime.


Thanks

Attachments:
Screenshot 2023-04-26 112321.png (5.8 MB)

User Avatar
Member
8041 posts
Joined: Sept. 2011
Offline
kskovbo
Hello,

Yep I do already have prims set to use proxy/render purposes. I got a proxy version for every asset that I have scattered and currently only displaying proxy geometry in my viewport. What I want to be able to do is hide some of these instance prims from the viewport, but have them render at render time.

I guess what I am after is something akin to Katana where if the hierachy is not expanded it wont load into viewport memory, but only load at rendertime.


Thanks

Render purpose should do that. I think there is a bug though where changing the purpose of something that's already been displayed doesn't flush it from display. The purpose needs to be set before ever having displayed it.
User Avatar
Member
729 posts
Joined: July 2005
Offline
Nice looking scene! If you disallow Viewport Overrides, you can then hide your instancer with Activation or Visibility but still have Karma render it in the viewport. You can also override the Draw Mode of your instances in the Scene Graph Tree or with a Configure Primitive LOP, so that they will show up as bounding boxes for example.

Attachments:
viewport_overrides.jpg (21.9 KB)

User Avatar
Staff
43 posts
Joined: March 2022
Offline
This is what USD's Payloads system is designed to do. Assuming your assets are configured as payloads, you can use the circled button to load the scene with payloads unloaded. If they've been authored with extentsHints, then they'll show up in the GL viewer as bounding boxes. You can then use the L column in the Scene Graph Tree to determine which prims are loaded in the viewport (regardless of delegate), but all payloads will be rendered by a ROP, regardless of the SGT settings.

In the screenshot, I have only loaded payloads for the cyc, table, and books, but as you can see, sending the render to MPlay shows the entire scene.

You can also use the Load Payloads switch in a Sublayer LOP to prevent payloads in that file from loading regardless of the SGT setting. The L column still functions to load the geometry on demand. And again, unloading the payload in the Sublayer LOP has no effect on the render.

Attachments:
payloads.jpg (559.8 KB)

User Avatar
Member
16 posts
Joined: July 2005
Offline
What if your setup is not configured for payloads. Using the lops configure primitive nodes, yes, it hides the instances, but still cooks the data. If you have a million instances, that's a loooong time to cook the viewport each time you'd like to move your mouse. (for me it's ten seconds each frame - not a fan of this)

Is there any other way to do this? (other then disconnecting and reconnecting when the proper time comes)

Would be great to not have the instances cook each frame.
User Avatar
Member
335 posts
Joined: Nov. 2013
Online
tallen
What if your setup is not configured for payloads

Drawing unloaded payloads as bounding boxes is a nice convenience feature, but take a look at the "draw mode" functionality which is more flexible. Unlike payloads "draw mode" is not tied to load state, and in addition to bounding box has the capability to render an asset as textured cards which can be more useful for things like layout etc.

Attachments:
drawmode.hipnc (106.6 KB)

  • Quick Links