Зависит от того, какой API вы хотите использовать:
В WPF вы можете сделать это так:
<Viewport3D>
<Viewport3D.Camera>
<PerspectiveCamera Position="-40,40,40" LookDirection="40,-40,-40 "
UpDirection="0,0,1" />
</Viewport3D.Camera>
<ModelVisual3D>
<ModelVisual3D.Content>
<Model3DGroup>
<DirectionalLight Color="White" Direction="-1,-1,-3" />
<GeometryModel3D>
<Model3DGroup.Transform>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<!-- here you do the rotation -->
<AxisAngleRotation3D x:Name="rotation" Axis="0 0 1" Angle="45" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
</Model3DGroup.Transform>
<GeometryModel3D.Geometry>
<MeshGeometry3D Positions="0,0,0 10,0,0 10,10,0 0,10,0 0,0,10
10,0,10 10,10,10 0,10,10"
TriangleIndices="0 1 3 1 2 3 0 4 3 4 7 3 4 6 7 4 5 6
0 4 1 1 4 5 1 2 6 6 5 1 2 3 7 7 6 2"/>
</GeometryModel3D.Geometry>
<GeometryModel3D.Material>
<DiffuseMaterial Brush="Red"/>
</GeometryModel3D.Material>
</GeometryModel3D>
</Model3DGroup>
</ModelVisual3D.Content>
</ModelVisual3D>
</Viewport3D>
Или в коде c #:
this.rotation.Angle = 90;
Если вы используете XNA, вы бы использовали что-то вроде Matrix.CreateRotationY и применили бы это к вашему ModelMesh экземпляру.
Конечно, есть множество сторонних движков и API, которые вы можете использовать. Интересным выбором может быть SlimDX , который представляет собой тонкую оболочку вокруг Direct3D, вроде Managed DirectX, когда-то был.