Я пытаюсь передать смешанный вес и индексы моему вершинному шейдеру как float4s;структура, которая содержит данные для каждой вершины, выглядит следующим образом в C ++:
struct VertexType_Skin {
XMFLOAT3 position;
XMFLOAT2 texture;
XMFLOAT3 normal;
XMFLOAT4 boneIds;
XMFLOAT4 boneWeights;
};
и в вершинном шейдере HLSL:
struct VS_IN {
float3 position : POSITION;
float2 tex : TEXCOORD0;
float3 normal : NORMAL;
float4 boneIds : BLENDINDICES;
float4 boneWeights : BLENDWEIGHT;
};
Я устанавливаю буфер вершин следующим образом:C ++:
D3D11_BUFFER_DESC vertexBufferDesc = { sizeof(VertexType_Skin) * vertexCount, D3D11_USAGE_DEFAULT, D3D11_BIND_VERTEX_BUFFER, 0, 0, 0 };
vertexData = { skinVertices, 0 , 0 };
device->CreateBuffer(&vertexBufferDesc, &vertexData, &vertexBuffer);
Теперь я не уверен, почему, но, похоже, это совсем не рендерит мою сетку.Комментирование float4s в обеих структурах работает нормально (я пока не использую идентификаторы или веса, просто пытаюсь их передать).
Есть ли что-то очевидное, чего мне не хватает в этой настройке?
Спасибо!