Why Not Share the Vertices?

The three XAML files that display a square cuboid all define the six faces of the image independently. This results in a Positions collection that has 24 points rather than just 8 points for the 8 vertices of the figure. Why not just put 8 points in the Positions collection and share the vertices among the faces?

Don't fall into the trap of thinking you'll get better performance with 8 points in the Positions collection rather than 24. The rendering of 3D objects is triangle-driven and not vertex-driven. But let's try it. The following XAML file has only eight points in the Positions collection and defines the TriangleVertices collection appropriately.

Example 1-9. SharedVerticesSquareCuboid.xaml

<!-- ============================================================= ...

Get 3D Programming for Windows® now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.