Doug Richardson

drichardson

About Me

Expertise
Indie Gamedev
Location
United States

Connect

Recent Forum Posts

promoting parameters/inputs from a custom VOP node April 1, 2019, 1:23 p.m.

millag
I don't have this menu next to parameters.

As of Houdini 17 the gear is to the right of each parameter.



From Deborah Fowler's Houdini Interface Tips [www.deborahrfowler.com], I also found out you can MMB on a VOP node to promote a parameter.

edges and groupings March 31, 2019, 4:06 p.m.

animatrix3d
You have to dive inside AttribWrangle, and MMB on the attribvop node inside to see the actual cook time

Wow, you're right. I ran the comparison again, this time looking at the wrangler's internal VOP and it's taking 109.13ms while the wrangler only reports 0.03ms. That is really surprising. I'm a Houdini newbie and expected cook times reported in node info to be an accumulation of everything inside the node.

Is this a bug, design limitation on HDAs/Subnets, or am I fundamentally misunderstanding what cook time means?

VEX constants for type limits and common math values March 31, 2019, 3:52 p.m.

bonsak
include math.h in vex like this

Perfect! I didn't realize you could include files in VEX because I was only reading the VEX language reference [www.sidefx.com]. The documentation on includes is in the VCC compiler reference [www.sidefx.com].

In addition two the two include locations you mentioned ($HFS and YOURPREFSDIR), you can also place files in $JOB/vex/include.

I also noticed that I was able to use the defines from math.h without having to include it in my VEXpression in the Attribute Wrangler. I dove into the Attribute Wrangle node, and then right clicked on the Attribute VOP inside and selected VEX/VOP Options > View VEX Code and discovered math.h is already included. Here's the boilerplate:

//
// VEX Code Generated by Houdini 17.5.173
// Date: Sun Mar 31 12:48:29 2019
// File: E:/code/HoudiniExamples/vex
// Node: /obj/geo1/attribwrangle1/attribvop1
//

#ifndef VOP_OP
#define VOP_OP
#endif
#ifndef VOP_CVEX
#define VOP_CVEX
#endif

#pragma opname attribvop1
#pragma oplabel "Local Vop Code"
#pragma opmininputs 1
#pragma opmaxinputs 1


#include <math.h>
void
_obj_geo1_attribwrangle1_attribvop1_snippet1()
{
    // The VEXpression parameter from the Attribute Wrangle node is inserted here!
    
}

cvex
obj_geo1_attribwrangle1_attribvop1()
{
    
    // Code produced by: snippet1
    _obj_geo1_attribwrangle1_attribvop1_snippet1();
}