[Sidefx-houdini-list] Message 1 of Sidefx-houdini-list Digest, Vol 316, Issue 4

Benjamin Laidlaw ben_laidlaw at hotmail.com
Sat Oct 8 14:06:29 EDT 2011


Hey Nick,
I believe I have run into the same problem before. I def have my own massive ubershader, that controls our assets. Make sure you have saved cached code checked on in the edit operator type properties, at the bottom of the basic tab, to save your vops to code if that be the case. Second When doing instances point them to point to a geo object that is reading a delayed load through the procedural shader(shop_geometrypath) option, or add those parameters to your instance obj. Third output your shader (and geometry sometimes) through the mantra archive in the out network. This will create a delayed copy of your shader, especially if you have sequentially changing points to instance too and the shader does not change. One set call of the shader for all your points. Add point values of cd to spice it up. Also you should load your points to be instanced through this delayed load (vm_procedural) whether or not they be rop file output in sops, or through the mantra archiver, as long as the shop_material.... is set as an attribute. The only different between the mantra archiver and a sop geo rop is that the former does not output groups since the shop_material sets it. This way you can render your geo point .bgeo once(You can even gzip them to make them smaller for network traffic), and keep on changing the separate point ifds since they are referenced in. to your final scene ifds. I would strongly recommend any geometry read from disk go through the delayed load shop to decrease network bandwidth, never through a file node in sops. This way if you do iteration for the same shot you only cache it out once, not once to disk then the second into the ifds. You should be able to keep your per frame ifds down to under 1mb or around several hundred Kbs through this manner. Always exception but it works pretty well. I ain't a coder, but the code is relatively simple to look at.
-Ben
> From: sidefx-houdini-list-request at sidefx.com
> Subject: Sidefx-houdini-list Digest, Vol 316, Issue 4
> To: sidefx-houdini-list at sidefx.com
> Date: Sat, 8 Oct 2011 12:00:01 -0400
> 
> Send Sidefx-houdini-list mailing list submissions to
> 	sidefx-houdini-list at sidefx.com
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> or, via email, send a message with subject or body 'help' to
> 	sidefx-houdini-list-request at sidefx.com
> 
> You can reach the person managing the list at
> 	sidefx-houdini-list-owner at sidefx.com
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Sidefx-houdini-list digest..."
> 
> 
> Today's Topics:
> 
>    1. using soho to generate ifd data for shopTypes. Then injecting
>       a mantra IFD with the shaders from disk. (nicholas pliatsikas)
>    2. sweep (zoran arizanovic)
>    3. Re: sweep (Larry Giunta)
>    4. Re: sweep (zoran arizanovic)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Fri, 7 Oct 2011 17:13:58 +0100
> From: nicholas pliatsikas <nicholas.pliatsikas at gmail.com>
> Subject: [Sidefx-houdini-list] using soho to generate ifd data for
> 	shopTypes. Then injecting a mantra IFD with the shaders from disk.
> To: sidefx-houdini-list at sidefx.com
> Message-ID:
> 	<CAO=SxRrgC6f4u8BO7NCYhLuLZsz7WCh9FAZpzvSNpT2YWC9m_w at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> Hey guys
> 
> Ive got a few questions about using soho and modifying how the shader
> assignment/ifd generation of shader information is used.
> Just to give you a little history on the problem we are attempting to solve,
> its quite simple.
> 
> We are using instances pretty heavily on one of our projects, we are also
> using our standard ubershader with those instances, which has a massive
> amount of shader parameters.
> This seems to not work very well when generating IFDs, specifically it takes
> a very long time to generate them so we are consistently hitting a mega
> bottle neck.
> 
> So I began investigating ways of optimizing things. During a quick search
> online I discovered a great Russian site that has a brilliantly simple
> solution for removing the need to generate instances all the time during IFD
> generation.
> http://www.2d3d.by/tools/22/
> or in english
> http://translate.google.co.uk/translate?sl=auto&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.2d3d.by%2Ftools%2F22%2F&act=url
> 
> Basically that tool allows you to write out an IFD per frame for all your
> instances, this file is then added to a parm "vm_ifd_code" on any empty geo
> and it will inject the instance ifd data into your renderable IFD. Very
> clever :?)
> 
> Now my issue with that is simple, it would be far more optimal if it was a
> per frame export, yes its better then rendering IFDs with instances every
> time. But we also have regular animation updates, and it does take time to
> export for that also.
> 
> The 3 valid options I can see is to create a similar setup to the above but
> rather then exporting the IFDs for the instance object is to export a file
> that contains just the shader information for one frame. Then add a parm
> "vm_ifd_shader" that would load this in instead of recomputing the shader
> everytime.
> Ive not really messed with soho before. Im unsure how i would go about that?
> so any tips would be great.
> 
> Or instead of injecting it during ifd generation, maybe i could inject it
> using a python filter, as long as i can access the object name that im
> adjusting the surface for i can do that.
> 
> So for the above i guess im asking, how can i generate the shader ifd
> information using soho? Is it possible to patch soho to pick up the new parm
> and assign that as the shop data for each instance?
> 
> And how do i access the object names using python filtering?
> 
> The last possibility would be to cache one frame of IFD for the objects we
> are instancing then reuse that IFD data with the instance transforms, sounds
> like the hardest of all though
> 
> Any help with any of the above would be awesome :?) Its not really
> documented much from what i can see either..
> 
> Maybe someone has a better solution for the above issue?
> 
> Thanks in advance especially if you have read this far.
> Cheers
> Nick
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Fri, 7 Oct 2011 21:03:29 +0200
> From: zoran arizanovic <zoran.arizanovic at gmail.com>
> Subject: [Sidefx-houdini-list] sweep
> To: sidefx-houdini-list at sidefx.com
> Message-ID:
> 	<CAJ5T-nqvgXEdh8mHZEdocPFjGcqG00jgdZUov6gEND1U=GAH0w at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> hi
> I would like to control thickness-diameter of crosssection circle
> I have a circlethrough sweep sop  along dynamic curves and would like to
> control it so  it goes gradually to zero on the top of a curve
> so the sweeped geo would be the thickest at point0 and  zero scale at point
> X-end point
> thanks
> 
> 
> -- 
> Zoran Arizanovic
> vfx reel : http://vimeo.com/28605448
> http://www.imdb.com/name/nm2902303/
> 
> 
> ------------------------------
> 
> Message: 3
> Date: Fri, 7 Oct 2011 15:29:30 -0400
> From: Larry Giunta <larry at gcreativestudios.com>
> Subject: Re: [Sidefx-houdini-list] sweep
> To: sidefx-houdini-list at sidefx.com
> Message-ID:
> 	<77FD6927-8880-4DD3-9446-9AD39106EBFE at gcreativestudios.com>
> Content-Type: text/plain;	charset=us-ascii
> 
> Hey Zoran, 
> 
> If I understand correctly, I've done something like this before by adding an expression in the scale parameter on the Sweep SOP.
> 
> In my case I needed it to be consistent for most of the curve, then scale to a zero at the end. So I enclosed it in a clamp function.
> Something like this.
> clamp(($PT*.1), 0, 1.5)�
> 
> Larry
> 
> --
> Larry Giunta 
> Creative Director
> G Creative Studios
> (978)276-0600
> www.gcreativestudios.com 
> 
> 
> 
> On Oct 7, 2011, at 3:03 PM, zoran arizanovic wrote:
> 
> > hi
> > I would like to control thickness-diameter of crosssection circle
> > I have a circlethrough sweep sop  along dynamic curves and would like to
> > control it so  it goes gradually to zero on the top of a curve
> > so the sweeped geo would be the thickest at point0 and  zero scale at point
> > X-end point
> > thanks
> > 
> > 
> > -- 
> > Zoran Arizanovic
> > vfx reel : http://vimeo.com/28605448
> > http://www.imdb.com/name/nm2902303/
> > _______________________________________________
> > Sidefx-houdini-list mailing list
> > Sidefx-houdini-list at sidefx.com
> > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> 
> 
> 
> ------------------------------
> 
> Message: 4
> Date: Fri, 7 Oct 2011 21:39:55 +0200
> From: zoran arizanovic <zoran.arizanovic at gmail.com>
> Subject: Re: [Sidefx-houdini-list] sweep
> To: sidefx-houdini-list at sidefx.com
> Message-ID:
> 	<CAJ5T-no-z4-Q6kY32pXLHygRRec2MD=uyARMeatfbV5372RO+g at mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> thanks larry
> :)
> 
> On Fri, Oct 7, 2011 at 9:29 PM, Larry Giunta <larry at gcreativestudios.com>wrote:
> 
> > Hey Zoran,
> >
> > If I understand correctly, I've done something like this before by adding
> > an expression in the scale parameter on the Sweep SOP.
> >
> > In my case I needed it to be consistent for most of the curve, then scale
> > to a zero at the end. So I enclosed it in a clamp function.
> > Something like this.
> > clamp(($PT*.1), 0, 1.5)
> >
> > Larry
> >
> > --
> > Larry Giunta
> > Creative Director
> > G Creative Studios
> > (978)276-0600
> > www.gcreativestudios.com
> >
> >
> >
> > On Oct 7, 2011, at 3:03 PM, zoran arizanovic wrote:
> >
> > > hi
> > > I would like to control thickness-diameter of crosssection circle
> > > I have a circlethrough sweep sop  along dynamic curves and would like to
> > > control it so  it goes gradually to zero on the top of a curve
> > > so the sweeped geo would be the thickest at point0 and  zero scale at
> > point
> > > X-end point
> > > thanks
> > >
> > >
> > > --
> > > Zoran Arizanovic
> > > vfx reel : http://vimeo.com/28605448
> > > http://www.imdb.com/name/nm2902303/
> > > _______________________________________________
> > > 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
> >
> 
> 
> 
> -- 
> Zoran Arizanovic
> vfx reel : http://vimeo.com/28605448
> http://www.imdb.com/name/nm2902303/
> 
> 
> ------------------------------
> 
> _______________________________________________
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> 
> 
> End of Sidefx-houdini-list Digest, Vol 316, Issue 4
> ***************************************************
 		 	   		  


More information about the Sidefx-houdini-list mailing list