C++ 顶点着色器-常量缓冲区数组

C++ 顶点着色器-常量缓冲区数组,c++,directx,game-engine,hlsl,vertex-shader,C++,Directx,Game Engine,Hlsl,Vertex Shader,我在数组中使用常量缓冲区时遇到问题,目前我正在为顶点着色器发送一个大小为100的数组,如下所示: ///////////// // DEFINES // ///////////// #define MAX_NUMBER_INSTANCES 100 ///////////// // STRUCTS // ///////////// struct InstanceInfo { matrix InstanceWorldMatrix; uint CurrentFrame;

我在数组中使用常量缓冲区时遇到问题,目前我正在为顶点着色器发送一个大小为100的数组,如下所示:

/////////////
// DEFINES //
/////////////
#define MAX_NUMBER_INSTANCES 100

/////////////
// STRUCTS // 
///////////// 
struct InstanceInfo 
{ 
   matrix InstanceWorldMatrix; 
   uint CurrentFrame; 
   uint TotalFrames; 
   uint AnimationType; 
   float DeltaTime; 
}; 

///////////// 
// BUFFERS // 
///////////// 
cbuffer InstanceBuffer 
{ 
   InstanceInfo Instance[MAX_NUMBER_INSTANCES]; 
};
我在着色器中得到了错误的结果。。。这里是我的C++缓冲区:(几乎相同)

缓冲区初始化正确:大小:siZeof(StimeSnFipe)* Max SybNoMyBug实例(我的C++代码中的Max值)也正确复制了数据。(我仔细检查了一下)

我知道有包装规则,但我找不到哪里是我的错误(可能在我面前,但我看不到它…)


如果有人能帮我

好的,我解决了这个问题,如果有人遇到同样的问题,记得先看看前一个缓冲区是否正常工作(这可能会对所有即将到来的缓冲区造成连锁反应)

struct InstanceInfo
{
     D3DXMATRIX worldMatrix;
     unsigned int currentFrame;
     unsigned int totalFrames;
     unsigned int animationType;
     float deltaTime;
};