I naively compared the AttribPromote with an AttribWrangle in detail mode,
and the results were much (much) faster with the AttribPromote, so I assume
it is multi-threaded and would be hard to beat with any sort of wrangle
trickery.

I'm still stuck with H13 so I didn't know about the numbers mode, that's
neat!


On 7 March 2017 at 16:43, Andy Nicholas <[email protected]> wrote:

> Andy, the O(N) thing got me thinking and realized that instead of running
> the attrib wrangle in detail mode, which uses only a single thread, it'd be
> possible to generate say 4 points and, in a point wrangle, let each of
> these points process 1/4th of the array, thus effectively running the same
> logic on 4 threads! Another attrib wrangle is then needed in post to sum up
> the result from each point. Well, in all honesty I don't think there'll
> ever be a use case for it :)
>
>
> Yes absolutely! Definitely a good approach if you're after performance.
> It'd be interesting to do a comparison between that and an Attribute
> Promote SOP to see which is faster. I suspect (i.e. hope) the Attribute
> Promote SOP is multithreaded, so probably no major advantage.
>
> BTW, you don't even need to generate the 4 points as you've got the Run
> Over "Numbers" mode which will do the same. You can save the result into a
> detail array attribute and analyse it in a Detail Wrangle. Just takes a bit
> more management to set it up.
>
>
>
>
> On 07/03/2017 01:35, Christopher Crouzet wrote:
>
> Wow, I shouldn't have wrote that late last night, I completely mixed
> things up in my previous post, sorry!
>
> I'll try again! With a ramp, you have the source (input) values on the X
> axis, and the target (output) values on the Y axis. If either your source
> or target values aren't in the range [0, 1], you can remap them using a
> simple float parameter (to use as a simple multiplier if your desired lower
> bound is 0), or a float2 parameter to precisely control the desired range.
>
> It seems to be a standard practice in Houdini since they use it for some
> built-in nodes, such as the Pyro SHOP.
>
> Andy, the O(N) thing got me thinking and realized that instead of running
> the attrib wrangle in detail mode, which uses only a single thread, it'd be
> possible to generate say 4 points and, in a point wrangle, let each of
> these points process 1/4th of the array, thus effectively running the same
> logic on 4 threads! Another attrib wrangle is then needed in post to sum up
> the result from each point. Well, in all honesty I don't think there'll
> ever be a use case for it :)
>
>
> On 7 March 2017 at 01:14, Olivier Jeannel <[email protected]> wrote:
>
>> Ok we agree.
>>
>>
>> On Monday, March 6, 2017, Jonathan Moore <[email protected]>
>> wrote:
>>
>>> As far as I understood it Oliver, the spline version of the Houdini Ramp
>>> only operates in the zero to one range. You re-fit the values pre/post/ or
>>> both to suite your needs.
>>>
>>>
>>>
>>> I get that this doesn’t match the UX of FCurves in XSI, but I’ve always
>>> understood Ramp’s in Houdini to be more of a lower level discrete element
>>> in visual programing terms.
>>>
>>>
>>>
>>> *From:* [email protected] [mailto:
>>> [email protected]] *On Behalf Of *Olivier Jeannel
>>> *Sent:* 06 March 2017 17:31
>>> *To:* Official Softimage Users Mailing List.
>>> https://groups.google.com/forum/#!forum/xsi_list <
>>> [email protected]>
>>> *Subject:* Re: houdini question (and where to ask)
>>>
>>>
>>>
>>> Not sure I get it Christopher (not in front of H)
>>>
>>> Does your trick actualy change the graph visualy ?
>>>
>>> In short, can I see the negative x & y values ?
>>>
>>> On Monday, March 6, 2017, Christopher Crouzet <
>>> [email protected]> wrote:
>>>
>>> Indeed, which is why I mentioned the “detail” mode which brings you back
>>> to O(N). Not saying that one approach is better than the other though, only
>>> that it is possible.
>>>
>>>
>>>
>>> On 7 March 2017 at 00:12, Andy Nicholas <[email protected]> wrote:
>>>
>>> Yep it is possible, but you wouldn't want to do it because each
>>> calculation of the maximum value would be running across N points to
>>> calculate that. That'd make it an O(N^2) operation, albeit spread over
>>> multiple threads.
>>>
>>> It might seem like a pain to have to do this in advance using an
>>> Attribute Promote, but by doing so, it's actually forcing you to work in a
>>> more efficient way. Go with it ;)
>>>
>>>
>>>
>>> On 06/03/2017 16:32, Christopher Crouzet wrote:
>>>
>>> It *is* possible to retrieve the maximum value in a VOP since nothing
>>> stops anyone from manually iterating through all the points of the
>>> geometry. This kind of operation might be more suited in “detail” mode
>>> though.
>>>
>>> Also, having the ramp normalized to the [0, 1] range in both the X and Y
>>> axis is usually “workarounded” by adding a float parameter for the
>>> amplitude (Y axis) that is used as a global multiplier (making later
>>> tweakings convenient!), and a float2 parameter for the target range (X
>>> axis) that is then remapped using `fit("my_ramp", 0.0, 1.0, range_min,
>>> range_max)` (which is also convenient for later tweakings!).
>>>
>>> Now, if you really want to have an actual FCurve, then just create a
>>> simple float parameter, add all the keys however you want, then query it in
>>> using `chf("my_param", the_time_in_seconds)` in VEX/VOP, or using the
>>> equivalent expression.
>>>
>>>
>>>
>>> On 6 March 2017 at 23:29, Jonathan Moore <[email protected]>
>>> wrote:
>>>
>>> Fabricio ,
>>>
>>>
>>>
>>> The Attribute Promote help page has approx 15 examples you can load.
>>> Hopefully you might find something within the examples to inspires a
>>> solution.
>>>
>>>
>>>
>>> *From:* [email protected] [mailto:
>>> [email protected]] *On Behalf Of *Olivier Jeannel
>>> *Sent:* 06 March 2017 15:56
>>> *To:* Official Softimage Users Mailing List.
>>> https://groups.google.com/forum/#!forum/xsi_list <
>>> [email protected]>
>>>
>>>
>>> *Subject:* Re: houdini question (and where to ask)
>>>
>>>
>>>
>>> You can't get the "get maximum in set" when inside a vop.
>>>
>>> But, you get those options with the promote attribute sop.
>>>
>>>
>>>
>>>
>>> On Monday, March 6, 2017, Oscar Juarez <[email protected]>
>>> wrote:
>>>
>>> I would like to be proven wrong, but that would be the way, I mean in
>>> your second pointvop you don't need to add another noise, your noise is
>>> already saved in an attribute, when you promote just check off delete
>>> original and you can access the same noise. Also noises have specific
>>> output ranges, they come in the documentation, so you can always add a fit
>>> node to change your range to what you need, in the geometry spreadsheet you
>>> can also sort by value so you can see max and min.
>>>
>>>
>>>
>>> If you press X with your mouse over the noise output it will add a
>>> visualization node, you can visualize on the viewport or in the geometry
>>> spreadsheet the values. I know its not the same but as far as I know their
>>> is no way to do the same as the get maximum in set node in a vopsop context.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> On Mon, Mar 6, 2017 at 3:57 PM, Fabricio Chamon <[email protected]>
>>> wrote:
>>>
>>> thanks everyone. The ramp parameter kind of works but as you say, is not
>>> that user friendly and does not show the points below 0. (that's ok, but I
>>> wonder if it is possible to write a custom widget in houdini)
>>>
>>>
>>>
>>> anyway, the thing I could not get right just yet is that sort of "get
>>> maximum in set" thing. Sorry for using ICE language, I'm trying to be open
>>> minded here, so please tell me if that`s not the correct mindset.
>>>
>>>
>>>
>>> so on this graph:
>>>
>>>
>>>
>>> [image: Imagem inline 1]
>>>
>>>
>>>
>>> ...how could I get the maximum value of the output noise node and
>>> compare to a single point output of the same node?
>>>
>>>
>>>
>>> From what I can tell, I'd have to:
>>>
>>>
>>>
>>> 1- create this pointvop node with a turbnoise, then store the output
>>> noise into an attribute (via bindexport?)
>>>
>>> 2- up one level -> drop an attrib promote (detail), set to maximum
>>>
>>> 3- drop another pointvop node with another noise node inside (same
>>> parameters) and compare the result noise to that found on the atrib promote
>>> node??
>>>
>>>
>>>
>>> I'm 99% sure this is totally wrong...how would you go about that single
>>> task specifically?
>>>
>>>
>>>
>>> and finally, thanks for the suggestions on houdini forums and discord.
>>> will try both (although I pretty much like this list =) )
>>>
>>>
>>>
>>>
>>>
>>> 2017-03-06 15:17 GMT+01:00 gareth bell <[email protected]>:
>>>
>>> yeah - the lack of handles is frustrating
>>> ------------------------------
>>>
>>> *From:* [email protected] <
>>> [email protected]> on behalf of Olivier Jeannel <
>>> [email protected]>
>>> *Sent:* 06 March 2017 14:05:17
>>> *To:* Official Softimage Users Mailing List.
>>> https://groups.google.com/forum/#!forum/xsi_list
>>> *Subject:* Re: houdini question (and where to ask)
>>>
>>>
>>>
>>> yep but it has no handles
>>>
>>> and try to make négative values, it takes them but wont show on the
>>> curve as it has a 0,1 space.
>>>
>>> Unless i'm wrong (which i'd love to be)
>>>
>>>
>>>
>>> Le 6 mars 2017 14:36, "Olivier Jeannel" <[email protected]> a
>>> écrit :
>>>
>>> in vop, bind and bind export node will get an set datas.
>>>
>>> Ramp Parameters is sort of fcurve.
>>>
>>> It's a bit weak in terms of curve manipulation, but does the job.
>>>
>>> It has 2 modes rgb (ramp) and spline.
>>>
>>> If you use several ramps in the same vop, name them with different name
>>> or they might not export.
>>>
>>>
>>>
>>> Le 6 mars 2017 14:28, "Fabricio Chamon" <[email protected]> a écrit :
>>>
>>> ..sorry, hit send too soon.
>>>
>>>
>>>
>>> Question #1: are there any equivalents to ICE "get ... in set"? or or do
>>> I have to iterate and store values for later comparision? In other words:
>>> what is the best or recommended workflow to compare single point data with
>>> global point data?
>>>
>>>
>>>
>>> Question #2: any nodes that resemble a fCurve node, like we have in ICE?
>>> if not, what is the alternative?
>>>
>>>
>>>
>>> and finally, I can see this list is becoming more and more houdini-esque
>>> than ever..but, what is the best place to ask beginner questions like the
>>> above? houdini foruns, houdini list, odForce...
>>>
>>>
>>>
>>> thanks!
>>>
>>>
>>>
>>> 2017-03-06 14:23 GMT+01:00 Fabricio Chamon <[email protected]>:
>>>
>>> Hi, I'm slowly getting into houdini and this is my first attempt to port
>>> a really simple ridged fractal deformer made in ICE to houdini (using
>>> pointvop).
>>>
>>>
>>>
>>> Question #1: are there any equivalents to ICE "get ... in set"? or or do
>>> I have to iterate and store values for later comparision? In other words:
>>> what is the best or recommended workflow to compare single point data with
>>>
>>>
>>>
>>>
>>> ------
>>> Softimage Mailing List.
>>> To unsubscribe, send a mail to [email protected]
>>> with "unsubscribe" in the subject, and reply to confirm.
>>>
>>>
>>> ------
>>> Softimage Mailing List.
>>> To unsubscribe, send a mail to [email protected]
>>> with "unsubscribe" in the subject, and reply to confirm.
>>>
>>>
>>>
>>>
>>> ------
>>> Softimage Mailing List.
>>> To unsubscribe, send a mail to [email protected]
>>> with "unsubscribe" in the subject, and reply to confirm.
>>>
>>>
>>>
>>>
>>> ------
>>> Softimage Mailing List.
>>> To unsubscribe, send a mail to [email protected]
>>> with "unsubscribe" in the subject, and reply to confirm.
>>>
>>>
>>>
>>>
>>> --
>>>
>>> Christopher Crouzet
>>> *https://christophercrouzet.com* <https://christophercrouzet.com>
>>>
>>>
>>>
>>>
>>>
>>> ------
>>>
>>> Softimage Mailing List.
>>>
>>> To unsubscribe, send a mail to [email protected] with 
>>> "unsubscribe" in the subject, and reply to confirm.
>>>
>>>
>>>
>>> ------ Softimage Mailing List. To unsubscribe, send a mail to
>>> [email protected] with "unsubscribe" in the
>>> subject, and reply to confirm.
>>>
>>> --
>>>
>>> Christopher Crouzet *https://christophercrouzet.com*
>>> <https://christophercrouzet.com>
>>>
>>>
>>>
>>> ------ Softimage Mailing List. To unsubscribe, send a mail to
>> [email protected] with "unsubscribe" in the
>> subject, and reply to confirm.
>
> --
> Christopher Crouzet *https://christophercrouzet.com*
> <https://christophercrouzet.com>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to [email protected] with 
> "unsubscribe" in the subject, and reply to confirm.
>
>
> ------
> Softimage Mailing List.
> To unsubscribe, send a mail to [email protected]
> with "unsubscribe" in the subject, and reply to confirm.
>



-- 
Christopher Crouzet
*https://christophercrouzet.com* <https://christophercrouzet.com>
------
Softimage Mailing List.
To unsubscribe, send a mail to [email protected] with 
"unsubscribe" in the subject, and reply to confirm.

Reply via email to