D3DXMatrixLookAtLH

本文详细解析了D3DXMatrixLookAtLH函数,用于构建左手坐标系下的视图矩阵。重点介绍了参数解释、返回值、公式计算过程以及使用方法。此外,还解释了pEye、pAt和pUp参数在场景中的作用,以及如何在实际应用中正确设置这些参数以实现预期的视图效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SDK 文档详解:

 
 

D3DXMatrixLookAtLH

Builds a left-handed, look-at matrix.

D3DXMATRIX * D3DXMatrixLookAtLH(
  D3DXMATRIX *pOut,
  CONST D3DXVECTOR3 *pEye,
  CONST D3DXVECTOR3 *pAt,
  CONST D3DXVECTOR3 *pUp
);
Parameters
pOut
[in, out] Pointer to the D3DXMATRIX structure that is the result of the operation.
pEye
[in] Pointer to the D3DXVECTOR3 that defines the eye point. This value is used in translation.
pAt
[in] Pointer to the D3DXVECTOR3 structure that defines the camera look-at target.
pUp
[in] Pointer to the D3DXVECTOR3 structure that defines the current world's up, usually [0, 1, 0].
Return Values

Pointer to a D3DXMATRIX structure that is a left-handed, look-at matrix.

Remarks

The return value for this function is the same value returned in the pOut parameter. In this way, theD3DXMatrixLookAtLH function can be used as a parameter for another function.

This function uses the following formula to compute the returned matrix.

zaxis = normal(At - Eye)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)
    
 xaxis.x           yaxis.x           zaxis.x          0
 xaxis.y           yaxis.y           zaxis.y          0
 xaxis.z           yaxis.z           zaxis.z          0
-dot(xaxis, eye)  -dot(yaxis, eye)  -dot(zaxis, eye)  l
Requirements

Header: Declared in D3DX10Math.h.

Library: Use D3DX10.lib.

See Also

Math Functions


自己在某些地方的理解:

pEye 是摄像机在世界坐标系中的位置,

pAt 是摄像机观察的目标点,也就是摄像机正对的那个点,就像人眼睛看向一个物体,那么这个物体就是视角中心,其他物体都在这个物体周边。

所以显示的时候,这个点会在屏幕中心。所以把这个点往X正方向设置,原来在中心的物体就会往左移,同理于YZ轴。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值