Bitmasks for Specifying Tessellation Types
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.
2.0
Index
Preprocessor Definitions
kA3DTessFaceDataPolyfacekA3DTessFaceDataTrianglekA3DTessFaceDataTriangleFankA3DTessFaceDataTriangleStripekA3DTessFaceDataPolyfaceOneNormalkA3DTessFaceDataTriangleOneNormalkA3DTessFaceDataTriangleFanOneNormalkA3DTessFaceDataTriangleStripeOneNormalkA3DTessFaceDataPolyfaceTexturedkA3DTessFaceDataTriangleTexturedkA3DTessFaceDataTriangleFanTexturedkA3DTessFaceDataTriangleStripeTexturedkA3DTessFaceDataPolyfaceOneNormalTexturedkA3DTessFaceDataTriangleOneNormalTexturedkA3DTessFaceDataTriangleFanOneNormalTexturedkA3DTessFaceDataTriangleStripeOneNormalTextured
Preprocessor Definitions
-
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.
{ Normal1, Point1, Normal2, Point2, ..., ..., NormalN, PointN }
The layout consists in
2*Nindices whereNis the number of points. Each vertex is described as a{Normal, Point}pair.
-
kA3DTessFaceDataTriangleStripe Triangle strip.
{ Normal1, Point1, Normal2, Point2, ..., ..., NormalN, PointN }
The layout consists in
2*Nindices whereNis the number of points. Each vertex is described as a{Normal, Point}pair.
-
kA3DTessFaceDataPolyfaceOneNormal Reserved for future use.
-
kA3DTessFaceDataTriangleOneNormal Unique triangle with one normal.
{ Normal, Point1, Point2, Point3 }
Unique triangle with one normal. It is described using 4 indices:
-
kA3DTessFaceDataTriangleFanOneNormal Triangle fan where the normal is defined either globally or per-point.
{ Normal, Point1, Point2, ..., PointN }
The normal is globally defined if
kA3DTessFaceDataNormalSingleflag is set. In that case the layout consists inN+1indices, where N is the number of points: If not set, the normal indices are set per-point. The layout is the same askA3DTessFaceDataTriangleFan.
-
kA3DTessFaceDataTriangleStripeOneNormal Triangle strip where the normal is defined either globally or per-point.
{ Normal, Point1, Point2, ..., PointN }
The normal is globally defined if
kA3DTessFaceDataNormalSingleflag is set. In that case the layout consists inN+1indices, where N is the number of points: If not set, the normal indices are set per-point. The layout is the same askA3DTessFaceDataTriangleStripe.
-
kA3DTessFaceDataPolyfaceTextured Reserved for future use.
-
kA3DTessFaceDataTriangleTextured Unique triangle with texture coordinates.
This layout is similar to
kA3DTessFaceDataTrianglewith 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 to6 + 3 * m_uiTextureCoordIndexesSize.{ Normal1, Texture1-1, Texture1-2, Point1, Normal2, Texture2-1, Texture2-2, Point2, Normal3, Texture3-1, Texture3-2, Point3, }
For example, if there are two texture indices per point, the layout will be a 12 wide array:
-
kA3DTessFaceDataTriangleFanTextured Triangle fan with texture coordinates.
This layout is similar to
kA3DTessFaceDataTriangleFanwith 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 toN * (m_uiTextureCoordIndexesSize + 2)whereNis the number of points.{ 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 }
For example, if there are two texture indices per point and two triangles (6 points), the layout will be a 24 wide array:
-
kA3DTessFaceDataTriangleStripeTextured Triangle strip with texture coordinates.
This layout is similar to
kA3DTessFaceDataTriangleStripewith 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 toN * (m_uiTextureCoordIndexesSize + 2)whereNis the number of points.{ 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 }
For example, if there are two texture indices per point and two triangles (6 points), the layout will be a 24 wide array:
-
kA3DTessFaceDataPolyfaceOneNormalTextured Reserved for future use.
-
kA3DTessFaceDataTriangleOneNormalTextured Unique triangle with texture coordinates and a globally defined normal.
This layout is similar to
kA3DTessFaceDataTriangleOneNormalwith 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 to4 + 3 * m_uiTextureCoordIndexesSize.{ Normal Texture1-1, Texture1-2, Point1, Texture2-1, Texture2-2, Point2, Texture3-1, Texture3-2, Point3, }
For example, if there are two texture indices per point, the layout will be a 12 wide array:
-
kA3DTessFaceDataTriangleFanOneNormalTextured Triangle fan with texture coordinates where the normal is defined either globally or per-point.
This layout is similar to
kA3DTessFaceDataTriangleFanOneNormalwith the addition of texture coordinates indices before the point index.The normal is globally defined if
kA3DTessFaceDataNormalSingleflag 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 toN * (m_uiTextureCoordIndexesSize + 1)whereNis the number of points.{ 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 }
For example, if there are two texture indices per point and two triangles (6 points), the layout will be a 24 wide array: If
kA3DTessFaceDataNormalSingleis not set, the layout is the same askA3DTessFaceDataTriangleFanTextured.
-
kA3DTessFaceDataTriangleStripeOneNormalTextured Triangle strip with texture coordinates where the normal is defined either globally or per-point.
This layout is similar to
kA3DTessFaceDataTriangleStripeOneNormalwith the addition of texture coordinates indices before the point index.The normal is globally defined if
kA3DTessFaceDataNormalSingleflag 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 toN * (m_uiTextureCoordIndexesSize + 1)whereNis the number of points.{ 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 }
For example, if there are two texture indices per point and two triangles (6 points), the layout will be a 24 wide array: If
kA3DTessFaceDataNormalSingleis not set, the layout is the same askA3DTessFaceDataTriangleStripeTextured.