IndexedFaceSet with unwanted faces

This is a discussion on IndexedFaceSet with unwanted faces within the vrml forums in Programming Languages category; Dera group, I try to describe a face in form of a turned "U", no donut, no selfintersection. I believe that my description meet the standart....but at the empty area there's a doublesided face...which isn't described? I try to view that in whitedune either with vrml97 loader from sun.java3d both show that unwanted polygone, cinema 4d will show the data correct, but ignores the solid FALSE option, which is needed for some other polygones... Has anybody an idea how to order the faseSet correct, without splitting in two polygones(faces)? here's what i did: Shape { appearance DEF Wand_App Appearance { ...

Go Back   Application Development Forum > Programming Languages > vrml

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #1  
Old 04-08-2008, 12:25 PM
rolfgabler@gmx.de
Guest
 
Default IndexedFaceSet with unwanted faces

Dera group,
I try to describe a face in form of a turned "U", no donut, no
selfintersection.
I believe that my description meet the standart....but at the empty
area there's a doublesided face...which isn't described?
I try to view that in whitedune either with vrml97 loader from
sun.java3d both show that unwanted polygone,
cinema 4d will show the data correct, but ignores the solid FALSE
option, which is needed for some other polygones...
Has anybody an idea how to order the faseSet correct, without
splitting in two polygones(faces)?
here's what i did:

Shape {
appearance DEF Wand_App Appearance {
material DEF wand Material {
diffuseColor 0.3 0.0 0.0
emissiveColor 0.0 0.0 0.0
specularColor 0.1 0.1 0.1
ambientIntensity 0.3
transparency 0.00000
shininess 1.00000
}
}
geometry DEF Wand0 IndexedFaceSet {
#normalPerVertex TRUE
coord DEF Coord_Wand Coordinate { point [
0.0 0.0 0.0, #0
15.0 0.0 0.0, #1
15.0 0.0 10.0, #2
7.5 0.0 15.0, #3
0.0 0.0 10.0, #4
15.0 10.0 0.0, #5
15.0 10.0 4.0, #6
15.0 15.0 4.0, #7
15.0 15.0 0.0, #8
15.0 25.0 0.0, #9
15.0 25.0 10.0,#10
18.0 10.0 0.0, #11
18.0 15.0 0.0, #12
18.0 15.0 4.0, #13
18.0 10.0 4.0, #14
0.0 25.0 0.0, #15
0.0 25.0 10.0, #16
7.5 25.0 15.0 #17
] }
coordIndex [
7,8,9,10,2,1,5,6, -1
]
}
}

regards
rolf
Reply With Quote
  #2  
Old 04-09-2008, 11:48 AM
Joerg Scheurich aka MUFTI
Guest
 
Default Re: IndexedFaceSet with unwanted faces

> I try to describe a face in form of a turned "U", no donut, no
> selfintersection.
> I believe that my description meet the standart....but at the empty
> area there's a doublesided face...which isn't described?


This IndexedFaceSet conforms to the standard, cause it is convex and
has the convex field set.

> I try to view that in whitedune either with vrml97 loader from
> sun.java3d both show that unwanted polygone,


