Skip to content

Commit b073a0b

Browse files
committed
rebuild
1 parent 43d4df6 commit b073a0b

File tree

142 files changed

+12188
-945
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+12188
-945
lines changed

docs/404.html

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,20 @@
650650

651651

652652

653+
<li class="md-nav__item">
654+
<a href="/structures/point_cloud/parameterization_quantities/" class="md-nav__link">
655+
Parameterization Quantities
656+
</a>
657+
</li>
658+
659+
660+
661+
662+
663+
664+
665+
666+
653667
<li class="md-nav__item">
654668
<a href="/structures/point_cloud/variable_radius/" class="md-nav__link">
655669
Variable Radius
@@ -763,6 +777,20 @@
763777

764778

765779

780+
781+
782+
783+
784+
785+
<li class="md-nav__item">
786+
<a href="/structures/curve_network/variable_radius/" class="md-nav__link">
787+
Variable Radius
788+
</a>
789+
</li>
790+
791+
792+
793+
766794
</ul>
767795
</nav>
768796
</li>

docs/FAQ/index.html

Lines changed: 64 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -435,6 +435,13 @@
435435
Saving and restoring camera poses
436436
</a>
437437

438+
</li>
439+
440+
<li class="md-nav__item">
441+
<a href="#centering-the-view-on-an-area-of-interest" class="md-nav__link">
442+
Centering the view on an area of interest
443+
</a>
444+
438445
</li>
439446

440447
<li class="md-nav__item">
@@ -494,8 +501,8 @@
494501
</li>
495502

496503
<li class="md-nav__item">
497-
<a href="#how-do-i-run-polyscope-on-a-remote-or-headless-server" class="md-nav__link">
498-
How do I run Polyscope on a remote or headless server?
504+
<a href="#how-do-i-run-polyscope-remotely-in-a-browser-via-a-notebook-or-on-headless-server" class="md-nav__link">
505+
How do I run Polyscope remotely in a browser, via a notebook, or on headless server?
499506
</a>
500507

501508
</li>
@@ -763,6 +770,20 @@
763770

764771

765772

773+
<li class="md-nav__item">
774+
<a href="../structures/point_cloud/parameterization_quantities/" class="md-nav__link">
775+
Parameterization Quantities
776+
</a>
777+
</li>
778+
779+
780+
781+
782+
783+
784+
785+
786+
766787
<li class="md-nav__item">
767788
<a href="../structures/point_cloud/variable_radius/" class="md-nav__link">
768789
Variable Radius
@@ -876,6 +897,20 @@
876897

877898

878899

900+
901+
902+
903+
904+
905+
<li class="md-nav__item">
906+
<a href="../structures/curve_network/variable_radius/" class="md-nav__link">
907+
Variable Radius
908+
</a>
909+
</li>
910+
911+
912+
913+
879914
</ul>
880915
</nav>
881916
</li>
@@ -1654,6 +1689,13 @@
16541689
Saving and restoring camera poses
16551690
</a>
16561691

1692+
</li>
1693+
1694+
<li class="md-nav__item">
1695+
<a href="#centering-the-view-on-an-area-of-interest" class="md-nav__link">
1696+
Centering the view on an area of interest
1697+
</a>
1698+
16571699
</li>
16581700

16591701
<li class="md-nav__item">
@@ -1713,8 +1755,8 @@
17131755
</li>
17141756

17151757
<li class="md-nav__item">
1716-
<a href="#how-do-i-run-polyscope-on-a-remote-or-headless-server" class="md-nav__link">
1717-
How do I run Polyscope on a remote or headless server?
1758+
<a href="#how-do-i-run-polyscope-remotely-in-a-browser-via-a-notebook-or-on-headless-server" class="md-nav__link">
1759+
How do I run Polyscope remotely in a browser, via a notebook, or on headless server?
17181760
</a>
17191761

17201762
</li>
@@ -1738,9 +1780,10 @@ <h1>FAQ, Tips, and Tricks</h1>
17381780

