У меня возникли проблемы с использованием постоянных буферов с массивами, в настоящее время я посылаю массив размера 100 для моих вершинных шейдеров, как это:Vertex Shader - Constant Buffer Массив
/////////////
// 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++ буфер: (почти то же самое)
struct InstanceInfo
{
D3DXMATRIX worldMatrix;
unsigned int currentFrame;
unsigned int totalFrames;
unsigned int animationType;
float deltaTime;
};
буфер правильно инициализирован размер: SizeOf (InstanceInfo) * MAX_NUMBER_INSTANCES (MAX_NUMBER_INSTANCES в моей C++ код является 100 тоже), и данные также скопированы правильно. (Я проверил их)
Я знаю, что есть правила упаковки, но я не могу найти, где моя ошибка (вероятно, передо мной, но я не могу видеть его ...)
Если кто-то может помочь мне ...