Нет описания

Garrett Johnson f9d07990a5 Update README.md 5 лет назад
example 8ced2e4178 Fix raycasting 5 лет назад
src 4ed51dda9c fix linting 5 лет назад
test cec655138b Update sort function 5 лет назад
.editorconfig 2edd3865b5 initial commit 5 лет назад
.eslintrc.json e31756e0d3 remove module source type in eslint config 5 лет назад
.gitignore 2edd3865b5 initial commit 5 лет назад
.travis.yml 57a8a2cc5d Fix travis yml 5 лет назад
README.md f9d07990a5 Update README.md 5 лет назад
babel.config.json a3b755e68d babel.config.json -> babel.config.js 5 лет назад
jest.config.json 635e1dbe54 update jest config 5 лет назад
package-lock.json 5386f1f277 eslint update 5 лет назад
package.json 5386f1f277 eslint update 5 лет назад
travis.yml 95c1d7523e Create travis.yml 5 лет назад

README.md

3d-tiles-renderer-js

IN PROGRESS

travis build lgtm code quality

In progress three.js implementation of the 3D Tiles format.

The renderer supports a limited subset of the spec for the moment. See Issue #15 for information on which features are not yet implemented.

See it in action here!

In Progress Features

  • Multicamera support
  • Travis integration
  • Performance

Use

import { TilesRenderer } from '3d-tiles-renderer';

// ... initialize three scene ...

const tilesRenderer = new TilesRenderer( './path/to/tileset.json' );
tilesRenderer.setCamera( camera );
tilesRenderer.setResolutionFromRenderer( camera, renderer );
scene.add( tilesRenderer.group );

renderLoop();

function renderLoop() {

	requestAnimationFrame( renderLoop );

	// The camera matrix is expected to be up to date
	// before calling tilesRenderer.update
	camera.updateMatrixWorld();
	tilesRenderer.update();
	renderer.render( camera, scene );

}


API

TilesRenderer

.errorTarget

errorTarget = 6 : Number

The target screenspace error in pixels to target when updating the geometry. Tiles will not render if they have below this level of screenspace error.

.errorThreshold

errorThreshold = Infinity : Number

Value used to compute the threshold errorTarget * errorThreshold above which tiles will not render. This is used to enable traversal to skip loading and rendering parent tiles far from the cameras current screenspace error requirement.

If errorThreshold is set to Infinity then all parent tiles will be loaded and rendered. If it's set to 0 then no parent tiles will render and only the tiles that are being rendered will be loaded.

.maxDepth

maxDepth = Infinity : Number

The max depth to which tiles will be loaded and rendered.

.loadSiblings

loadSiblings = true : Boolean

If true then all sibling tiles will be loaded, as well, to ensure coherence when moving the camera. If false then only currently viewed tiles will be loaded.

.lruCache

lruCache = new LRUCache() : LRUCache

NOTE: This cannot be set once update is called for the first time.

.downloadQueue

downloadQueue = new PriorityQueue : PriorityQueue

NOTE: This cannot be set once update is called for the first time.

.parseQueue

parseQueue = new PriorityQueue : PriorityQueue

NOTE: This cannot be modified once update is called for the first time.

.group

group : Group

The container group for the 3d tiles. Add this to the three.js scene in order to render it.

.constructor

constructor( url : String )

.update

update() : void

.getBounds

getBounds( box : Box3 ) : void

.raycast

raycast( raycaster : Raycaster, intersects : Array ) : void

.hasCamera

hasCamera( camera : Camera ) : boolean

.setCamera

setCamera( camera : Camera ) : boolean

.deleteCamera

deleteCamera( camera : Camera ) : boolean

.setResolution

setResolution( camera : Camera, resolution : Vector2 ) : boolean
setResolution( camera : Camera, x : number, y : number ) : boolean

.setResolutionFromRenderer

setResolutionFromRenderer( camera : Camera, renderer : WebGLRenderer ) : boolean

LICENSE

The software is available under the Apache V2.0 license.

Copyright © 2020 California Institute of Technology. ALL RIGHTS RESERVED. United States Government Sponsorship Acknowledged. This software may be subject to U.S. export control laws. By accepting this software, the user agrees to comply with all applicable U.S. export laws and regulations. User has the responsibility to obtain export licenses, or other export authority as may be required before exporting such information to foreign countries or providing access to foreign persons. Neither the name of Caltech nor its operating division, the Jet Propulsion Laboratory, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.