17391781
<ul>
17401782
<li>
1741-
<p><strong>Interface</strong></p>
1783+
<p><strong>Interface and Camera Controls</strong></p>
17421784
<ul>
17431785
<li><a href="#saving-and-restoring-camera-poses">Saving and restoring camera poses</a></li>
1786+
<li><a href="#centering-the-view-on-an-area-of-interest">Centering the view on an area of interest</a></li>
17441787
<li><a href="#how-do-i-take-a-screenshot-save-an-image">How do I take a screenshot / save an image?</a></li>
17451788
<li><a href="#positioning-objects-in-the-scene-and-reading-back-results">Positioning objects in the scene and reading back results</a></li>
17461789
<li><a href="#managing-large-numbers-of-structures-and-quantities">Managing large numbers of structures and quantities</a></li>
@@ -1764,7 +1807,7 @@ <h1>FAQ, Tips, and Tricks</h1>
17641807
<li>
17651808
<p><strong>System</strong></p>
17661809
<ul>
1767-
<li><a href="#how-do-i-run-polyscope-on-a-remote-or-headless-server">How do I run Polyscope on a remote or headless server?</a></li>
1810+
<li><a href="#how-do-i-run-polyscope-remotely-in-a-browser-via-a-notebook-or-on-headless-server">How do I run Polyscope remotely / on a headless server / in a notebook?</a></li>
17681811
</ul>
17691812
</li>
17701813
</ul>
@@ -1784,39 +1827,39 @@ <h1>FAQ, Tips, and Tricks</h1>
17841827
<!-- - give focus on show -->
17851828
<!-- - implicits -->
17861829

