Cross-Section SOPS or GLSL?

Hello Touchies,

Has anybody figured out a good real-time way of getting a cross-section of geometry? Seems like the clip SOP would do it if only I could isolate the “crease” that it makes. Also seems like there should be a way to intersect geometry with a plane in glsl and get the resulting intersection as a curve or filled-in shape…

I’ve also tried setting an orthographic camera on the slicing plane and rendering back faces. but I can’t figure out a way to only render back faces without culling front faces.

Any ideas?

Carve Sop can do this.

Check out Grady Sain’s tutorial on how this works.
interestingresults.com/?p=141

Interesting tutorial, thanks Tom. I’d still like to learn more about intersecting SOPs though. I was trying to use Surfsect and Curvesect SOPs with no luck. I want to find the intersection points between two SOPs for some object “collision” effects. Maybe there’s an easier way to do this?

For context, I was thinking I could find intersection between a “floor” (grid in XZ-plane) and Feet (spheres, instanced on Kinect skeleton feet coordinates) and use the resulting geometry as emitter source for particles… trying to create the effect of each step of user avatar kicking up stylized dust/sparkles/etc in a VR world. [I tried using the feet spheres as collision source on particle SOP, with floor grid as emitter source, but that doesn’t really achieve the effect I’m going for.]

In the attached file, I tried to get basic intersection between a metaball and grid, expecting a circular slice, but instead I got union of both. What am I missing?
surfsectIntersection.toe (5.75 KB)

hey CutMod
I checked out your project but could not get a successful intersect of any sort.
I noticed that you used a metaball, so I replaced that with a sphere nurbs surface, and still nothing.
My guess: its buggy and unsupported. There are no examples in the Op Snippets section of help, so my guess is that they put this one out to pasture.

Not sure how useful this op would be anyway.
What we really need is collision detection, and simple and reliable, ray casting.

Ray casting is a super useful function that exists in most game engines, that simply ‘shoots a ray’. from a point in world space, along some direction vector, and returns all the objects that are intersected by the ray, and the location of intersection, and the UV space of intersection on the intersected mesh. This is generally a fast procedure, and has a huge amount of uses, including:

  1. placing one piece of geometry on the surface of another.
  2. detecting of one geometry is inside of a mesh.
  3. 3D picking
  4. culling based on line of sight
    all kinds of surface based vfx.

I posted a question directly to the forum to see if anyone knows if such thing exists.
If not, presumably it could be made with a C++ node.
It clearly does exist inside several existing nodes, including the Ray Sop, and Render Pick Chop and Dat. Extracting a simple ray shooting function out of these ops is not so simple as it might seem, Where this is a will, there is a way…

Just discovered this physics engine in touch

derivative.ca/Forum/viewtopi … lit=bullet

oh, this looks very nice!