href="D3D学习.files/filelist.xml" rel="File-List" />
href="D3D学习.files/editdata.mso" rel="Edit-Time-Data" />
href="D3D学习.files/oledata.mso" rel="OLE-Object-Data" />
D3D10 学习
(1) 透视变换
设三角形的坐标为,
,设屏幕的高度和宽度分别为
,
,裁剪平面为
,
,默认的世界坐标系原点为
.不防设变换后的顶点坐标为
图1 透视变换
首先进行平移变换将坐标系原点移动到近裁剪平面的中心,平移矩阵为
透视矩阵,放缩矩阵
由此得到
由此可以得到下面的方程
,
,
,
---------------------(1)
(2)插值方程
设在屏幕空间里三角形内一点
的重心坐标为
,我们知道如果是透视插值,我们插值是在
中插值的,设
,
,
顶点的属性分别为
,
,
图2 透视变换
我们先来推导一个恒等式,设(仿射坐标系),
化简后的方程为
由于位于
所在的平面上
且带入到上式得
由向量无关性得
,
,
另一方面且
由此可得
,
,
而这里, 所以
,
------------------------ (2)
注意到这样一个事实当时有
--------------------------(3)
下面来求中心坐标
推导出
,
,
,
-------------------------(4)