aboutsummaryrefslogtreecommitdiff
path: root/PhysX_3.4/Documentation/PhysXGuide/Manual/SceneQueries.html
diff options
context:
space:
mode:
authorSheikh Dawood <[email protected]>2018-04-09 10:13:48 -0500
committerSheikh Dawood <[email protected]>2018-04-09 10:13:48 -0500
commit238605d8225a9135d6b60646e05d066e25424eee (patch)
tree2b013bd4946bb3c699d7a06ef1f21be85d367f63 /PhysX_3.4/Documentation/PhysXGuide/Manual/SceneQueries.html
parentAdd ParamTool.exe (diff)
downloadphysx-3.4-238605d8225a9135d6b60646e05d066e25424eee.tar.xz
physx-3.4-238605d8225a9135d6b60646e05d066e25424eee.zip
PhysX 3.4, APEX 1.4 patch release @23879214
Diffstat (limited to 'PhysX_3.4/Documentation/PhysXGuide/Manual/SceneQueries.html')
-rw-r--r--PhysX_3.4/Documentation/PhysXGuide/Manual/SceneQueries.html14
1 files changed, 13 insertions, 1 deletions
diff --git a/PhysX_3.4/Documentation/PhysXGuide/Manual/SceneQueries.html b/PhysX_3.4/Documentation/PhysXGuide/Manual/SceneQueries.html
index fad3e149..caa97742 100644
--- a/PhysX_3.4/Documentation/PhysXGuide/Manual/SceneQueries.html
+++ b/PhysX_3.4/Documentation/PhysXGuide/Manual/SceneQueries.html
@@ -529,7 +529,7 @@ and in pathological cases query performance may degrade to O(n) time.</p>
<p>Acceleration structures must be continually modified in accordance with objects being added or removed, or object AABB updates
due to changes in position or geometry. To minimize the cost, modifications are deferred for as long as possible.
Thus adding or removing objects or updating AABBs occurs in amortized constant time, with the cost of modifications deferred
-until the changes 'commit'. This happens on the next subsequent query or the next fetchResults().
+until the changes 'commit'. This happens on the next subsequent query or the next fetchResults() or the next fetchQueries().
To force an immediate commit, call the PxScene::flushQueryUpdates() function.</p>
<p>The exact details of the commit process depend on the values of staticStructure and dynamicStructure specified in PxSceneDesc.</p>
<p>To avoid automatic resizing triggered by insertions into internal scene query data structures, reserve the space in advance.
@@ -566,6 +566,17 @@ especially if the additions are localized so as to put pressure on just a few of
</ul>
</div>
</div>
+<div class="section" id="pxscenequeryupdatemode">
+<h2>PxSceneQueryUpdateMode<a class="headerlink" href="#pxscenequeryupdatemode" title="Permalink to this headline">¶</a></h2>
+<p>It is possible to define what scene query related work is done druing PxScene::fetchResults.</p>
+<p>By default fetchResults will sync changed bounds during simulation and update the scene query bounds in pruners, this work is mandatory.
+Other work can be optional, based on the PxSceneQueryUpdateMode:</p>
+<ul class="simple">
+<li>eCOMMIT_ENABLED_BUILD_ENABLED does allow to execute the new AABB tree build step during fetchResults, additionally the pruner commit is called where any changes are applied. During commit PhysX refits the dynamic scene query tree and if a new tree was built and the build finished the tree is swapped with current AABB tree.</li>
+<li>eCOMMIT_DISABLED_BUILD_ENABLED does allow to execute the new AABB tree build step during fetchResults. Pruner commit is not called, this means that refit will then occur during the first scene query following fetchResults, or may be forced by the method PxScene::flushSceneQueryUpdates().</li>
+<li>eCOMMIT_DISABLED_BUILD_DISABLED no further scene query work is executed. The scene queries update needs to be called manually, see PxScene::sceneQueriesUpdate. It is recommended to call PxScene::sceneQueriesUpdate right after fetchResults as the pruning structures are not updated.</li>
+</ul>
+</div>
<div class="section" id="pxpruningstructure">
<h2>PxPruningStructure<a class="headerlink" href="#pxpruningstructure" title="Permalink to this headline">¶</a></h2>
<p>Provides access to precomputed pruning structure used to accelerate scene queries against newly added actors.</p>
@@ -636,6 +647,7 @@ especially if the additions are localized so as to put pressure on just a few of
<li><a class="reference internal" href="#pxpruningstructuretype-edynamic-aabb-tree">PxPruningStructureType::eDYNAMIC_AABB_TREE</a></li>
</ul>
</li>
+<li><a class="reference internal" href="#pxscenequeryupdatemode">PxSceneQueryUpdateMode</a></li>
<li><a class="reference internal" href="#pxpruningstructure">PxPruningStructure</a><ul>
<li><a class="reference internal" href="#merge-process">Merge process</a></li>
</ul>