View Single Post
Old 30th December 2006, 00:02   #1 (permalink)
julvr
Vertex
 
julvr's Avatar
 
Join Date: Nov 2006
Posts: 25
Anti-matter booleans

I heard someone in a post refer to render-time booleans as anti-matter booleans. I am not sure if this is his invention, or the industry term, but in any case, I was wondering if there is any plan for them to exist in Carrara.

Basically, the idea is you have an invisible object that makes holes in one or more objects it intersects with. It would be useful for example if you had a boat and wanted to make the water invisible inside of the boat. It also allows for animated holes in objects etc.

To me it seems like a fairly simple feature to implement in a raytracer -- basically if you are tracing a ray:

1) if the ray hits the target object first, the ray intersects the target object at that point
2) if the ray hits the front-face of the antimatter object, then it hits the target object (before it hits a backface of the antimatter object), then:
a) if the target object is a plane or non-filled object, there is no intersection.
b) if the target object is a solid, and the ray hits a backface of the target object before it hits the backface of the antimatter object, there is no intersection
c) if the target object is a solid, and the ray hits a backface of the antimatter object before it hits the backface of the target object, then the intersection is at the backface of the antimatter object...

Indirect lighting might be a bit tricky, but could likely be solved by creating a temporary polygon boolean right before rendering, and use those values for lighting.

Anyways, I think this would be very useful for modelling a lot of things (One example is creating windows in a house -- you could make all walls your target object, and then you could easily change the location of windows, duplicate them, etc).
julvr is offline   Reply With Quote