White_dune does not support the correct rendering of convex polygons yet 8-(

http://vrml.cip.ica.uni-stuttgart.de...n.html#fenster

| Correct and false image of a IndexedFaceSet with nonconvex polygons
| with "convex false" in FreeWRL (left) and white_dune (right)

> Has anybody an idea how to order the faseSet correct, without
> splitting in two polygones(faces)?


As far as i know, it is impossible to convert a convex polygon into a non
convex polygon without splitting it in more than one polygon.

The easiest method to render convex polygons e.g. with OpenGL is to
triangulate IndexedFaceSets with the convex field set before rendering
at the runtime of the browser.

Newer versions of white_dune have a Menupoint

Actions -> (IndexedFace)Set -> Triangulate

that would "repair" the IndexedFaceSet by converting the polygon into
into 6 non convex polygons. All 6 polygons would be in the same
IndexedFaceSet, but do not match your requirement "without splitting in
two polygones(faces)".

so long
MUFTI
--
Anwendungen das "Vista" Certified for Windows-Logo von verdient haben
Microsoft Corporation Fenster leben OneCare Family Sicherheit 1.1.2397
Artikel-ID:933305 Version:1.2
Reply With Quote
  #3  
Old 04-10-2008, 02:32 AM
gmrolf
Guest
 
Default Re: IndexedFaceSet with unwanted faces

Hi,
> As far as i know, it is impossible to convert a convex polygon into a non
> convex polygon without splitting it in more than one polygon.
>
> The easiest method to render convex polygons e.g. with OpenGL is to
> triangulate IndexedFaceSets with the convex field set before rendering
> at the runtime of the browser.


hmm...you mean typing...
convex TRUE
coord USE Coord_Wand
coordIndex[ 1,5,2, -1,
5,6,2,-1,
6,10,2,-1,
6,7,10,-1,
7,9,10,-1
8,9,7,-1
]

wouldn't this cause many software to interpret that as single
triangles, so e.g. texturing could be a problem???
or interpreting common products the complete shape, so that the above
described way is the better solution?
regrads
rolf
Reply With Quote
  #4  
Old 04-10-2008, 03:37 AM
Joerg Scheurich aka MUFTI
Guest
 
Default Re: IndexedFaceSet with unwanted faces

> > I try to describe a face in form of a turned "U", no donut, no
> > selfintersection.
> > I believe that my description meet the standart....but at the empty
> > area there's a doublesided face...which isn't described?


> This IndexedFaceSet conforms to the standard, cause it is convex and
> has the convex field set.


Sorry, i confused "convex" and "not convex" 8-(

In the last message, replace "convex" with "not convex". You may also need
to negate the conclusion.

E.g. This IndexedFaceSet do NOT conform to the standard, cause it is NOT
convex and has the convex field set.

sorry
so long
MUFTI
--
640 Kbyte sind genug
(William Henry Gates III)
Reply With Quote
  #5  
Old 04-10-2008, 03:49 AM
Joerg Scheurich aka MUFTI
Guest
 
Default Re: IndexedFaceSet with unwanted faces

> > As far as i know, it is impossible to convert a convex polygon into a non
> > convex polygon without splitting it in more than one polygon.


Should be:

As far as i know, it is impossible to convert a not convex polygon into a
convex polygon without splitting it in more than one polygon.

> hmm...you mean typing...
> convex TRUE
> coord USE Coord_Wand
> coordIndex[ 1,5,2, -1,
> 5,6,2,-1,
> 6,10,2,-1,
> 6,7,10,-1,
> 7,9,10,-1
> 8,9,7,-1
> ]


> wouldn't this cause many software to interpret that as single
> triangles, so e.g. texturing could be a problem???


Not really true for most VRML aware software, cause this coordIndex do not
discribe independend triangles, cause some indices are repeated.
E.g. Index 6 or Index 10 are repeated 3 times, which means that vertex
number 6 or vertex number 10 are connected to 3 triangles.

> interpreting common products the complete shape, so that the above
> described way is the better solution?


You have either the choice to set "convex FALSE", cause common products
should be able to handle non convex polygons correctly or can use
"convex TRUE" with a triangulated shape.

so long
MUFTI
--
640 Kbyte sind genug
(William Henry Gates III)
Reply With Quote
  #6  
Old 04-10-2008, 07:00 AM
gmrolf
Guest
 
Default Re: IndexedFaceSet with unwanted faces

LOL,
now I am confused....
you meant the second posted shape, which did not fit the standard -
or?
the first has convex as TRUE for default so n o need for typing there

anyway thing is, that I search for a structure which will be able to
save more complex geometry and appearance in a common and so simple as
possible way.
It should be possible to describe Polygones in U Formes and so far.

Also it should be supported by so many Importers as possible and easy
to handle,
so no triangulated faces after importing, which make texturing
incredibble.
And it should be ONE Geometric structure (no further Extrusion or
other geometrynodes)

I believed that IndexedFaceSet should be the easiest and got a wide
support.

what you think about it?
greets
rolf
Reply With Quote
  #7  
Old 04-10-2008, 09:17 AM
Joerg Scheurich aka MUFTI
Guest
 
Default Re: IndexedFaceSet with unwanted faces

> LOL,
> now I am confused....


Sorry for the confusion, i accidently mistaked "convex" for "non convex" 8-(

> you meant the second posted shape, which did not fit the standard -
> or?
> the first has convex as TRUE for default so n o need for typing there


The VRML shape with

IndexedFaceSet {
....
coordIndex [
7,8,9,10,2,1,5,6, -1
]
}
...

did not conform to the VRML97 standard, cause the shape is a non convex
shape, therefore you need to use

IndexedFaceSet {
convex FALSE
....
coordIndex [
7,8,9,10,2,1,5,6, -1
]
}
...


http://www.web3d.org/x3d/specificati...pts.html#4.6.3

| 4.6.3.4 Shape hint fields
....
| The convex field indicates whether all polygons in the shape are
| convex (TRUE). A polygon is convex if it is planar, does not intersect
| itself, and all of the interior angles at its vertices are less than
| 180 degrees.

Your "U"-Shape has interior angles of 270 degress (not less than 180 degrees),
therefore you need "convex FALSE".

> anyway thing is, that I search for a structure which will be able to
> save more complex geometry and appearance in a common and so simple as
> possible way.
> It should be possible to describe Polygones in U Formes and so far.


It is possible to describe Polygones in U Formes, but for shapes with
non convex polygons you need to set "convex FALSE".

> Also it should be supported by so many Importers as possible and easy
> to handle,


The ignore of the convex field in white_dune is a documented error.
This error should be fixed, but unfortunatly, noone has 25 hours a day 8-(

> so no triangulated faces after importing, which make texturing
> incredibble.


I do not understand this point. The texturing of a IndexedFaceSet is based
on the bounding box of the IndexedFaceSet, regardless, is the IndexedFaceSet
is made of one complex polygon or multiple triangles. See

http://www.web3d.org/x3d/specificati...tml#Figure6.10

> And it should be ONE Geometric structure (no further Extrusion or
> other geometrynodes)


Currently, more and more Geometric structures have been added to X3D:
TriangleSet, TriangleFanSet, TriangleStripSet, IndexedTriangleSet,
IndexedTriangleFanSet, IndexedTriangleStripSet in X3D:2004,
QuadSet and IndexedQuadSet are in the X3D:2008 draft...

> I believed that IndexedFaceSet should be the easiest and got a wide
> support.


In fact IndexedFaceSet is not really easy:

A shape with

geometry IndexedFaceSet
{
coord Coordinate
{
point
[
-1 -1 -1
-1 1 0
1 1 0
1 -1 0
]
}
coordIndex
[
0 1 2 3 -1
]

is undefined, cause

http://www.web3d.org/x3d/specificati...pts.html#4.6.3

| 4.6.3.4 Shape hint fields

| Non-planar and self-intersecting polygons may produce undefined results
| even if the convex field is FALSE.

this polygon is not planar, this geometry can be legally displayed as
as box, shoe, warning text, whatever 8-)
Triangulated polygons are always planar....

> what you think about it?


In fact, there are good reasons for more shapes then only IndexedFaceSet.

For example, TriangleStripSets can be rendered remarkable faster than
IndexedFaceSets.

NURBS geometries reduce the amount of data drastically, and remember,
X3D is about Web3D and the first "l" on the internet (before/in 1974)
run through a telefon modem that is compareable in speed with a telefon
modem still in use by some people.

If you would ask me, if i would make superformula based shapes (very
complex shapes that can be constructed on the base of only 20 numbers,
see http://129.69.35.12/dune/docs/usage_...upershapes.jpg) part of
X3D, i would vote for "yes" 8-)

so long
MUFTI
--
640 Kbyte sind genug
(William Henry Gates III)
Reply With Quote
  #8  
Old 04-10-2008, 11:34 AM
gmrolf
Guest
 
Default Re: IndexedFaceSet with unwanted faces

> Sorry for the confusion, i accidently mistaked "convex" for "non convex" 8-(

our physics prof told us " der Bauch vom Direx is konvex ",
thats what I stumbeld over an get confused....
yep I'd described a concarve polygone

>
> IndexedFaceSet {
> ....
> coordIndex [
> 7,8,9,10,2,1,5,6, -1
> ]
> }
> ...
>
> did not conform to the VRML97 standard, cause the shape is a non convex
> shape, therefore you need to use
>
> IndexedFaceSet {
> convex FALSE
> ....
> coordIndex [
> 7,8,9,10,2,1,5,6, -1
> ]
> }
> ...
>
> http://www.web3d.org/x3d/specificati...772-VRML97/par...



OK best thanks!


>
> Your "U"-Shape has interior angles of 270 degress (not less than 180 degrees),
> therefore you need "convex FALSE".


thanks also


>
> > Also it should be supported by so many Importers as possible and easy
> > to handle,

>
> The ignore of the convex field in white_dune is a documented error.
> This error should be fixed, but unfortunatly, noone has 25 hours a day 8-(


a well known problem but not only white dune has to support that
description
of the geometry also 3ds max, cinema4d and so far


>
> > so no triangulated faces after importing, which make texturing
> > incredibble.

>
> I do not understand this point. The texturing of a IndexedFaceSet is based
> on the bounding box of the IndexedFaceSet, regardless, is the IndexedFaceSet
> is made of one complex polygon or multiple triangles. See
>
> http://www.web3d.org/x3d/specificati...772-VRML97/par...


hmmm OK....this was a third hand info that sometimes importes do
triangulate
any shape into triangles.....that description is more then I thought
it has to be...
so seem no Problem at this point....only those importers



>
> > And it should be ONE Geometric structure (no further Extrusion or
> > other geometrynodes)

>
> Currently, more and more Geometric structures have been added to X3D:
> TriangleSet, TriangleFanSet, TriangleStripSet, IndexedTriangleSet,
> IndexedTriangleFanSet, IndexedTriangleStripSet in X3D:2004,
> QuadSet and IndexedQuadSet are in the X3D:2008 draft...



yep I realized that x3d is growing and getting faster.....but
we need something well prooved, whoich is directly readable from c4d
and/or 3dsMax,
so x3d isn't at the time (afaik) I got c4d V8 and 3dsmax r8 (...)

>
> > I believed that IndexedFaceSet should be the easiest and got a wide
> > support.

>
> In fact IndexedFaceSet is not really easy:
>
> A shape with
>
> geometry IndexedFaceSet
> {
> coord Coordinate
> {
> point
> [
> -1 -1 -1
> -1 1 0
> 1 1 0
> 1 -1 0
> ]
> }
> coordIndex
> [
> 0 1 2 3 -1
> ]
>
> is undefined, cause
>
> http://www.web3d.org/x3d/specificati...772-VRML97/par...



this I'd recogniced! we got the goal to get all polygones planar so
this shouldn't
happens.
Anway proble is convertinmg such files witout reorganisations, cause
some
converter got that precission troubbles and add or subtract 0.000001
from the given value....
thsi could lead in Trouble...but
for storing the data it should be a propper way in my eyes

>
> In fact, there are good reasons for more shapes then only IndexedFaceSet.
>
> For example, TriangleStripSets can be rendered remarkable faster than
> IndexedFaceSets.


yepp well known from j3d where they're also the fastest
geometrynode...
but I did not found them in the vrml spec...should be x3d - or?
x3d is also an option, but afaik not a wide supported standart at this
time...
independent if it is xtremly nice or not....

>
> NURBS geometries reduce the amount of data drastically, and remember,
> X3D is about Web3D and the first "l" on the internet (before/in 1974)
> run through a telefon modem that is compareable in speed with a telefon
> modem still in use by some people.
>
> If you would ask me, if i would make superformula based shapes (very
> complex shapes that can be constructed on the base of only 20 numbers,
> seehttp://129.69.35.12/dune/docs/usage_docs/supershapes.jpg) part of
> X3D, i would vote for "yes" 8-)



mjamm - for such geometries will be a nice one...anyway we have to
store many buildings in the simplest
and correct possible way.
so I think that the given method should be the best supported and if
all FacesSets are coplanar and not
intersecting itself it
will be the easiest way....maybe added wioth some cylinders, connes
and so far.

So most software would be possible to import it...also would be
readable when vrml is digged by x3d or the following spec in 20 years
or something


best thanks and regards
rolf

>
> so long
> MUFTI
> --
> 640 Kbyte sind genug
> (William Henry Gates III)


Reply With Quote
  #9  
Old 04-10-2008, 05:08 PM
Joerg Scheurich aka MUFTI
Guest
 
Default Re: IndexedFaceSet with unwanted faces

> > > so no triangulated faces after importing, which make texturing
> > > incredibble.

> >
> > I do not understand this point. The texturing of a IndexedFaceSet is based
> > on the bounding box of the IndexedFaceSet, regardless, is the IndexedFaceSet
> > is made of one complex polygon or multiple triangles. See
> >
> > http://www.web3d.org/x3d/specificati...772-VRML97/par...


> hmmm OK....this was a third hand info that sometimes importes do
> triangulate
> any shape into triangles.....that description is more then I thought
> it has to be...
> so seem no Problem at this point....only those importers


Or exporters. If your C4D/3DMax exporter stores each triangle in a
own IndexedFaceSet after a C4D/3DMax triangulation/export to VRML97,
you will get really in trouble with textures 8-(
E.g. formZ is known to export zillions of IndexedFaceSet with one triangle
each under some circumstances 8-(

> So most software would be possible to import it...also would be
> readable when vrml is digged by x3d or the following spec in 20 years
> or something


Well, the plan is to export pure VRML97 data from X3D(V) files.
white_dune can do this via "File -> Export as ...-> Export to pure VRML97"
for some VRML97 Amendment 1 NURBS shapes and some X3DV shapes, but remember
the 25 hours per day problem 8-(

so long
MUFTI
--
Die mischende und konvert Geschwindigkeit ist extrem schnell und
die Ausgangs wav akte hat CD Qualität(44100Hz, 16Bits, Stereo)."
Aus einer Programmbeschreibung
Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 03:17 PM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.