Advertisement

Modeling intersecting meshes?

Started by November 18, 2001 09:32 PM
4 comments, last by Wavinator 23 years, 1 month ago
Hey all. When you are modeling a complex object that''s supposed to be made of multiple, intersecting meshes, is it kosher to simply let the meshes intersect, or better to perform some kind of boolean operation on them so that there are no vertices inside the complex mesh? Simple example: I''m creating a complicated support strut for a space station. I need an X shaped strut. I have the choice of copying the first, rotating it, and jamming them together; or exporting the whole structure into a program that''ll do a boolean on both so there are no points in the middle of the X. The first is easy, but potentially wasteful. The second isn''t well supported in the program I use to model (Nendo), so it''s a bit tedious. Any ideas? -------------------- Just waiting for the mothership...
--------------------Just waiting for the mothership...
Firstly let me state that I am not a modeller.

But I have had experience here. Are you wanting to render this station using OGL or DX?

If so then you want to perform a boolean operation to merge the X. The reason being that a) it is wasteful and b) the intersection will draw incorrectly, you wont be able to see this unless the colors and/or normals are different for each strut. This occurs because both faces occupy the same space and the same z component in the zbuffer, so when being drawn which ever is drawn last is the one you will see. This leads to ''flashing'' at the intersection, ie you will see one strut at the intersection and then the other, repeatedly.

A similar effect occurs when you have a 16bit z-buffer and two objects that are positioned face to face, you get some horrible effects. In this case you need to eliminate both touching faces.

A real pain, especially if you are like me and would rather spend time programming and not modelling.

D.V.

Carpe Diem
D.V.Carpe Diem
Advertisement
I agree with DeltaVee. Merge the objects. Not doing so risks tearing or z fighting.

--
http://www.3dcgi.com/
I disagree with the above. It depends.

Let's say the X struts have an oval or circular cross-section. Whether they are the same color or different, they will intersect perfectly and have no Z fighting. The edges where they intersect will be curved and look beautiful. And ou will get this effect with two objects, not four, and you won't have a multiple verticed curved edge which requires numerous transformations. It will render faster.

If, on the other hand, the cross-sections of the struts are square AND flush with each other, then do the boolean operation, as everything DeltaVee said is true.

Another reason to do boolean operations is if you are going to do a radiosity generated light map. In such a case, 'light leaks' will occur if you don't, where light bleeds through walls because of contiguous surfaces intersecting others.

___________________________________



Edited by - bishop_pass on November 20, 2001 10:55:58 AM
_______________________________
"To understand the horse you'll find that you're going to be working on yourself. The horse will give you the answers and he will question you to see if you are sure or not."
- Ray Hunt, in Think Harmony With Horses
ALU - SHRDLU - WORDNET - CYC - SWALE - AM - CD - J.M. - K.S. | CAA - BCHA - AQHA - APHA - R.H. - T.D. | 395 - SPS - GORDIE - SCMA - R.M. - G.R. - V.C. - C.F.
Thanks for the responses, all.

Just a clarification on the "face to face" positioning issue.

This does mean two faces occupying the same, exact planar position, correct? (e.g., two cubes which have six sides, but where both have one side in exactly the same spatial position)



--------------------
Just waiting for the mothership...
--------------------Just waiting for the mothership...
quote: Original post by Wavinator
Just a clarification on the "face to face" positioning issue.

This does mean two faces occupying the same, exact planar position, correct? (e.g., two cubes which have six sides, but where both have one side in exactly the same spatial position)



Yes, with caveats. I have cases where, for example, I have small cube sitting on a large cube, I have to remove the small cubes face other wise I get tearing around the edges of the face of the small cube.

Caveat: My tearing problems increased a thousand fold when I upgraded to DX8.1. For some reason the 32bit zbuffer is no longer supported on my machine !!!!!???, so I am now using a 16bit and where I could be 'sloppy' before I can no longer.

So it all depends on your depth buffer and where it is in your depth buffer.

D.V.

Carpe Diem

Edited by - DeltaVee on November 21, 2001 8:48:54 AM
D.V.Carpe Diem

This topic is closed to new replies.

Advertisement