Bitmasks for Specifying Tessellation Types
Macro Definitions
Detailed Description
- group a3d_tessfacetype
 Bitmasks for specifying a type of tessellation face data.
These flags controls the way the vertex coordinates are indexed in a A3DTessFaceData instance. It’s specified in the A3DTessFaceData::m_usUsedEntitiesFlags member.
- Version
 2.0
Macro Definition
- 
kA3DTessFaceDataPolyface
 Reserved for future use.
- 
kA3DTessFaceDataTriangle
 Unique triangle.
One triangle described using
6indexes forming3`{Normal, Point} pairs: { Normal1, Point1, Normal2, Point2, Normal3, Point3 }
- 
kA3DTessFaceDataTriangleFan
 Triangle fan.
The layout consists in
2*Nindices whereNis the number of points. Each vertex is described as a{Normal, Point}pair.{ Normal1, Point1, Normal2, Point2, ..., ..., NormalN, PointN }
- 
kA3DTessFaceDataTriangleStripe
 Triangle strip.
The layout consists in
2*Nindices whereNis the number of points. Each vertex is described as a{Normal, Point}pair.{ Normal1, Point1, Normal2, Point2, ..., ..., NormalN, PointN }
- 
kA3DTessFaceDataPolyfaceOneNormal
 Reserved for future use.
- 
kA3DTessFaceDataTriangleOneNormal
 Unique triangle with one normal.
Unique triangle with one normal. It is described using 4 indices:
{ Normal, Point1, Point2, Point3 }
- 
kA3DTessFaceDataTriangleFanOneNormal
 Triangle fan where the normal is defined either globally or per-point.
The normal is globally defined if kA3DTessFaceDataNormalSingle flag is set. In that case the layout consists in
N+1indices, where N is the number of points:If not set, the normal indices are set per-point. The layout is the same as kA3DTessFaceDataTriangleFan.{ Normal, Point1, Point2, ..., PointN }
- 
kA3DTessFaceDataTriangleStripeOneNormal
 Triangle strip where the normal is defined either globally or per-point.
The normal is globally defined if kA3DTessFaceDataNormalSingle flag is set. In that case the layout consists in
N+1indices, where N is the number of points:If not set, the normal indices are set per-point. The layout is the same as kA3DTessFaceDataTriangleFan.{ Normal, Point1, Point2, ..., PointN }
- 
kA3DTessFaceDataPolyfaceTextured
 Reserved for future use.
- 
kA3DTessFaceDataTriangleTextured
 Unique triangle with texture coordinates.
This layout is similar to kA3DTessFaceDataTriangle with the addition of texture coordinates indices before the point index. Each point is then described using the following layout:
{Normal, Textures..., Point}, whereTextures...is the list of texture indices.The number of texture indices per point is given by A3DTessFaceData::m_uiTextureCoordIndexesSize. Thus the number of indices in the element array is equal to
6 + 3 * m_uiTextureCoordIndexesSize.For example, if there are two texture indices per point, the layout will be a 12 wide array:
{ Normal1, Texture1-1, Texture1-2, Point1, Normal2, Texture2-1, Texture2-2, Point2, Normal3, Texture3-1, Texture3-2, Point3, }
- 
kA3DTessFaceDataTriangleFanTextured
 Triangle fan with texture coordinates.
This layout is similar to kA3DTessFaceDataTriangleFan with the addition of texture coordinates indices before the point index. Each point is then described using the following layout:
{Normal, Textures..., Point}, whereTextures...is the list of texture indices.The number of texture indices per point is given by A3DTessFaceData::m_uiTextureCoordIndexesSize. Thus the number of indices in the element array is equal to
N * (m_uiTextureCoordIndexesSize + 2)whereNis the number of points.For example, if there are two texture indices per point and two triangles (6 points), the layout will be a 24 wide array:
{ Normal1, Texture1-1, Texture1-2, Point1, Normal2, Texture2-1, Texture2-2, Point2, Normal3, Texture3-1, Texture3-2, Point3, Normal4, Texture4-1, Texture4-2, Point4, Normal5, Texture5-1, Texture5-2, Point5, Normal6, Texture6-1, Texture6-2, Point6 }
- 
kA3DTessFaceDataTriangleStripeTextured
 Triangle strip with texture coordinates.
This layout is similar to kA3DTessFaceDataTriangleStripe with the addition of texture coordinates indices before the point index. Each point is then described using the following layout:
{Normal, Textures..., Point}, whereTextures...is the list of texture indices.The number of texture indices per point is given by A3DTessFaceData::m_uiTextureCoordIndexesSize. Thus the number of indices in the element array is equal to
N * (m_uiTextureCoordIndexesSize + 2)whereNis the number of points.For example, if there are two texture indices per point and two triangles (6 points), the layout will be a 24 wide array:
{ Normal1, Texture1-1, Texture1-2, Point1, Normal2, Texture2-1, Texture2-2, Point2, Normal3, Texture3-1, Texture3-2, Point3, Normal4, Texture4-1, Texture4-2, Point4, Normal5, Texture5-1, Texture5-2, Point5, Normal6, Texture6-1, Texture6-2, Point6 }
- 
kA3DTessFaceDataPolyfaceOneNormalTextured
 Reserved for future use.
- 
kA3DTessFaceDataTriangleOneNormalTextured
 Unique triangle with texture coordinates and a globally defined normal.
This layout is similar to kA3DTessFaceDataTriangleOneNormal with the addition of texture coordinates indices before the point index. The unique normal is defined first. Each point is then described using the following layout:
{Textures..., Point}, whereTextures...is the list of texture indices.The number of texture indices per point is given by A3DTessFaceData::m_uiTextureCoordIndexesSize. Thus the number of indices in the element array is equal to
4 + 3 * m_uiTextureCoordIndexesSize.For example, if there are two texture indices per point, the layout will be a 12 wide array:
{ Normal Texture1-1, Texture1-2, Point1, Texture2-1, Texture2-2, Point2, Texture3-1, Texture3-2, Point3, }
- 
kA3DTessFaceDataTriangleFanOneNormalTextured
 Triangle fan with texture coordinates where the normal is defined either globally or per-point.
This layout is similar to kA3DTessFaceDataTriangleFanOneNormal with the addition of texture coordinates indices before the point index.
The normal is globally defined if kA3DTessFaceDataNormalSingle flag is set. In that case the unique normal is defined first. Each point is then described using the following layout:
{Textures..., Point}, whereTextures...is the list of texture indices.The number of texture indices per point is given by A3DTessFaceData::m_uiTextureCoordIndexesSize. Thus the number of indices in the element array is equal to
N * (m_uiTextureCoordIndexesSize + 1)whereNis the number of points.For example, if there are two texture indices per point and two triangles (6 points), the layout will be a 24 wide array:
If kA3DTessFaceDataNormalSingle is not set, the layout is the same as kA3DTessFaceDataTriangleFanTextured.{ Normal Texture1-1, Texture1-2, Point1, Texture2-1, Texture2-2, Point2, Texture3-1, Texture3-2, Point3, Texture4-1, Texture4-2, Point4, Texture5-1, Texture5-2, Point5, Texture6-1, Texture6-2, Point6 }
- 
kA3DTessFaceDataTriangleStripeOneNormalTextured
 Triangle strip with texture coordinates where the normal is defined either globally or per-point.
This layout is similar to kA3DTessFaceDataTriangleStripeOneNormal with the addition of texture coordinates indices before the point index.
The normal is globally defined if kA3DTessFaceDataNormalSingle flag is set. In that case the unique normal is defined first. Each point is then described using the following layout:
{Textures..., Point}, whereTextures...is the list of texture indices.The number of texture indices per point is given by A3DTessFaceData::m_uiTextureCoordIndexesSize. Thus the number of indices in the element array is equal to
N * (m_uiTextureCoordIndexesSize + 1)whereNis the number of points.For example, if there are two texture indices per point and two triangles (6 points), the layout will be a 24 wide array:
If kA3DTessFaceDataNormalSingle is not set, the layout is the same as kA3DTessFaceDataTriangleStripeTextured.{ Normal Texture1-1, Texture1-2, Point1, Texture2-1, Texture2-2, Point2, Texture3-1, Texture3-2, Point3, Texture4-1, Texture4-2, Point4, Texture5-1, Texture5-2, Point5, Texture6-1, Texture6-2, Point6 }