Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 

 Home / 3D Theory & Graphics / Winged edge structure Account Manager
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
Phantom

March 03, 1999, 06:39 AM

Colas wrote:
>> what is the winged edge thing ?

A winged edge structure is a structure in wich you store
a scene using edges: Each edge links to exactly two polygons,
unless you have double sided polygons. You can use this
structure for a lot of things, for example:
1. Flipping normals of a 3D studio object that is inside-out
2. Finding closed volumes in general
3. Splitting up complex objects in convex subobjects
4. Object outline calculation
And a lot more. It's easy to implement too. I would like to
use it in a portal engine that reads scenes from truespace:
With a winged edge structure, I can simply add portals to
a scene, and determine wich polygons form a sector by tracing
the winged edge structure.

Phantom

 
Colas

March 04, 1999, 02:40 AM



Phantom wrote:
>>Colas wrote:
>>>> what is the winged edge thing ?
>>
>>A winged edge structure is a structure in wich you store
>>a scene using edges: Each edge links to exactly two polygons,

ok if an edge is sharing between more than two polys a should dedouble it ?

diz is the kind of structure used for s-buffering ?? based on the edge istead of polygons
Thanx for your explanation :-)

colas

 
Phantom

March 04, 1999, 04:26 AM

Colas wrote:
>>>>A winged edge structure is a structure in wich you store
>>>>a scene using edges: Each edge links to exactly two polygons,
>>
>>ok if an edge is sharing between more than two polys a should dedouble it ?

Nope... An edge shared by more than two polygons means that somewhere in
your scene there's something infinitely thin. Consider a cube: None
of it's edges are used by more than two polygons. In fact, they all are
shared by two polygons. If you would add another cube, and make it touch
the first with an edge, you would get an edge that is shared by four
polygons. It's debateble whether this is a correct situation: The
thickness of the structure is exactly zero at the edge.

>>diz is the kind of structure used for s-buffering ??

Nope... That's something completely different. Have you read my doc
about c-buffers?

>>Thanx for your explanation :-)

You're welcome, but please ask more after reading the c-buffer doc,
you haven't grasped some of the concepts yet.

 
colas

March 04, 1999, 06:41 AM



Phantom wrote:

>>Nope... An edge shared by more than two polygons means that somewhere in
>>your scene there's something infinitely thin.

?

you can have an edge shared by many polygons. think about some walls:

|
|
|
---------------
|
|
|

here an edge is shared by four polys


Consider a cube: None
>>of it's edges are used by more than two polygons. In fact, they all are
>>shared by two polygons.
> If you would add another cube, and make it touch
>>the first with an edge, you would get an edge that is shared by four
>>polygons. It's debateble whether this is a correct situation: The
>>thickness of the structure is exactly zero at the edge.
>>

ok skip the first part of my reply sorry :-)

but this is not a problem that the wall`thin = 0
if we see the wall from only one face fo

Colas

 
Phantom

March 04, 1999, 06:57 AM

colas wrote:
>>you can have an edge shared by many polygons. think about some walls:
>>
>> |
>> |
>> |
>>---------------
>> |
>> |
>> |
>>
>>here an edge is shared by four polys

Yup, but this situation should have looked like this:

| |
| |
-----+ +--------

-----+ +--------
| |
| |

>>ok skip the first part of my reply sorry :-)

You made me do that ASCII art for nothing! :)

>>but this is not a problem that the wall`thin = 0
>>if we see the wall from only one face fo

True, it's not a problem, but in that case, the
winged edge structure is no good. Winged edge
structures are only good for solid geometry.

Sorry. :)

 
Timo

March 16, 1999, 09:24 AM

There's a simple implementation in C++ of the winged-edge data structure at :
ftp://ftp.ledalite.com/pub/winged.zip
I've used it for the internals of my 3DS->MAP converter.
(be warned that there are a few bugs in the original code though)

 
This thread contains 6 messages.
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.