op: prefix ?

   4790   4   2
User Avatar
Member
113 posts
Joined: Dec. 2007
Offline
Hi,

In the vop example simplemetaimport, there's op:`opfullpath(“.”)`/Metaballs/OUT in a file field.

the opfullpath is in the help, but couldn't find anything on op:

I guess it allows to use a sop instead of a bgeo file, but I tried to modify the file field in the shader in the heavy smoke fx, so that I didn't have to render the metaballs bgeo, but I got a black screen.

Thanks a lot for clearing things up!
User Avatar
Member
1145 posts
Joined: July 2005
Offline
Not that it is technically accurate, but I think of “op” as the operator equivalent of “ch”.

When you want to do a channel reference you need to declare that that is your intention, so you preface your channel path with “ch”.

To use OPerator functions or expressions you need to declare that with “op”.

To quickly see a list of available op functions open a hscript textport and type “help op”
To see the op expressions type “exhelp op”

You can get a description of how each works by identifying the specific name,
ie: “exhelp opfullpath”

By the way there is no help browser entry for “ch” either.
“gravity is not a force, it is a boundary layer”
“everything is coincident”
“Love; the state of suspended anticipation.”
User Avatar
Member
113 posts
Joined: Dec. 2007
Offline
Thanks for answering but I think you misunderstood the question, sorry if I wasn't clear enough.

in the example I'm talking about, there's “op:`opfullpath(”.“)`/Metaballs/OUT” (whitout the quotes), in a file field.

The opfullpath() I understood, so the above is equivalent to “opobj/simplemetaimport/Metaballs/OUT”

It's the little “op:” in the beginning which is unclear.

Thanks
User Avatar
Member
1390 posts
Joined: July 2005
Offline
As I see this, op: is a name of the protocol in exactly the same sense as http: or ftp: which you're familiar with.

It says: “the path following me isn't pointing to a file on disk, it's pointing to a a Houdini operator instead, treat it as it would be such file, please”.

In other words whenever some parameter expects the input which corresponds to an output of some operator, you can use op:.
I would even say (not sure of that though), that this concerns only parameters that accepts FILES names. What leads to above protocol analogy.

COPs output images -> shaders accepts images.
SOPs output geometry ->VEX SOP accepts geometry.

ch() on the other hand, evaluates only channel's value, not an internal data of the operator.
User Avatar
Member
113 posts
Joined: Dec. 2007
Offline
Thanks for the explanation, will have to try again with the heavy smoke shader.
  • Quick Links