[Sidefx-houdini-list] random fur scale

Olex P hoknamahn at gmail.com
Wed Feb 13 06:57:17 EST 2008


Or 3dtextures instead of point clouds... Or even usual textures... But this
is really weird way :))

On Feb 13, 2008 11:55 AM, Olex P <hoknamahn at gmail.com> wrote:

> Hi Pablo,
>
> Arrays still an RFE :( And probably better to forget about complex data
> structures in VEX unless you are ready to implement them as a DSO. What you
> can do easily is just combine existing data types or use existing data types
> in unusual way. For example you could easily implement arrays using point
> clouds.
>
>
> On Feb 13, 2008 10:44 AM, Pablo Giménez <pablogipi at gmail.com> wrote:
>
> > Thanks for the info Ivan.
> > Quite interesting, I have always suppose that c++ could be better to VEX
> > because is in a lower level, but knowing the the execution speed is
> > quite
> > similar is great because I do almost all my stuff in VEX rather than
> > C++.
> > And what about to create comples data structures in VEX? Maybe is not a
> > little weak in tis are. I don't remember now but can you in VEX create
> > arrays of any number of elements?
> >
> > 2008/2/12, Ivan DeWolf <ivan at martian-labs.com>:
> > >
> > >
> > > exactly; that's why VEX is often faster than C++. In C++ you would
> > > probably use
> > > the FOR_ALL_GPOINTS() method on your GDP, and write legible, logical
> > code.
> > > But the CPU prefers the SIMD execution order on arrays that the same
> > code
> > > would
> > > be sent to it as, if it were written in VEX and then compiled and
> > executed
> > > by
> > > that method. Far more efficient in the CPU, but far less logical to
> > set
> > > your
> > > code up that way. So a programmer is much more likeley to use the
> > > simple-to-comprehend FOR_ALL_GPOINTS() in c++ than set up arrays and
> > all
> > > the
> > > baggage that VEX handles automaticly.
> > >
> > > If your C++ code reads like VEX, the VEX is probably faster. If you're
> > > doing
> > > some clever algorithmic speedups or creating your own efficient data
> > > structures, (such as a tree for a raymarcher) than you can beat VEX.
> > >
> > > The point being, if you take some VEX code and simply port it to an
> > HDK
> > > SOP, you
> > > will probably have just put a lot of effort into making your code run
> > > slower...
> > >
> > >
> > > Quoting Olex P <hoknamahn at gmail.com>:
> > >
> > > > Language doesn't matter (almost doesn't matter). The main speedups
> > can
> > > give
> > > > difference in architecture and used algorithms. For example
> > raymarching
> > > > written in Python using tree structures could be faster than C++
> > > raymarcher
> > > > without trees.
> > > >
> > > > On Feb 12, 2008 12:31 AM, Pablo Giménez <pablogipi at gmail.com> wrote:
> > > >
> > > > > 2008/2/12, Ivan DeWolf <ivan at martian-labs.com>:
> > > > > >
> > > > > >
> > > > > > actually, VEX usually executes faster than c++ code, unless you
> > > spend as
> > > > > > much
> > > > > > time optimizing your code as SESI did optimizing VEX. The SIMD
> > > > > > architecture
> > > > > > lines the data up niceley for the CPU, but it's a friggin
> > nightmare
> > > to
> > > > > > think it
> > > > > > through as a human being.
> > > > >
> > > > >
> > > > > Good to know tha thge optimizer is so good, we can begin an old
> > > discussion
> > > > > about what is fastes shaders in a language shader
> > (renderman/mantra)
> > > or in
> > > > > c++ (mentalray) ....
> > > > >
> > > > > the volumetric system in Houdini is actually wicked fast- I've
> > written
> > > my
> > > > > > own in
> > > > > > VEX before and in c++. Both were a LOT slower. There's
> > definiteley a
> > > ton
> > > > > > of
> > > > > > optimization going on in there, probably in the c++ code and how
> > it
> > > uses
> > > > > > the
> > > > > > VEX you write...
> > > > >
> > > > >
> > > > > And yes the volumetric stuff is more times faster now with the new
> > > > > metaballs
> > > > > functions for VEX but still very very slow compared with soutions
> > like
> > > > > Fume.
> > > > >
> > > > > Quoting Pablo Giménez <pablogipi at gmail.com>:
> > > > > >
> > > > > > > 2008/2/12, Fred Valleur <fred.valleur at gmail.com>:
> > > > > > > >
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > a CVex shader is called from a compiled  C++ dso (or dll on
> > > > > windows).
> > > > > > It
> > > > > > > > is
> > > > > > > > written in VEX and let you modify data used by the compiled
> > > plugin.
> > > > > It
> > > > > > > > offers great flexibility as you don't have to "hard-code"
> > > everything
> > > > > > in
> > > > > > > > C++.
> > > > > > > > The fur SOP/Geometry shader  is a good example to look at.
> > The
> > > hair
> > > > > > > > generation and memory allocation is handled by the C++
> > plugin,
> > > but
> > > > > it
> > > > > > > > calls
> > > > > > > > two CVex Shaders that can modify hair/points attribute to
> > change
> > > the
> > > > > > look
> > > > > > > > of
> > > > > > > > the fur.
> > > > > > >
> > > > > > >
> > > > > > > I am guessing here but ... maybe this can be used to speedup
> > > > > > volumetrics, do
> > > > > > > all the raymarching hard stuff in C++, more times faster than
> > VEX,
> > > and
> > > > > > use
> > > > > > > VEX only to modify every step sample.
> > > > > > > The raymarching loop and some fancy adaptative step formula
> > can be
> > > > > done
> > > > > > in
> > > > > > > c++, only guessing.
> > > > > > >
> > > > > > > This way, you can write your own kink/frizz funtions in VEX
> >  and
> > > let
> > > > > the
> > > > > > C++
> > > > > > > > code handle the "low level" hair generation.
> > > > > > > >
> > > > > > > > Hope this makes it a bit clearer,
> > > > > > > >
> > > > > > > > Cheers,
> > > > > > > >
> > > > > > > > Fred.
> > > > > > > >
> > > > > > > > --
> > > > > > > > Frederic Valleur | LaMaison
> > > > > > > >
> > > > > > > >
> > > > > > > > >Hi guys,
> > > > > > > >
> > > > > > > > >Sorry to hijack. Could someone just quickly explain what a
> > CVEX
> > > > > > shader
> > > > > > > > is?
> > > > > > > > >Not heard of this before. I take it it's different from a
> > VEX
> > > > > shader?
> > > > > > Is
> > > > > > > > >is a compiled version? What situations would you use it
> > for?
> > > > > > > >
> > > > > > > > >Thanks
> > > > > > > >
> > > > > > > > >Andy
> > > > > > > > _______________________________________________
> > > > > > > > Sidefx-houdini-list mailing list
> > > > > > > > Sidefx-houdini-list at sidefx.com
> > > > > > > >
> > > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > > > > > > >
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > >
> > > > > > > Un saludo
> > > > > > > Best Regards
> > > > > > > Pablo Giménez
> > > > > > > _______________________________________________
> > > > > > > Sidefx-houdini-list mailing list
> > > > > > > Sidefx-houdini-list at sidefx.com
> > > > > > >
> > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > > > > > >
> > > > > >
> > > > > >
> > > > > > -Ivan
> > > > > >
> > > > > > ---------------------------------------------------------
> > > > > > "Perfection is achieved when nothing else can be removed"
> > > > > > -Yvon Chouinard
> > > > > > _______________________________________________
> > > > > > Sidefx-houdini-list mailing list
> > > > > > Sidefx-houdini-list at sidefx.com
> > > > > >
> > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > > > > >
> > > > >
> > > > >
> > > > >
> > > > > --
> > > > >
> > > > > Un saludo
> > > > > Best Regards
> > > > > Pablo Giménez
> > > > > _______________________________________________
> > > > > 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
> > > >
> > >
> > >
> > > -Ivan
> > >
> > > ---------------------------------------------------------
> > > "Perfection is achieved when nothing else can be removed"
> > > -Yvon Chouinard
> > > _______________________________________________
> > > Sidefx-houdini-list mailing list
> > > Sidefx-houdini-list at sidefx.com
> > > https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> > >
> >
> >
> >
> > --
> >
> > Un saludo
> > Best Regards
> > Pablo Giménez
> > _______________________________________________
> > 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