Я изучаю книгу Фрэнка Луны и в качестве «самостоятельного» упражнения пытаюсь изменить его демонстрационный код Box, чтобы нарисовать двухмерную диаграмму, например, линию, соединяющую несколько точек. Я заменил эту строку:
207 mCommandList->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
на эту:
207 mCommandList->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_LINESTRIP);
, и я также заменил эту строку:
456 psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_TRIANGLE;
на эту:
456 psoDesc.PrimitiveTopologyType = D3D12_PRIMITIVE_TOPOLOGY_TYPE_LINE;
Я также создал файл индексов:
std::array<std::uint16_t, 14> indices =
{
0, 1,
1, 2,
2, 3,
3, 4,
4, 5,
5, 6,
6, 7
};
Компилятор не выдает ошибок, окно открывается, но остается пустым и через несколько секунд закрывается. Есть подсказка?
Второй вопрос: нужен ли linestrips буфер индексов?