2013-03-19 96 views
1

我在與使用恆定的緩衝區使用數組的問題,我目前發送大小爲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]; 
}; 

我「M越來越善於渲染錯誤的結果......這是我的C++緩衝液:(幾乎相同)

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

該緩衝區由大小正確初始化:的sizeof(InstanceInfo)* MAX_NUMBER_INSTANCES(在我的C MAX_NUMBER_INSTANCES ++代碼100),數據也被正確複製。 (我雙重檢查他們)

我知道,有包裝的規則,但我不能找到哪裏是我的錯誤(可能是在我的面前,但我不能看到它... ...)

如果有人能幫助我...

回答

2

好吧,我解決了這個問題,如果有人有這個同樣的問題,記得看看前面的緩衝區第一工作正常(這可能會導致所有即將到來的緩衝器產生連鎖反應)