3d对象被映射到2d,容器:viewport3D。
3d对象通过viewport3d容器可以和普通控件共存,而普通对象不能进入viewport3d.
3d坐标y朝上, z朝用户,2dy朝下。
相机(用户视角):
1. PerspectiveCamera 正常相机 OrthographicCamera(没远近相机?)
1. 一个Position和一个LookDirection点决定方向, FieldOfView仰角
2. NearPlaneDistance/FarPlaneDistance 决定取景范围, 太近和太远的物体被忽略
GeometryModel3D:几何模型
Positions: 顶点描述 描述模型所有的点
TriangleIndices: 三角形顶点索引。(哪些点组成一个小的三角形,索引为Positions的索引)
Normals:
TextureCoordinates:
材料:
DiffuseMaterial : 有颜色,不反光
SpecularMaterial:镜面,反光,不发光。SpecularPower反光强度
EmissiveMaterial: 发光。
灯光:(属于Model3D对象,可以动画,改变位置、颜色、方向等)
AmbientLight: 环境光线。均匀照亮每个角落
DirectionalLight: 平行面光源,只有Direction属性。
PointLight: 点光源,有位置,无方向,可定义衰减。
SpotLight: 锥光源,继承于点光源。InnerConeAngle/ OuterConeAngle
概念和directx一致,以前看过mdx,虽说是managed, api基本上是原来的照搬,很多概念看的一头雾水。coding起来也费时费力。wpf里面简化了很多。
3d对象通过viewport3d容器可以和普通控件共存,而普通对象不能进入viewport3d.
3d坐标y朝上, z朝用户,2dy朝下。
相机(用户视角):
1. PerspectiveCamera 正常相机 OrthographicCamera(没远近相机?)
1. 一个Position和一个LookDirection点决定方向, FieldOfView仰角
2. NearPlaneDistance/
TriangleIndices: 三角形顶点索引。(哪些点组成一个小的三角形,索引为Positions的索引)
Normals:
TextureCoordinates:
材料:
DiffuseMaterial : 有颜色,不反光
SpecularMaterial:镜面,反光,不发光。SpecularPower反光强度
EmissiveMaterial: 发光。
灯光:(属于Model3D对象,可以动画,改变位置、颜色、方向等)
AmbientLight: 环境光线。均匀照亮每个角落
DirectionalLight: 平行面光源,只有Direction属性。
PointLight: 点光源,有位置,无方向,可定义衰减。
SpotLight: 锥光源,继承于点光源。
概念和directx一致,以前看过mdx,虽说是managed, api基本上是原来的照搬,很多概念看的一头雾水。coding起来也费时费力。wpf里面简化了很多。