History

Initial code for AC side of Enabling Physics plan

When interface sets query flag send only entities close to main frustrum origin, until no more available, then send unreliabe sequence # reliably.

Simon Walton committed 8 years ago

Commit 47e99cd1 parent db8846712 files · +116 −16Browse files

Showing the changes to assignment-client/src/entities/EntityTreeSendThread.cpp (1 of 12 files). Show all

Unified · Split

assignment-client/src/entities/EntityTreeSendThread.cpp+9−0
@@ -17,6 +17,8 @@ · 16 unmodified lines
1717
1818 #include "EntityServer.h"
1919
20+// Initially just send all items within this distance.
21+const float EntityTreeSendThread::INITIAL_RADIUS = 50.0f;
2022
2123 EntityTreeSendThread::EntityTreeSendThread(OctreeServer* myServer, const SharedNodePointer& node) :
2224 OctreeSendThread(myServer, node)
@@ -112,6 +114,13 @@ void EntityTreeSendThread::traverseTreeAndSendContents(SharedNodePointer node, O · 89 unmodified lines
112114 int32_t lodLevelOffset = nodeData->getBoundaryLevelAdjust() + (viewFrustumChanged ? LOW_RES_MOVING_ADJUST : NO_BOUNDARY_ADJUST);
113115 newView.lodScaleFactor = powf(2.0f, lodLevelOffset);
114116
117+ if (nodeData->wantReportInitialResult() && !newView.viewFrustums.empty()) {
118+ auto& mainView = newView.viewFrustums[0];
119+ // Force acceptance within INITIAL_RADIUS.
120+ mainView.setSimpleRadius(INITIAL_RADIUS);
121+ newView.lodScaleFactor = 0.0f;
122+ }
123+
115124 startNewTraversal(newView, root);
116125
117126 // When the viewFrustum changed the sort order may be incorrect, so we re-sort