Nice find Oliver.

 

I managed to decipher what was going on in the speedy GIF (wish people would 
share videos for this kind of stuff) and the technique does indeed work.  
Here’s the HIP (Indie) for anybody that wants to check it out.

 

http://d.pr/f/FpMi.zip

 

The downside is that the Wrangles runs in Detail Mode so it’s single threaded 
on those Wrangles, which slows the network down. I don’t know how to set up the 
Wrangle in Numbers Mode, which breaks the job down for multiple threads. If 
Andy Nicholas is still reading this thread (or anybody else that understands 
Numbers Mode on Wrangles) I’d love to know how to get this example to work that 
way. This example works fine because it’s only processing 100,000 points. As 
the point count goes up it will get a lot slower running in Details Mode.

 

From: softimage-boun...@listproc.autodesk.com 
[mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Olivier Jeannel
Sent: 14 March 2017 19:45
To: Official Softimage Users Mailing List. 
https://groups.google.com/forum/#!forum/xsi_list 
<softimage@listproc.autodesk.com>
Subject: Re: houdini question (and where to ask)

 

Back to the Get MaximumInSet request, I found this (I haven't tested) :

http://gifyu.com/image/SpJl

 

 

2017-03-07 13:20 GMT+01:00 Fabricio Chamon <xsiml...@gmail.com 
<mailto:xsiml...@gmail.com> >:

thanks for all the insights guys, much appreciated! 

 

2017-03-07 11:41 GMT+01:00 Andy Nicholas <a...@andynicholas.com 
<mailto:a...@andynicholas.com> >:

That's good to know, thanks :)

 

On 07/03/2017 10:06, Christopher Crouzet wrote:

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 <a...@andynicholas.com 
<mailto:a...@andynicholas.com> > 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 <facialdel...@gmail.com 
<mailto:facialdel...@gmail.com> > wrote:

Ok we agree. 



On Monday, March 6, 2017, Jonathan Moore <jonathan.moo...@gmail.com 
<mailto:jonathan.moo...@gmail.com> > 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: softimage-boun...@listproc.autodesk.com 
<mailto:softimage-boun...@listproc.autodesk.com>  
[mailto:softimage-boun...@listproc.autodesk.com] 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 
<https://groups.google.com/forum/#%21forum/xsi_list>  
<softimage@listproc.autodesk.com <mailto:softimage@listproc.autodesk.com> >
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 <christopher.crou...@gmail.com 
<mailto:christopher.crou...@gmail.com> > 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 <a...@andynicholas.com 
<mailto:a...@andynicholas.com> > 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 <jonathan.moo...@gmail.com 
<mailto:jonathan.moo...@gmail.com> > 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: softimage-boun...@listproc.autodesk.com 
<mailto:softimage-boun...@listproc.autodesk.com>  
[mailto:softimage-boun...@listproc.autodesk.com] 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 
<https://groups.google.com/forum/#%21forum/xsi_list>  
<softimage@listproc.autodesk.com <mailto:softimage@listproc.autodesk.com> >


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 <tridi.animei...@gmail.com 
<mailto:tridi.animei...@gmail.com> > 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 <xsiml...@gmail.com 
<mailto:xsiml...@gmail.com> > 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:

 



 

...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 <garethb...@outlook.com 
<mailto:garethb...@outlook.com> >:

yeah - the lack of handles is frustrating

  _____  

From: softimage-boun...@listproc.autodesk.com 
<mailto:softimage-boun...@listproc.autodesk.com>  
<softimage-boun...@listproc.autodesk.com 
<mailto:softimage-boun...@listproc.autodesk.com> > on behalf of Olivier Jeannel 
<facialdel...@gmail.com <mailto:facialdel...@gmail.com> >
Sent: 06 March 2017 14:05:17
To: Official Softimage Users Mailing List.  
<https://groups.google.com/forum/#%21forum/xsi_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" <facialdel...@gmail.com 
<mailto:facialdel...@gmail.com> > 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" <xsiml...@gmail.com 
<mailto:xsiml...@gmail.com> > 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 <xsiml...@gmail.com 
<mailto:xsiml...@gmail.com> >:

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 softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  with "unsubscribe" in the 
subject, and reply to confirm.


------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  with "unsubscribe" in the 
subject, and reply to confirm.

 


------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  with "unsubscribe" in the 
subject, and reply to confirm.

 


------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  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 softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  with "unsubscribe" in the 
subject, and reply to confirm.

 

------ Softimage Mailing List. To unsubscribe, send a mail to 
softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  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 
softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  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 softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  with "unsubscribe" in the 
subject, and reply to confirm.

------ Softimage Mailing List. To unsubscribe, send a mail to 
softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  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 softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  with "unsubscribe" in the 
subject, and reply to confirm.


------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  with "unsubscribe" in the 
subject, and reply to confirm.

 


------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com 
<mailto:softimage-requ...@listproc.autodesk.com>  with "unsubscribe" in the 
subject, and reply to confirm.

 

------
Softimage Mailing List.
To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with 
"unsubscribe" in the subject, and reply to confirm.

Reply via email to