Однако, как ни странно, когда я пытаюсь напечатать содержимое m_vertices, результаты не соответствуют массиву CubeVertices, который я передал конструктору (в основном нули, что вообще не соответствует входным данным).
Это результат моего кода отладки в конструкторе:
Сейчас я пишу класс Mesh для своей программы на C++, но есть несколько проблем. По сути, мой подход следующий: [list] [*]Передать массив объектов Vertex ([code]vertices[/code]) и uint16_t s ([code]indices[/code]) в конструктор [*] Allocate m_vertices с использованием calloc (sizeof (vertex), sizeof (vertices)) , и сделайте что -то похожее для m_indices < /code> < /li> [code]memcpy[/code] Вершины массив в недавно выделенные m_vertices и еще раз сделайте что -то похожее для индексов Когда объект сетки уничтожен [/list] Для дополнительного контекста я предоставил некоторые из соответствующих кодов ниже. Vertex struct: [code]typedef struct { float x; float y; float z; uint32_t abgr; } Vertex; [/code] Вершины и индексы Данные, которые я использую для тестирования: [code]static Vertex cubeVertices[] = { {-1.0f, 1.0f, 1.0f, 0xff888888 }, { 1.0f, 1.0f, 1.0f, 0xff8888ff }, {-1.0f, -1.0f, 1.0f, 0xff88ff88 }, { 1.0f, -1.0f, 1.0f, 0xff88ffff }, {-1.0f, 1.0f, -1.0f, 0xffff8888 }, { 1.0f, 1.0f, -1.0f, 0xffff88ff }, {-1.0f, -1.0f, -1.0f, 0xffffff88 }, { 1.0f, -1.0f, -1.0f, 0xffffffff }, };
}; [/code] Однако, как ни странно, когда я пытаюсь напечатать содержимое m_vertices, результаты не соответствуют массиву CubeVertices, который я передал конструктору (в основном нули, что вообще не соответствует входным данным). Это результат моего кода отладки в конструкторе: [code]Vertex 0 x: -1.000000, y: 1.000000, z: 0.000000 Vertex 1 x: 0.000000, y: 0.000000, z: 0.000000 Vertex 2 x: 0.000000, y: 0.000000, z: 0.000000 Vertex 3 x: 0.000000, y: 0.000000, z: 0.000000 Vertex 4 x: 0.000000, y: 0.000000, z: 0.000000 Vertex 5 x: 0.000000, y: 0.000000, z: 0.000000 Vertex 6 x: 0.000000, y: 0.000000, z: 0.000000 Vertex 7 x: 0.000000, y: 0.000000, z: 0.000000 [/code] Что я здесь делаю?