抽象類, 用于定義物體的幾何資料, 可用于計算HitTest和BoundingBox
Geometry3D的子類, 定義網格的頂點, 三角形頂點, 法線, Texture(紋理)的座标
常用屬性: Positions, TriangleIndices, Noramls, TextureCoordinates
抽象類, 表示一個3D模型, 子類有: Light, GeometryModel3D, Model3DGroup
Model3D的子類, 不僅包含了物體的幾何資料Geometry, 還包含了物體的材質Matrial, 變形Transform
<GeometryModel3D Geometry="{StaticResource myTeapot}">
<GeometryModel3D.Material>
<DiffuseMaterial>
<DiffuseMaterial.Brush>
<SolidColorBrush Color="Blue" Opacity="1.0" /></DiffuseMaterial.Brush>
</DiffuseMaterial>
</GeometryModel3D.Material>
<GeometryModel3D.Transform>
<RotateTransform3D>
<RotateTransform3D.Rotation>
<AxisAngleRotation3D x:Name="myAngleRotation" Axis="0,3,0" Angle="1" />
</RotateTransform3D.Rotation>
</RotateTransform3D>
</GeometryModel3D.Transform>
</GeometryModel3D>
----------------------------------------------------------------------
多個GeometryModel3D的執行個體可以共享一個Geometry3D的執行個體, 隻需設定不通的Material, Transform就可以呈現出不同的物體.

Visual的職責是:
Output display
Transformations
Hittesting
Clipping
Bounding box calculations
沒有的功能包括:
Event handling
Layout
Styles
Data binding
Globalization
抽象類, Viewport3D.Children就是Visual3D對象的集合
Visual3D類有一個屬性Visual3DModel, 該屬性的類型是Model3D
class Visual3D
{
Model3D Visual3DModel { get;set; }
}
Visual3D的子類, 增加了Content, Children等屬性
容易混淆的名字 : Visual3D, ModelVisual3D, Model3D, Visual3DModel(屬性名)
負責渲染3D對象, HitTest, 大緻由Camera + 一組ModelVisual3D對象(Lights + 多個GeometryModel3D對象)
用于把一個2D對象,比如Button, TextBlock放在一個3D物體上
把一組3D對象繪制在2D對象上
UIElement3D
ModelUIElement3D : 和ModelVisual3D類似, 但支援事件
ContainerUIElement3D : 一組ModelUIElement3D的集合, 但不表現自己