Move points at render time?

   4449   11   1
User Avatar
Member
271 posts
Joined: March 2012
Offline
Hi all,

I wasn't sure whether to put this into shading or effects, so it just ended up here.

The title says it all - is there a way to move points at render time? Just apply a noise or something like that, essentially a render time VOP Network.

The reason is I have a heavy piece of geo that just needs to sit in the background and wobble slightly. That's all. It seems very wrong to write out geo for every frame.
User Avatar
Member
4262 posts
Joined: July 2005
Offline
If your geometry is just points or curves you can use either the Point or Curve Engine Procedural to do this without eating up a license, basically allowing you to run a SOP network on geometry.

Houdini's Fur system uses this approach actually if you want a robust example.

A simple example is attached. Just render a few different frames to see the geo move.

Attachments:
sample.hip (254.4 KB)

if(coffees<2,round(float),float)
User Avatar
Member
271 posts
Joined: March 2012
Offline
In general it wouldn't just be points or curves (for my particular needs right now it is though).

So it seems that the only option is to write my own VRAY Procedural - is this the case?

It's somewhat frustrating that the functionality is there in the Point Replicate Procedural, where you have the option to run a CVEX Operator to move points around, and the delayed load procedural does not. I'm wondering if this is worth submitting an RFE for.
Edited by Anti-Distinctlyminty - May 14, 2017 16:08:40
User Avatar
Member
4262 posts
Joined: July 2005
Offline
Definitely RFE worthy. I would love a more formal CVEX Geometry Shader that would allow manipulation of geometry objects. Internally we did exactly this and the lighters use it to do last minute tweaks to geometry they get from the FX dept. Saves from having to destroy the filers from another intermediate cache.

So ya, RFE away!
Edited by wolfwood - May 14, 2017 17:07:24
if(coffees<2,round(float),float)
User Avatar
Member
271 posts
Joined: March 2012
Offline
I'll do that, but do submit one too. More people requesting it can only be a good thing, and I suspect you may get more traction than me
User Avatar
Member
7836 posts
Joined: Sept. 2011
Online
Isn't what you are talking about simply a displacement shader? I'm not sure how you would make a displacement shader move only the vertices, as if it were in sops, but you could add any sort of motion to a surface. (no motion blur though)
User Avatar
Member
8612 posts
Joined: July 2007
Offline
definitely request that
I keep requesting CVEX on delayed load/packed disk for ages as well as being able to nest/chain procedurals, so hopefully one day when more RFEs are submitted SESI will consider it
Edited by tamte - May 14, 2017 22:01:15
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
271 posts
Joined: March 2012
Offline
jsmack
Isn't what you are talking about simply a displacement shader? I'm not sure how you would make a displacement shader move only the vertices, as if it were in sops, but you could add any sort of motion to a surface. (no motion blur though)

I think you may be correct. But I've had a lot of issues getting to grips with displacement in mantra. I'm coming from Lightwave, so my experience there is that displacement just moves around whatever points you have, be that an unsubdivided mesh or a subdivided one.

And then I also tend to run into issues when I try displacments (see attached images). In this case, do I need to recalculate normals myself, or does mantra do that?

Attachments:
Displacement.jpg (30.8 KB)
disp_network.jpg (36.1 KB)

User Avatar
Member
271 posts
Joined: March 2012
Offline
tamte
definitely request that
I keep requesting CVEX on delayed load/packed disk for ages as well as being able to nest/chain procedurals, so hopefully one day when more RFEs are submitted SESI will consider it

Submitted and added to the chorus. Although it been open for a while and the link to the original thread was forbidden (I'm guessing the URL is no longer valid).
User Avatar
Member
7836 posts
Joined: Sept. 2011
Online
The N connector on the displacement shader is where the recalculated normal should go. It is up to the displacement shader to do so. Although it is generally as simple as using the ‘compute normal’ node.
User Avatar
Member
9 posts
Joined: Dec. 2009
Offline
I' attempting to use the posted example method to render a more dense particle cloud from the compile block, but am struggling to get velocity blur to work through the engine procedural instance. If I render from the display node and disable the engine procedural it renders the points with velocity blur as expected, but once I run it through the auto engine procedural I no longer get the velocity motion blur. I've attempted adding the v attribute to the render point, but that did not seem to work.
User Avatar
Member
16 posts
Joined: March 2013
Online
wolfwood
If your geometry is just points or curves you can use either the Point or Curve Engine Procedural to do this without eating up a license, basically allowing you to run a SOP network on geometry.

Houdini's Fur system uses this approach actually if you want a robust example.

A simple example is attached. Just render a few different frames to see the geo move.


This setup doesn't seem to work with velocity motion blur. The sop chain seems to work fine with velocity MB but when run as point generation procedural I get a warning that mantra can't find a velocity attribute.
  • Quick Links