Directx 11 Transformations

主要是三种坐标变换(在世界坐标系内的)

1:旋转  通过函数

XMMatrixRotationX/Y/Z/Axis

2:放大/缩小通过函数

XMMATRIX XMMatrixScaling

3:平移

XMMATRIX XMMatrixTranslation(
         FLOAT OffsetX,    // Units translated on the x-axis
         FLOAT OffsetY,    // Units translated on the y-axis
         FLOAT OffsetZ    // Units translated on the z-axis
)

想要把变换整合到一个矩阵中,只需要把变换矩阵相乘就可以了。但是要尤其注意对应的相乘顺序。

这节课学习的是画两个正方体,所以不仅要改顶点数据和索引数据。还要修改顶点缓存描述信息:

indexBufferDesc.ByteWidth = sizeof(DWORD) * 12 * 3;

vertexBufferDesc.ByteWidth = sizeof( Vertex ) * 8;

最后修改WVP变换矩阵的world矩阵为以上矩阵变换的结果即可。

注意:因为要画两个正方体,但我们顶点缓存中只有八个顶点,只够画一个,所以要用Drawindexed方法画两次

注意:画两个正方体要改变两次对应的WVP。而且Drawindexed方法中的索引个数也要改。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值