1.6.4常量向量


常量XMVECTOR实例应使用XMVECTORF32类型。 以下是DirectX SDK的CascadedShadowMaps11示例中的一些示例:

static const XMVECTORF32 g_vHalfVector = { 0.5f, 0.5f,0.5f, 0.5f };
static const XMVECTORF32 g_vZero = { 0.0f, 0.0f, 0.0f,0.0f };
XMVECTORF32 vRightTop = {vViewFrust.RightSlope,vViewFrust.TopSlope,1.0f,1.0f};

XMVECTORF32 vLeftBottom = {vViewFrust.LeftSlope,vViewFrust.BottomSlope,1.0f,1.0f};

实质上,我们使用XMVECTORF32,只要我们想要使用初始化语法.XMVECTORF32是一个带有XMVECTOR转换运算符的16字节对齐结构; 它被定义如下:

// 常量的转换类型
__declspec(align(16)) struct XMVECTORF32{union
{
float f[4];
XMVECTOR v;
};
inline operator XMVECTOR() const { return v; }
inline operator const float*() const { return f; }
#if !defined(_XM_NO_INTRINSICS_) &&defined(_XM_SSE_INTRINSICS_)
inline operator __m128i() const { return_mm_castps_si128(v); }
inline operator __m128d() const { return_mm_castps_pd(v); }
#endif

};

您还可以使用XMVECTORU32创建一个整数数据的常量XMVECTOR:

static const XMVECTORU32 vGrabY = {0x00000000,0xFFFFFFFF,0x00000000,0x00000000};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值