> when you texture a quad, (in the general case where the section of the
> texture and the face are different shapes), it seems to me that there are
> two ways to do it, one for each of the two ways the quad might be split
> into triangles,
The rules to generate texture coordinates for a shape are not ambiguous
http://web3d.org/x3d/specifications/vrml/ISO-IEC-14772-VRML97/part1/nodesRef.html#IndexedFaceSet
see Figure 6.10
> splitting into triangles being necessary, i think, to be able to interpolate
> every point into the texture)
TextureCoordinate define the assignment of edgepoints and texture points,
why do you need a triangle ?
Please try to demonstrate your problem with a VRML file similar
to the following:
#VRML V2.0 utf8
Transform
{
children
Shape
{
appearance DEF Appearance1 Appearance
{
material Material
{
}
texture PixelTexture
{
image 2 2 3
0x000000ff
0x0000ff00
0x00ff0000
0x00ffff00
}
}
geometry IndexedFaceSet
{
coord DEF Coordinate1 Coordinate
{
point
[
0 0 0
1 0 0
1 1 0
0 1 0
]
}
coordIndex
[
0
1
2
3
]
}
}
}
Transform
{
translation 0.10000000 2 0
children
Shape
{
appearance USE Appearance1
geometry IndexedFaceSet
{
coord USE Coordinate1
coordIndex
[
0
1
2
]
}
}
}
Transform
{
translation -0.10000000 2 0
children
Shape
{
appearance USE Appearance1
geometry IndexedFaceSet
{
coord USE Coordinate1
coordIndex
[
0
2
3
]
}
}
}
Transform
{
translation 0.10000000 -2 0
children
Shape
{
appearance USE Appearance1
geometry IndexedFaceSet
{
coord USE Coordinate1
coordIndex
[
1
2
3
]
}
}
}
Transform
{
translation -0.10000000 -2 0
children
Shape
{
appearance USE Appearance1
geometry IndexedFaceSet
{
coord USE Coordinate1
coordIndex
[
3
0
1
]
}
}
}