1787-
<h3 id="saving-and-restoring-camera-poses"><strong>Saving and restoring camera poses</strong></h3>
1830+
<h3 id="saving-and-restoring-camera-poses"><strong>Saving and restoring camera poses</strong><a class="headerlink" href="#saving-and-restoring-camera-poses" title="Permanent link">&para;</a></h3>
17881831
<p>Use <code>lookAt()</code> and <a href="/basics/camera_controls/">other functions</a> to manually specify the viewing camera pose. </p>
17891832
<p>Or, you can interactively position the camera in the scene, <a href="/basics/camera_controls/#savingrestoring-views">copy it to your clipboard as a json string</a> with <code>ctrl-c</code>, then restore it from the clipboard with <code>ctrl-v</code>. These strings can also be saved and restored programmatically.</p>
1790-
<h3 id="how-do-i-take-a-screenshot-save-an-image"><strong>How do I take a screenshot / save an image?</strong></h3>
1833+
<h3 id="centering-the-view-on-an-area-of-interest"><strong>Centering the view on an area of interest</strong><a class="headerlink" href="#centering-the-view-on-an-area-of-interest" title="Permanent link">&para;</a></h3>
1834+
<p>See <a href="/basics/camera_controls/#centering-the-view-on-scene-content">camera controls</a>. You can use ctrl+shift+click (cmd+shift+click on macOS) to orbit the view about a point of interest, as well as zooming in relative to that point.</p>
1835+
<h3 id="how-do-i-take-a-screenshot-save-an-image"><strong>How do I take a screenshot / save an image?</strong><a class="headerlink" href="#how-do-i-take-a-screenshot-save-an-image" title="Permanent link">&para;</a></h3>
17911836
<p>See <a href="/features/screenshots/">Screenshots</a>. Call <code>polyscope::screenshot()</code>, or click the <code>[screenshot]</code> button in the upper-left corner of the UI.</p>
1792-
<h3 id="positioning-objects-in-the-scene-and-reading-back-results"><strong>Positioning objects in the scene and reading back results</strong></h3>
1837+
<h3 id="positioning-objects-in-the-scene-and-reading-back-results"><strong>Positioning objects in the scene and reading back results</strong><a class="headerlink" href="#positioning-objects-in-the-scene-and-reading-back-results" title="Permanent link">&para;</a></h3>
17931838
<p>See <a href="/structures/structure_management/#transforms">Transforms</a> for various options and to set and get per-structure transformations.
17941839
In the GUI, you can use the <code>[Options] --&gt; [Transform]</code> menu to enable a widget to interactively transform each object within the scene.</p>
1795-
<h3 id="managing-large-numbers-of-structures-and-quantities"><strong>Managing large numbers of structures and quantities</strong></h3>
1840+
<h3 id="managing-large-numbers-of-structures-and-quantities"><strong>Managing large numbers of structures and quantities</strong><a class="headerlink" href="#managing-large-numbers-of-structures-and-quantities" title="Permanent link">&para;</a></h3>
17961841
<p>Polyscope generally scales just fine with 100s or even 1000s of distinctly named structures in the scene. However, with this many structures, it may become difficult to select what you want in the UI. Polyscope has a few features which can help:</p>
17971842
<p>Every structure has controls in its options UI menu under <code>Options --&gt; Structure Selection</code> and <code>Options --&gt; Quantity Selection</code> which can be used to enable/disable all structures and quantities, or isolate to viewing a single structure.</p>
17981843
<p>Use <a href="/features/groups/">Groups</a> to group your structures in to categories which can be enabled/disabled all together. Notice the <code>hide descendants</code> and <code>show details</code> options on groups, which can totally hide structures from the UI while still offering some control via the group.</p>
17991844
<p>You can always use the <a href="/features/callbacks_and_UIs/">Custom UIs</a> to create your own interface buttons and selectors which programmatically enable or disable registered objects or adjust their settings.</p>
1800-
<h3 id="how-do-i-show-animated-data"><strong>How do I show animated data</strong></h3>
1845+
<h3 id="how-do-i-show-animated-data"><strong>How do I show animated data</strong><a class="headerlink" href="#how-do-i-show-animated-data" title="Permanent link">&para;</a></h3>
18011846
<p>There is no explicit built-in functionality for animated or time-series data, but it is easy and common to <a href="/basics/interactive_UIs_and_animation/">do it yourself with a per-frame callback function</a>.</p>
1802-
<h3 id="how-do-i-create-custom-uis-with-buttons-sliders-text-boxes-etc"><strong>How do I create custom UIs with buttons, sliders, text boxes, etc</strong></h3>
1847+
<h3 id="how-do-i-create-custom-uis-with-buttons-sliders-text-boxes-etc"><strong>How do I create custom UIs with buttons, sliders, text boxes, etc</strong><a class="headerlink" href="#how-do-i-create-custom-uis-with-buttons-sliders-text-boxes-etc" title="Permanent link">&para;</a></h3>
18031848
<p>Polyscope integrates with the excellent <a href="https://github.com/ocornut/imgui">Dear ImGui</a> library for UI elements. See the <a href="/basics/interactive_UIs_and_animation/">interactions page</a> for how to use ImGui functions within polyscope, and see the ImGui docs for everything ImGui can do.</p>
1804-
<h3 id="how-do-i-set-up-mouse-click-interactions-and-callbacks"><strong>How do I set up mouse click interactions and callbacks</strong></h3>
1805-
<p>See <a href="/basics/interactive_UIs_and_animation/#mouse-interactions">Mouse Interactions</a>. There are no special callbacks for creating mouse events. Instead, you can implement almost any behavior you want via ImGui&rsquo;s built-in functions. There are also a few polyscope-specific functions to get information about scene at the location you clicked, such as constructing rays and querying depth.</p>
1806-
<h3 id="rendering-figures-for-papers-and-presentations"><strong>Rendering figures for papers and presentations</strong></h3>
1849+
<h3 id="how-do-i-set-up-mouse-click-interactions-and-callbacks"><strong>How do I set up mouse click interactions and callbacks</strong><a class="headerlink" href="#how-do-i-set-up-mouse-click-interactions-and-callbacks" title="Permanent link">&para;</a></h3>
1850+
<p>See <a href="/basics/interactive_UIs_and_animation/#mouse-interactions">Mouse Interactions</a>. Polyscope follows an immediate-mode philosophy for interactions: rather than registering many callbacks for various IO events, you can test for mouse and keyboard state in your main loop, or in the per-frame callback (which is the only callback), to implement any behavior your would like. ImGui offers many functions for testing mouse/keyboard state, and there are also a few polyscope-specific functions to get information about scene at the location you clicked, such as constructing rays and querying depth.</p>
1851+
<h3 id="rendering-figures-for-papers-and-presentations"><strong>Rendering figures for papers and presentations</strong><a class="headerlink" href="#rendering-figures-for-papers-and-presentations" title="Permanent link">&para;</a></h3>
18071852
<p>Several settings can be customized to give a more polished appearance. Consider:</p>
18081853
<ul>
18091854
<li>Adjusting the <a href="/features/ground_and_shadows/">ground plane</a> to shadow-only for ground shadows </li>
18101855
<li>Increasing <a href="/basics/program_options/#ssaa-anti-aliasing-factor">antialiasing</a> rate</li>
18111856
<li>Saving <a href="/features/screenshots/">screenshots</a> with transparency for compositing</li>
18121857
</ul>
1813-
<h3 id="visualizing-colors-as-exact-rgb-values-without-any-shading-or-tonemapping"><strong>Visualizing colors as exact RGB values, without any shading or tonemapping</strong></h3>
1858+
<h3 id="visualizing-colors-as-exact-rgb-values-without-any-shading-or-tonemapping"><strong>Visualizing colors as exact RGB values, without any shading or tonemapping</strong><a class="headerlink" href="#visualizing-colors-as-exact-rgb-values-without-any-shading-or-tonemapping" title="Permanent link">&para;</a></h3>
18141859
<p>Normally, colors are shaded and tone-mapped for rendering, which means the colors and colormapped-values you specify are not exactly the colors Polyscope renders to the screen. Use the <a href="/features/materials/#preserving-colors-with-the-flat-material">flat material</a> to circumvent these effects, and ensure that colors are flat-shaded to the screen with exactly the RGB values specified.</p>
1815-
<h3 id="how-do-i-run-polyscope-on-a-remote-or-headless-server"><strong>How do I run Polyscope on a remote or headless server?</strong></h3>
1816-
<p>It may not not be possible to use Polyscope on a remote headless machine which does not have a physical monitor. </p>
1817-
<p>If the machine <em>does</em> have a display attached, there should be no problem. You can run and initialize Polyscope, and even if you are working remotely via script or SSH you can programmatically capture screenshots of the rendered scene. </p>
1818-
<p>However, Polyscope will only work if it can create an operating system-level display window, which generally means having a physical monitor attached. Various virtual windowing systems and X-servers exist as a hypothetical workaround, however users have reported limited success with these tools, usually because they use software openGL renderers which do not support the openGL features required by Polyscope.</p>
1819-
<p>In implementation terms, this limitation comes from needing to initialize an OpenGL 3.3 core-profile context using <a href="https://www.glfw.org/">GLFW</a>. Currently, GLFW can only create an openGL context when a display is present. If you find a good workaround for Polyscope on headless machines, please share! One day, we hope to implement an alternate EGL backend, which would support headless machines.</p>
1860+
<h3 id="how-do-i-run-polyscope-remotely-in-a-browser-via-a-notebook-or-on-headless-server"><strong>How do I run Polyscope remotely in a browser, via a notebook, or on headless server?</strong><a class="headerlink" href="#how-do-i-run-polyscope-remotely-in-a-browser-via-a-notebook-or-on-headless-server" title="Permanent link">&para;</a></h3>
1861+
<p>See <a href="/features/headless_rendering/">headless rendering</a>. </p>
1862+
<p>In short, Polyscope <em>does</em> support headless rendering: it can be used on remote serves with no display attached to render images and videos to files or buffers, by initializing with a special EGL backend. However, Polyscope <em>does not</em> currently support any kind of client-server mode, or execution in the browser from remote machines, etc. It must be executing locally on the machine which you are using it from. </p>
18201863

18211864

18221865

0 commit comments

Comments
 (0)