D3DXMatrixPerspectiveFovLH参数fovy

1:透视投影矩阵的说明

D3DXMATRIX * D3DXMatrixPerspectiveFovLH(
  D3DXMATRIX * pOut,
  FLOAT fovy,
  FLOAT Aspect,
  FLOAT zn,
  FLOAT zf
);

最难理解的参数:fovy

通过调用D3DXMatrixPerspectiveFovLH得到的矩阵为

xScale     0          0               0

0        yScale       0               0

0          0       zf/(zf-zn)         1

0          0       -zn*zf/(zf-zn)     0

where:

yScale = cot(fovY/2)

xScale = yScale / aspect ratio

该矩阵的推导过程我们不必关心,否则要d3dx干嘛?

经过推导,假设空间中一点P( x, y,z,1).那么经过投影变换后新的坐标为

P`(  x*xScale,  y*yScale,  z*zf/(zf-zn) – zn*zf(zf-zn), z ), 这时得到的坐标是齐次空间坐标,应映射到三维空间坐标。 同时除以z

我们还要找到角度和点位置某种形象的关系,现在看来z和角度fovy无关

一般我们会把fov设定在0PI/2之间也就是090度。Fovy/2处于045 也就是说 xy是随着fovy变大而减小的。如果愿意的话可以画一张图。。。

那我们就知道了这样一个事实――》假设一个立方体 如果我们设定fovyPI/6时看到的大小为cube1,那么fovy设定为PI/3时的大小cube2  应有 cube1 > cube2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值