[Sidefx-houdini-list] baking coverage into point particles
sgustafso at gmail.com
Thu Dec 10 05:17:52 EST 2009
So you want to cache the result of the sum /on each point/? Assuming
you're trying to cache the data in SOPs?
There is a way that seems like it might work if you don't need high
Move all of the points into the space of the light. Store a dist attr
on each point and give it the dist from that point to the light (so
since we're in light space, the length of their pos vector). Normalize
the position vectors so that all of the points you want to cast rays
from only occupy points on the surface of the unit sphere, but their
directions relative to the light are the same.
Run that through a vex sop. In the vex code, use the point cloud
functions to iterate over all of the points within some small radius.
Import their alpha and dist attrs, and if the dist is greater than the
dist of the current point, toss it out.
If the disks are very small this should let you roughly fake ray casts
for each point. But it assumes that the points aren't large enough for
perspective to make a significant difference. Perhaps the perspective
could be estimated by scattering extra points across the surface of
I may be wrong, but I don't think any non-shader vex contexts have ray
tracing support (unless they've added it recently). So if hacks like
this aren't accurate enough, I think you'll need to use the HDK. It's
be great if I'm wrong, though!
On Dec 9, 2009, at 10:00 PM, "Michael K. O'Brien" <mobrien at pixar.com>
> I have a set of semi-transparent points (disks) and a light. I'd
> like to
> bake the visibility of the points as seen from the light. Basically,
> I want
> to project a ray from each point to the light and sum up the
> transparency as
> I go. Is there a way to do something like that in Houdini?
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
More information about the Sidefx-houdini-list