Specifies the positions, normals, colors, and uv coordinates for polygon vertices by indexing into the SI_Shape template that defines the mesh.
![]()
|
This template corresponds to the CSLPolygonList class. |
2.0
This template changed between version 3.0 and 3.5. In v3.0, the template consisted of the number of UV indices and then the indices. In v3.5 and beyond, the template now contains the number of indices, UV space ("Texture_Projection"), and then the indices.
Version 3.0 and before
SI_PolygonList { <nbPolygons>, <elements> <nbTotalVertices> <nbVertices[0]> // Number of vertices in polygon 0 ... // Number of vertices in polygons 1, 2, ... // Indices for polygon vertex positions <v0>, <v1>, ..., <vnbVertices[0]-1> // polygon 0 ... // polygons 1, 2, ... // indices for polygon vertex normals <n0>, <n1>, ..., <nnbVertices[0]-1> // polygon 0 ... // polygons 1, 2, ... // indices for polygon vertex colors <c0>, <c1>, ..., <cnbVertices[0]-1>, // polygon 0 ... // polygons 1, 2, ... }
Version 3.5 and after
SI_PolygonList { <nbPolygons>, <elements> <material> <nbTotalVertices> <nbVertices[0]> // Number of vertices in polygon 0 ... // Number of vertices in polygons 1, 2, ... // Indices for polygon vertex positions <v0>, <v1>, ..., <vnbVertices[0]-1> // polygon 0 ... // polygons 1, 2, ... // indices for polygon vertex normals <n0>, <n1>, ..., <nnbVertices[0]-1> // polygon 0 ... // polygons 1, 2, ... // indices for polygon vertex colors <c0>, <c1>, ..., <cnbVertices[0]-1>, // polygon 0 ... // polygons 1, 2, ... // indices for polygon vertex uv coords <uv0>, <uv1>, ..., <uvnbVertices[0]-1>, // polygon 0 ... // polygons 1, 2, ... }
|
Member |
Type |
Description |
|
nbPolygons |
int |
Number of polygons in the mesh |
|
elements |
char * |
Specifies what information is stored in the template. Can be one or more of the following: • NORMAL = Template contains Normals information (see ni below). • COLOR = Template contains Color information (see ci below). • TEX_COORD_UV# = Template contains texture UV coordinates information (see uvi below). The number sign (#) represents the number of the texture UV coordinates starting at 0. Note: The TEX_COORD_UV# element is only available in v3.5 and beyond. If more than one of these is present, use a vertical bar to separate the strings (for example, "NORMAL|COLOR|TEX_COORD_UV0|TEX_COORD_UV1"). Note: Vertex positions are always present in a SI_PolygonList template (see vi below). |
|
material |
char * |
Name of the material. Note: This is only available in v3.5 and beyond. |
|
nbTotalVertices |
int |
Number of vertices in total for this mesh object. |
|
nbVertices |
int |
Number of vertices for a specific polygon in the mesh. |
|
vi |
int |
Index of a vertex position in the POSITIONS section of the SI_Shape template for the mesh. |
|
ni |
int |
Index of a normal in the NORMAL section of the SI_Shape template for the mesh. |
|
ci |
int |
Index of a color in the COLOR section of the SI_Shape template for the mesh. |
|
uvi |
int |
Index of a UV coordinate in the TEX_COORD_UV section of the SI_Shape template for the mesh. Note: The uvi element is only available in v3.5 and beyond. |
SI_Model MDL-cube2 {
SI_Transform SRT-cube2
{
1.0,1.0,1.0,
0.0,0.0,0.0,
0.0,0.0,0.0,
}
SI_Mesh MSH-cube2
{
SI_Shape SHP-cube2-ORG
{
2,
"ORDERED",
8,
"POSITION",
-0.5,-0.5,-0.5, // vertex[0]
-0.5,-0.5,0.5, // vertex[1]
-0.5,0.5,-0.5, // vertex[2]
-0.5,0.5,0.5, // vertex[3]
0.5,-0.5,-0.5, // vertex[4]
0.5,-0.5,0.5, // vertex[5]
0.5,0.5,-0.5, // vertex[6]
0.5,0.5,0.5, // vertex[7]
6,
"NORMAL",
-1.0,0.0,0.0, // normal[0]
0.0,0.0,-1.0, // normal[1]
0.0,-1.0,0.0, // normal[2]
0.0,0.0,1.0, // normal[3]
0.0,1.0,0.0, // normal[4]
1.0,0.0,0.0, // normal[5]
}
SI_PolygonList
{
6, // 6 polygons
"NORMAL",
"MAT_SURFACE-TERRACOTTA001.1-1",
24, // 24 vertices
4, // Each polygon in the cube has 4 vertices
4,
4,
4,
4,
4,
// Indices of the vertices in the POSITION section of the SI_Shape template
0,1,3,2, // polygon[0]
1,5,7,3,
5,4,6,7,
4,0,2,6,
4,5,1,0,
2,3,7,6, // polygon[5]
// Indices of the normals in the NORMAL section of the SI_Shape template
0,0,0,0, // polygon[0]
3,3,3,3,
5,5,5,5,
1,1,1,1,
2,2,2,2,
4,4,4,4, // polygon[5]
}
}
}
Autodesk Crosswalk v4.0