2014-11-12 3 views
0

Я пытаюсь отобразить сферу в Direct11 с помощью SharpDX. Я правильно прочитал в модели OBJ, создал буферы вершин и установил буферы в контексте для рендеринга.Последняя вершина в буфере вершин не установлена ​​

Моя проблема заключается в том, что все делает отлично КРОМЕ последней вершины, которая предоставляется, как если бы это было на 0, 0, 0. Ниже снимок экрана этого: enter image description here

Я проверил векторы которые привыкают при создании буферов и нет недостающих данных в там, я даже изменил последний элемент в массиве, как это:

vertexBufferArray[vertexBufferArray.Length - 1].X = 1.0f; 

и не имел никакого результата. В то время как, если я изменю второму элементу так:

vertexBufferArray[vertexBufferArray.Length - 2].X = 1.0f; 

я получаю этот результат: enter image description here

Количество вершин, которые я передаю к визуализации вызова является правильным, потому что, если я прохожу его VertexCount - 1, я не получаю последний треугольник вообще, и если я передам его VertexCount + 100, ничего не изменится вообще.

Любые идеи?

ответ

0

Как обычно, я в конце концов исправляю проблему через 10 минут после того, как я сделаю большой пост об этом.

Проблема была в моем ассемблере ввода, мои элементы ввода для POSITION и NORMAL были из Format.R32G32B32A32_Float, когда они должны были быть Format.R32G32B32_Float, так как я приводил свои вершины в виде Vector3s.