[Sidefx-houdini-list] For each in VOP

Olivier Jeannel facialdeluxe at gmail.com
Mon Feb 22 05:03:52 EST 2016


Thank's guys, super happy you like it :)

On Sun, Feb 21, 2016 at 3:24 PM, Guillaume Laforge <
guillaume.laforge.3d at gmail.com> wrote:

> Olivier strikes again!
>
> :)
>
> On Sun, Feb 21, 2016 at 6:15 AM, Oliver Markowski <owski.himself at gmail.com
> >
> wrote:
>
> > Cool stuff Olivier!
> >
> > On Fri, 19 Feb 2016 at 19:16 Jerome Pastorello <lordkarington0 at gmail.com
> >
> > wrote:
> >
> > > Really nice !!
> > > Impressionnant.
> > >
> > >
> > > > Le 19 févr. 2016 à 13:48, Olivier Jeannel <facialdeluxe at gmail.com> a
> > > écrit :
> > > >
> > > > For what it's worth, here's a little demo of what I was after :
> > > > https://vimeo.com/155960784
> > > >
> > > > On Fri, Jan 29, 2016 at 12:03 PM, Olivier Jeannel <
> > > facialdeluxe at gmail.com>
> > > > wrote:
> > > >
> > > >> Hey there,
> > > >> I found a way to get my primpoints arrays getting sorted after using
> > the
> > > >> Sort sop node.
> > > >> I changed the previous line of vex :
> > > >> int pts[]= sort( primpoints(0,0));      //array list of points on
> the
> > > >> primitive [0,1,2,3,...]
> > > >>
> > > >> And, now it seems to reorder the arrays as selected in the Sort sop
> :)
> > > >>
> > > >> On Wed, Jan 27, 2016 at 5:08 PM, Olivier Jeannel <
> > > facialdeluxe at gmail.com>
> > > >> wrote:
> > > >>
> > > >>> 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
> > > > _______________________________________________
> > > > 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
> >
> _______________________________________________
> 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