D3DMATRIX和D3DMATRIX16的区别.docVIP

  • 10
  • 0
  • 约2.77千字
  • 约 3页
  • 2017-07-26 发布于河南
  • 举报
D3DMATRIX和D3DMATRIX16的区别

(转) 从D3DXMATRIX和D3DXMATRIXA16来说对齐方式 这篇文章把人都看晕了。 ? D3D本身定义了矩阵类型,最基本的是 D3DMATRIX: typedef struct _D3DMATRIX { union { struct { float??????? _11, _12, _13, _14; float??????? _21, _22, _23, _24; float??????? _31, _32, _33, _34; float??????? _41, _42, _43, _44; }; float m[4][4]; }; } D3DMATRIX; 然后D3DXMATRIX继承了D3DMATRIX,并扩展定义了矩阵的运算符 然后D3DXMATRIXA16 定义为: typedef __declspec( align(16) )? D3DXMATRIXA16??? D3DXMATRIXA16 所以,D3DXMATRIXA16和D3DXMATRIX的区别在于前者的内存起始地址总是16的整数倍; 而后者的内存起始地址为4的整数倍; 用D3DXMATRIXA16的好处是:引用官方的说明—— 16-byte aligned matrix, when used by D3DX math functions, has been optimized for i

文档评论(0)

1亿VIP精品文档

相关文档