Skip to content

Commit

Permalink
Update BVHRefiner
Browse files Browse the repository at this point in the history
  • Loading branch information
Michael Englert committed Jul 1, 2013
1 parent 75102d9 commit 25b3693
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 20 deletions.
10 changes: 5 additions & 5 deletions src/nodes/Terrain.js
Original file line number Diff line number Diff line change
Expand Up @@ -1852,8 +1852,8 @@ function QuadtreeNode3D_32bit(ctx, terrain, level, nodeNumber, nodeTransformatio


/*
* Defines one node of an octree that represents a part (nxn vertices) of
* the whole point cloud
* Defines one node of an arbitrary tree that represents a part (nxn vertices)
* of the entire point cloud
* @param {object} ctx context
* @param {x3dom.nodeTypes.Terrain} terrain root terrain node
* @param {number} level level of the node within the quadtree
Expand All @@ -1867,7 +1867,7 @@ function BVHNode(ctx, terrain, level, path, imgNumber, count)
// object that stores all information to do a frustum culling
var cullObject = {};
// factor redefinition to get a view about the whole scene on level three
var fac = terrain._vf.factor + level * 5;
var fac = terrain._vf.factor + Math.pow(level, 2);

// array with the maximal four child nodes
var children = [];
Expand All @@ -1876,7 +1876,7 @@ function BVHNode(ctx, terrain, level, path, imgNumber, count)
// address of the image for the terrain height-data
var file = terrain._vf.url + path + imgNumber + ".x3d";
// position of the node in world space
var position = null;
var position = new x3dom.fields.SFVec3f(0.0, 0.0, 0.0);
// stores if file has been loaded
var exists = false;
// drawable component of this node
Expand Down Expand Up @@ -1971,7 +1971,7 @@ function BVHNode(ctx, terrain, level, path, imgNumber, count)
var distanceToCamera = Math.sqrt(Math.pow(vPos.x, 2) + Math.pow(vPos.y, 2) + Math.pow(vPos.z, 2));

// terrain._vf.factor instead (level * 16)
if (level < 1 && (distanceToCamera < Math.pow((terrain._vf.maxDepth - level), 2) * 100 / fac)) {
if ((distanceToCamera < Math.pow((terrain._vf.maxDepth - level), 2) * 1000 / fac)) {
if (children.length === 0 && terrain.createChildren === 0) {
terrain.createChildren++;
create();
Expand Down
24 changes: 9 additions & 15 deletions test/functional/terrain.html
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
<body>
<h1>BVH Refiner: Terrain of Puget Sound</h1>
<X3D showStat='false' showLog='false' width='1024px' height='600px'>
<Scene DEF='scene' frustumCulling='true' sortTrans="false">
<Scene DEF='scene' frustumCulling='true' sortTrans="true">
<!-- for viewing this example disable web security on your browser
because of cross origin problems -->
<!--<BVHRefiner maxDepth='10' factor='75' center='0 0 0' size='2000 2000'
Expand All @@ -104,7 +104,7 @@ <h1>BVH Refiner: Terrain of Puget Sound</h1>
</BVHRefiner>
<!--<transform translation="-550 700 -50" scale="1.0 1.0 1.0">
<BVHRefiner maxDepth='7' factor='30' center='0 0 0'
url="C:\Users\menglert\Desktop\Stadtmodell_Muenchen_WMTS" mode="bin">
url="" mode="bin">
</BVHRefiner>
</Transform>-->

Expand All @@ -113,27 +113,21 @@ <h1>BVH Refiner: Terrain of Puget Sound</h1>
<!--<BVHRefiner maxDepth='5' factor='12' center='0 0 0'
octSize='500 500 500' mode="oct">
</BVHRefiner>-->
<!--<BVHRefiner maxDepth='5' factor='1' center='0 0 0' bvhCount='16'
mode="oct" url="C:\Users\menglert\Desktop\OctreeData">
<!-- DON'T USE THE FOLLOWING EXAMPLES BECAUSE IT'S NOT COMPLETELY IMPLEMENTED YET -->
<!--<BVHRefiner maxDepth='4' factor='35' center='0 0 0' bvhCount='8'
mode="oct" url="">
</BVHRefiner>-->
<!--<BVHRefiner maxDepth='5' factor='5' center='0 0 0' maxElevation='519'
subdivision='36 24' size='1201 801'
elevationUrl="C:\Users\menglert\Desktop\Result4"
textureUrl="C:\Users\menglert\Desktop\Result4"
normalUrl="C:\Users\menglert\Desktop\Normal"
elevationFormat='png' textureFormat='png' normalFormat='png'
mode="3d" submode="32bit">
</BVHRefiner>-->
<!--<BVHRefiner maxDepth='5' factor='5' center='0 0 0' maxElevation='265'
subdivision='36 24' size='1201 801'
elevationUrl="C:\Users\menglert\Desktop\Result"
textureUrl="C:\Users\menglert\Desktop\Result"
normalUrl="C:\Users\menglert\Desktop\Normal"
elevationUrl=""
textureUrl=""
normalUrl=""
elevationFormat='png' textureFormat='png' normalFormat='png'
mode="3d" submode="32bit">
</BVHRefiner>-->
<Background skyColor=".1 .1 .3"></Background>
<Viewpoint zNear="0.1" zFar="10000" position="-35.37671 357.67245 42.79925" orientation="-0.41397 0.64145 0.64589 3.92558" centerOfRotation="908.8588619817687 -48.190695936235045 0.1262787826381171"></Viewpoint>
<!--VIEWPOINT_FOR_OCTREE<Viewpoint zNear="0.1" zFar="10000" position="565.40811 -296.84308 127.44207" orientation="0.72349 0.42632 0.54297 1.71780" centerOfRotation="-16.344523510123736 3.543724564365448 -0.3191464981986769"></Viewpoint>-->
</Scene>
</X3D>
</body>
Expand Down

0 comments on commit 25b3693

Please sign in to comment.