From bb14f1ad2bce0ce61c00e2224b4b25d70b44ff1c Mon Sep 17 00:00:00 2001 From: Philip Trettner <Philip.Trettner@rwth-aachen.de> Date: Wed, 24 Apr 2019 22:35:19 +0200 Subject: [PATCH] tg objects in viewer --- extern/glm | 2 +- extern/glow | 2 +- extern/glow-extras | 2 +- extern/polymesh | 2 +- extern/typed-geometry | 2 +- samples/wip/viewer/main.cc | 53 ++++++++++++++++++++++++++++++++++++++ 6 files changed, 58 insertions(+), 5 deletions(-) diff --git a/extern/glm b/extern/glm index 477e803..21a30e1 160000 --- a/extern/glm +++ b/extern/glm @@ -1 +1 @@ -Subproject commit 477e803f388de7ba1ddbf2b46abf0f332eb454b3 +Subproject commit 21a30e11164c6ffc1ec12811cf7ce82c9f3b2d1f diff --git a/extern/glow b/extern/glow index 55f4b0e..2b4182a 160000 --- a/extern/glow +++ b/extern/glow @@ -1 +1 @@ -Subproject commit 55f4b0eb10488e0bfcc5c35aba15d214898a33a1 +Subproject commit 2b4182a2b654dcc8d601188f267058a7ba2e0cd9 diff --git a/extern/glow-extras b/extern/glow-extras index 87f48ac..06673fa 160000 --- a/extern/glow-extras +++ b/extern/glow-extras @@ -1 +1 @@ -Subproject commit 87f48ac179239a5ec9ff9e7d8b70752be87c2d1e +Subproject commit 06673fa92980b5a8b2ba04337ee70a818f7adf90 diff --git a/extern/polymesh b/extern/polymesh index 622e041..707da36 160000 --- a/extern/polymesh +++ b/extern/polymesh @@ -1 +1 @@ -Subproject commit 622e04156e2bd771d3131a35fb90008c83b807e3 +Subproject commit 707da368c4f7eef2f31818d15a0220c41199bdd7 diff --git a/extern/typed-geometry b/extern/typed-geometry index 12b7f4a..190c243 160000 --- a/extern/typed-geometry +++ b/extern/typed-geometry @@ -1 +1 @@ -Subproject commit 12b7f4ae7ccf066874388d7223d43868bce7c71c +Subproject commit 190c2432940026159b2b1bf6ac4561f0d88e4b3d diff --git a/samples/wip/viewer/main.cc b/samples/wip/viewer/main.cc index ed874b6..4bc5967 100644 --- a/samples/wip/viewer/main.cc +++ b/samples/wip/viewer/main.cc @@ -12,6 +12,8 @@ #include <glow-extras/glfw/GlfwContext.hh> #include <glow-extras/viewer/view.hh> +#include <typed-geometry/tg.hh> + const bool sCustomSkybox = false; int main() @@ -143,6 +145,57 @@ int main() } } + // tg objects + { + auto v = glow::viewer::grid(); + tg::rng rng; + + view(tg::segment3(tg::pos3(0, 0, 0), tg::pos3(1, 0, 0)), tg::color3::red); + view(tg::triangle3({0, 0, 0}, {1, 0, 0}, {0, 1, 0}), tg::color3::blue); + view(tg::aabb3({-0.3f, 0, -0.4f}, {0.2f, 0.5f, 0.1f}), tg::color3::green); + view(lines(tg::aabb3({-0.3f, 0, -0.4f}, {0.2f, 0.5f, 0.1f}))); + + // vector versions + { + std::vector<tg::segment3> segs; + for (auto i = 0; i < 20; ++i) + segs.emplace_back(uniform(rng, tg::sphere3::unit), uniform(rng, tg::sphere3::unit)); + view(segs); + } + { + std::vector<tg::triangle3> tris; + for (auto i = 0; i < 20; ++i) + tris.emplace_back(uniform(rng, tg::sphere3::unit), uniform(rng, tg::sphere3::unit), uniform(rng, tg::sphere3::unit)); + view(tris); + } + { + std::vector<tg::pos3> pts; + for (auto i = 0; i < 500; ++i) + pts.push_back(uniform(rng, tg::sphere3::unit)); + view(pts); + } + + { + std::vector<tg::box3> bbs; + for (auto i = 0; i < 4; ++i) + { + auto e0 = uniform_vec(rng, tg::sphere3::unit); + auto e1 = cross(e0, uniform_vec(rng, tg::sphere3::unit)); + auto e2 = cross(e1, e0); + + auto c = uniform(rng, tg::ball3::unit); + + e0 = normalize(e0) * uniform(rng, 0.2f, 0.5f); + e1 = normalize(e1) * uniform(rng, 0.2f, 0.5f); + e2 = normalize(e2) * uniform(rng, 0.2f, 0.5f); + bbs.push_back(tg::box3(c, {e0, e1, e2})); + } + + view(lines(bbs)); + view(bbs); + } + } + // Animation { // TODO -- GitLab