[Sidefx-houdini-list] For each in VOP

Olivier Jeannel facialdeluxe at gmail.com
Wed Jan 27 11:08:43 EST 2016


Thank you,
I'll try with a primitive vop then, see if I'll have more luck.
The thing is, although I'm "rather at ease" (sorry I'm not sure it
translate well in english) with classic vop node (coming from an xsi ice
background), the loop system appears a bit messy at first sight _ That's
why I'm asking for for loop sample for beginner :/
So really, if you have a visual example of how to connect this, please do
not hesitate.

The thing is I wanted to translate my vex in vop node because I'm having a
problem with primpoints in vex.
I have this loop :


vector tata[];                                //build empty array of vector
vector pos[];                                //build empty array of vector
int pts[]=primpoints(0,0);             //array list of points on the
primitive [0,1,2,3,...]

i at j=(primvertexcount(0,0));        //number of points on the primitive (4)

for (int i=0;i<@j;i++)
{
tata[i]=point(0,"N",pts[i]); //buil array with all normal
pos[i]=point(0,"P",pts[i]); //build array of position

}

v at edge_axis =tata[ch("index")];
v at pivot = pos[ch("index")];


About primpoints the doc says : This function returns an array of points,
in the same order as stored on the primitive itself.

But if I use a Sort sop node (random)  before the Attributes Wrangle node,
I can see the order of the ptnum has changed BUT the order of my arrays has
not change.
The array put the values alwys in the same order.

Other than that, the scene works beatifully, it's just I'd like to be able
to reorder (sort) these arrays.

Am-I doing something wrong ? I'am a real beginner in coding.


On Tue, Jan 26, 2016 at 10:59 PM, Jesse Erickson <mr.nicey.pants at gmail.com>
wrote:

> Good advice up top :) Re: the old trick, you can just use a Primitive Vop
> now. Vop Sops are deprecated and Attrib Vops will iterate over points,
> verts, prims or run only once in detail mode. That's what I meant about
> skipping the For Each Loop and just running it in a Primitive Vop! Lotsa
> ways to crack this nut
>
> On Tue, Jan 26, 2016 at 1:04 PM, Andrew Lyons <tstexture at gmail.com> wrote:
>
> > and keep in mind that vex is SIMD, and runs in parallel where possible.
> > Think of a vop sop as essentially a single function (or shader), and its
> > multiple data input is every point in the first input. Last time I
> checked
> > that last part was hard coded, so in some sense a vop sop is always a
> hard
> > coded foreach loop over every point in the first input. Given this, the
> > following code:
> >
> > For each Primitive:
> >     Import P from Point index N°3.
> >
> > Is actually:
> >
> > Foreach point:
> >     For each Primitive:
> >         Import P from Point index N°3.
> >
> > And you may not want that.
> >
> > An old trick is to make sure your first input only has as many points as
> > the number of iterations you actually want, and then index data from the
> > second input. In your example, you would want npoints in your first input
> > to match nprims. Use a facet sop to Unique points, a primitive sop to
> scale
> > each Primitive to zero on its centroid, and then another facet/fuse sop
> to
> > consolidate points to achieve that.
> >
> > After that - what Jesse said.
> >
> > Good luck!
> > On Jan 26, 2016 4:49 AM, "Olivier Jeannel" <facialdeluxe at gmail.com>
> wrote:
> >
> > > Hi list,
> > >
> > > I'm looking for simple tutorial or example about the For Each Loop in
> > VOP.
> > > I've seen the Masterclass https://vimeo.com/142534639
> > >
> > > What I'd like to do is
> > > For each Primitive, Import P from Point index N°3.
> > > I managed to write it in vex, but I'm stuck reproducing this in
> > AttribVOP.
> > >
> > > If anyone has 5mn :/
> > > _______________________________________________
> > > Sidefx-houdini-list mailing list
> > > Sidefx-houdini-list at sidefx.com
> > > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > >
> > _______________________________________________
> > Sidefx-houdini-list mailing list
> > Sidefx-houdini-list at sidefx.com
> > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> >
> _______________________________________________
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>



More information about the Sidefx-houdini-list mailing list