Direct3D Tutorial Win32 Sample 详解 - 5

实现效果:
一个cube自转,另一个cube自转同时,绕中心轴公转
在这里插入图片描述

要点

Transform
平移之后,坐标原点就不在物体的中心了。平移之后一定方向上的旋转就是公转。
平移改变坐标原点
两个立方体的transform过程如下:

    // 1st Cube: Rotate around the origin
    // 绕Y轴旋转即可
	g_World1 = XMMatrixRotationY( t );

    // 2nd Cube:  Rotate around origin
    XMMATRIX mScale = XMMatrixScaling( 0.3f, 0.3f, 0.3f );
    // 自转
    XMMATRIX mSpin = XMMatrixRotationZ( -t );
    // 平移
    XMMATRIX mTranslate = XMMatrixTranslation( -4.0f, 0.0f, 0.0f );
    XMMATRIX mOrbit = XMMatrixRotationY( -t * 2.0f );
// 注意顺序 缩放-自传-平移-公转
	g_World2 = mScale * mSpin * mTranslate * mOrbit;

做完transformation,在绘制每个模型之前,update相应的常量缓冲

    //
    // Update variables for the first cube
    //
    ConstantBuffer cb1;
	cb1.mWorl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值