Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Wavinator

Modeling intersecting meshes?

This topic is 6081 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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...

Share this post


Link to post
Share on other sites
Advertisement
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!