Вы пытались использовать VisualBrush в качестве материала для каждого GeometryModel3D?
Примерно так:
<GeometryModel3D>
<GeometryModel3D.Geometry>
<MeshGeometry3D Positions="0,0,0 1,0,0 1,1,0 0,1,0" TriangleIndices="0,1,2 2,3,0" />
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<VisualBrush ...>
<VisualBrush.Visual>
<TextBlock Text="Some text here" />
</VisualBrush.Visual>
</VisualBrush>
</GeometryModel3D.Material>
</GeometryModel3D>