nicolay.nicolay Posted July 8, 2020 Share Posted July 8, 2020 (edited) Мне надо по формулам постороить объект //Пробую как в примере MeshPtr mesh = Mesh::create(); // add a new surface mesh->addSurface("surface_0"); // add vertices of the plane mesh->addVertex(Math::vec3(0.0f, 0.0f, 0.0f), 0); mesh->addVertex(Math::vec3(0.0f, 0.0f, 1.0f), 0); mesh->addVertex(Math::vec3(0.0f, 1.0f, 0.0f), 0); mesh->addVertex(Math::vec3(0.0f, 1.0f, 1.0f), 0); // add indices mesh->addIndex(0, 0); mesh->addIndex(1, 0); mesh->addIndex(2, 0); mesh->addIndex(3, 0); mesh->addIndex(2, 0); mesh->addIndex(1, 0); ObjectMeshDynamicPtr dynamicMesh = ObjectMeshDynamic::create(mesh); // set the position of the mesh dynamicMesh->setWorldTransform(translate(Math::Vec3(0.0f, 0.0f, 0.0f))); // set the material to the mesh dynamicMesh->setMaterial("mesh_base", "*"); // set the name of the mesh dynamicMesh->setName("new_mesh"); Триангулирую, сохраняю в файл все работает, частично обект строится но возникают проблемы на углах, там дырки, иногда появляется такая проблема Не могу понять есть ли более простой спосом постройки таких объектов? может я ну учитываю какие либо правила при триангулятции mesh->addIndex(0, 0); mesh->addIndex(1, 0); mesh->addIndex(2, 0); mesh->addIndex(3, 0); mesh->addIndex(2, 0); mesh->addIndex(1, 0); в примере если я правельно понимаю это 2 элементарных сусочка(связи вершин), есть ли описание особенностей постраения такого рода объектов? Можно ли как-то отслеживать ошибки GetLastError или что-то подобное? Edited July 8, 2020 by nicolay.nicolay Link to comment
danvern Posted July 10, 2020 Share Posted July 10, 2020 Здравствуйте. Вы можете добавлять вершины каждого треугольника как есть без индексов и потом вызвать Mesh::createIndices() Возможно ошибка связана с тем что некоторые данные вершин ушли в inf или nan К сожелению такого механизма нет, все ошибки, которые можно увидеть выводятся в консоль и в лог Link to comment
Recommended Posts