diff --git a/README.md b/README.md index d11951b..4fc8dc8 100644 --- a/README.md +++ b/README.md @@ -29,8 +29,8 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets) #include "bvh.h" #include "singularityJudger.h" // 创建两个曲面 -tinynursb::RationalSurface s; -tinynursb::RationalSurface f; +tinynurbs::RationalSurface s; +tinynurbs::RationalSurface f; // 曲面初始化 ... diff --git a/main.cpp b/main.cpp index 2fc0c0d..b97b449 100644 --- a/main.cpp +++ b/main.cpp @@ -188,11 +188,11 @@ int main() { RationalSurface s; RationalSurface f; - int level = 6; + int level = 9; printf("level: %d, sample cnt: %d * %d\n", level, int(pow(2, level - 1)), int(pow(2, level - 1))); ifstream fin; - fin.open(R"(intersectTest\case2\surfaces.txt)"); + fin.open(R"(intersectTest\casea1\surfaces.txt)"); string str; string tmp; diff --git a/src/bvh.cpp b/src/bvh.cpp index 6471e54..e07f61e 100644 --- a/src/bvh.cpp +++ b/src/bvh.cpp @@ -23,8 +23,8 @@ void BVH::recursiveBuild(int level, int idx, int idx_u, int idx_v) { int firstChild = 4 * idx + 1; int halfRange = int(std::pow(2, maxLevel - level - 1)); // 当前层的曲面片的边长采样宽度的一半 recursiveBuild(level + 1, firstChild, idx_u, idx_v); - recursiveBuild(level + 1, firstChild + 1, idx_u, idx_v + halfRange); - recursiveBuild(level + 1, firstChild + 2, idx_u + halfRange, idx_v); + recursiveBuild(level + 1, firstChild + 1, idx_u + halfRange, idx_v); + recursiveBuild(level + 1, firstChild + 2, idx_u, idx_v + halfRange); recursiveBuild(level + 1, firstChild + 3, idx_u + halfRange, idx_v + halfRange); for (int i = 0; i < 4; i++) bound = Union(bound, tree[firstChild + i].bound);