xeokit-sdk
xeokit-sdk copied to clipboard
Open source JavaScript SDK for viewing high-detail, full-precision 3D BIM and AEC models in the Web browser.
Optimize following modules by using the ````gl.drawElements```` params ````count```` and ````offset```` to draw only one entity, instead of the whole layer. - ````BatchingPickDepthRenderer```` - ````BatchingPickNormalsRenderer```` - ````InstancingPickDepthRenderer```` - ````InstancingPickNormalsRenderer````
Currently when picking we render to a pick buffer that is the same size as the canvas. This is unneccessary, because we can render less pixels for picking, ie: *...
```javascript var pickResult = viewer.scene.pick({ canvasPos: coords, pickSurface: true //
In ````BatchingPickNormalsRenderer````, ````BatchingPickMeshRenderer```` and ````BatchingPickDepthRenderer````, drawElements count and offset to draw only one entity. Currently these renderers needlessly redraw all meshes, ie: ````javascript gl.drawElements(state.primitive, state.indicesBuf.numItems, state.indicesBuf.itemType, 0); ````
Sometimes we still want ````TreeViewPlugin```` to contain (input-disabled) nodes for ````ifcBuildingStorey```` elements, even if those elements have no children.
Internally, xeokit's ray-picking is done in two steps: 1. pick the object, and 2. pick the surface position on the object. Improve accuracy at step (2) by dynamically setting the...
## The current way of doing section plane clips This idea is related to a possible optimization about section planes' clipping in GLSL shaders. Right now, on all `xyzDrawShaderSource.js` files,...
On devices where [`window.devicePixelRatio`](https://developer.mozilla.org/en-US/docs/Web/API/Window/devicePixelRatio) returns a value greater than 1 , there is a visual reduction of perceived quality on the 3d rendering. This happens on most mobile devices (pads...