首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >雕刻CSG库

雕刻CSG库
EN

Stack Overflow用户
提问于 2013-04-19 17:59:37
回答 1查看 2.4K关注 0票数 0

有没有人成功编译并使用了Carve库?我正试图在一个项目中使用它,但我还没能让它工作。此外,文档也非常糟糕。我一直在看Blender的源代码,它似乎成功地使用了Carve,但我在复制它时遇到了麻烦。

这是我一直在尝试使用的代码,只是为了创建一个用于cube的多维数据集:

代码语言:javascript
复制
std::vector<carve::geom3d::Vector> vertices;

vertices.push_back(carve::geom::VECTOR(+1.0, +1.0, +1.0));
vertices.push_back(carve::geom::VECTOR(-1.0, +1.0, +1.0));
vertices.push_back(carve::geom::VECTOR(-1.0, -1.0, +1.0));
vertices.push_back(carve::geom::VECTOR(+1.0, -1.0, +1.0));
vertices.push_back(carve::geom::VECTOR(+1.0, +1.0, -1.0));
vertices.push_back(carve::geom::VECTOR(-1.0, +1.0, -1.0));
vertices.push_back(carve::geom::VECTOR(-1.0, -1.0, -1.0));
vertices.push_back(carve::geom::VECTOR(+1.0, -1.0, -1.0));

std::vector<int> f;
int numfaces = 6;

f.push_back(4);
f.push_back(0);
f.push_back(1);
f.push_back(2);
f.push_back(3);

f.push_back(4);
f.push_back(7);
f.push_back(6);
f.push_back(5);
f.push_back(4);

f.push_back(4);
f.push_back(0);
f.push_back(4);
f.push_back(5);
f.push_back(1);

f.push_back(4);
f.push_back(1);
f.push_back(5);
f.push_back(6);
f.push_back(2);

f.push_back(4);
f.push_back(2);
f.push_back(6);
f.push_back(7);
f.push_back(3);

f.push_back(4);
f.push_back(3);
f.push_back(7);
f.push_back(4);
f.push_back(0);

carve::mesh::MeshSet<3> *poly = new carve::mesh::MeshSet<3> (vertices, numfaces, f);

它似乎卡在了最后一条线上,陷入了一个长时间运行的循环,然后出现了凹陷故障。

EN

回答 1

Stack Overflow用户

发布于 2013-10-02 00:17:56

您使用的是来自搅拌器源代码的版本吗?我在这方面也遇到了一些问题,尽管我得到了不同类型的错误。我的问题是,我没有使用编译blender carve库时使用的所有编译器标志进行编译。当我将它们添加到我的构建中时,一切都运行得很好。通常,我会抱怨使用库所需的秘密编译器标志,但它是blender项目的内部标志。如果你正在通过CMake构建搅拌器雕刻库,你可以使用"make VERBOSE=1“(如果你使用的是忍者-v)来编译,以查看所有东西是如何编译的,然后适当地修改你的构建。我使用的标志(显然,这些标志可能会随着时间和构建环境的变化而改变;不要依赖于它们是否正确):

代码语言:javascript
复制
-DCARVE_SYSTEM_BOOST -DDEBUG -DHAVE_BOOST_UNORDERED_COLLECTIONS -DHAVE_STDBOOL_H -DWITH_BOOL_COMPAT -D_DEBUG -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D__LITTLE_ENDIAN__ -D__MMX__ -D__SSE2__ -D__SSE__

我没有试图将它们减少到最低要求的集合;我只是剪切并粘贴了所有似乎与我的探索性/测试代码构建相关的标志。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16102029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档