Merged ChunkIndex and GeodeticTileIndex

This commit is contained in:
Erik Broberg
2016-05-10 15:47:58 -04:00
parent 8c24108338
commit dbf7aa97ce
20 changed files with 348 additions and 277 deletions

View File

@@ -120,11 +120,10 @@ bool ChunkNode::internalUpdateChunkTree(const RenderData& data, ChunkIndex& trav
void ChunkNode::internalRender(const RenderData& data, ChunkIndex& traverseData) {
if (isLeaf()) {
if (_isVisible) {
GeodeticTileIndex ti = { traverseData.x, traverseData.y, traverseData.level };
LatLonPatchRenderer& patchRenderer = _owner.getPatchRenderer();
patchRenderer.renderPatch(_patch, data, _owner.ellipsoid(), ti);
patchRenderer.renderPatch(_patch, data, _owner.ellipsoid(), traverseData);
ChunkNode::renderedPatches++;
}
}
@@ -181,11 +180,13 @@ int ChunkNode::calculateDesiredLevelAndUpdateIsVisible(
return traverseData.level - 1;
}
*/
if (!HorizonCuller::isVisible(
data,
_patch,
_owner.ellipsoid(),
8700)) {
8700))
{
_isVisible = false;
return traverseData.level - 1;
}
@@ -204,7 +205,7 @@ int ChunkNode::calculateDesiredLevelAndUpdateIsVisible(
Scalar distance = glm::length(cameraToChunk);
_owner.minDistToCamera = fmin(_owner.minDistToCamera, distance);
Scalar scaleFactor = 100 * minimumGlobeRadius;
Scalar scaleFactor = 50 * minimumGlobeRadius;
Scalar projectedScaleFactor = scaleFactor / distance;
int desiredLevel = floor( log2(projectedScaleFactor) );
return desiredLevel;