I think you are right. In DX7, you draw the vertices from a vertex buffer, that is an array of triangles&vertices. First, you select the material, (with the SetMaterial command) and then you draw the triangles to the screen that use this material.
So I think that the actual mesh data is stored in the surfaces. This would explain for example why the VertexX/Y/Z commands need a 'surface' parameter.
The Entity structure holds all the data, such as the transformation matrix (=entity position/rotation/scale), the surfaces and the child entities.
Just before the mesh data is drawn to the screen, the data is transformed by the transformation matrix. I think in Blitz, this matrix is represented by the entity.
So I think in Blitz, the 'mesh' is more or less just a concept used for operations that ignore the tform matrix. Because LoadMesh doesn't load Entity position/scale/rotation, the command is named LoadMesh to avoid confusion. It only loads mesh data and returns an entity handle. And however the LoadAnimMesh command does load transformations (as animation frames) the entity itself is still located at 0,0,0 and not rotated or scaled when it is loaded.
So I think that the actual mesh data is stored in the surfaces. This would explain for example why the VertexX/Y/Z commands need a 'surface' parameter.
The Entity structure holds all the data, such as the transformation matrix (=entity position/rotation/scale), the surfaces and the child entities.
Just before the mesh data is drawn to the screen, the data is transformed by the transformation matrix. I think in Blitz, this matrix is represented by the entity.
So I think in Blitz, the 'mesh' is more or less just a concept used for operations that ignore the tform matrix. Because LoadMesh doesn't load Entity position/scale/rotation, the command is named LoadMesh to avoid confusion. It only loads mesh data and returns an entity handle. And however the LoadAnimMesh command does load transformations (as animation frames) the entity itself is still located at 0,0,0 and not rotated or scaled when it is loaded.