diff --git a/packages/viewer/package.json b/packages/viewer/package.json index 154c4ae50..9c650d2f6 100644 --- a/packages/viewer/package.json +++ b/packages/viewer/package.json @@ -1,6 +1,6 @@ { "name": "@speckle/viewer", - "version": "2.0.7", + "version": "2.0.8", "description": "A 3d viewer for Speckle, based on threejs.", "homepage": "https://speckle.systems", "repository": { diff --git a/packages/viewer/src/modules/Converter.js b/packages/viewer/src/modules/Converter.js index dbcf77b88..d8c0c43b0 100644 --- a/packages/viewer/src/modules/Converter.js +++ b/packages/viewer/src/modules/Converter.js @@ -125,7 +125,7 @@ export default class Coverter { * @return {[type]} [description] */ async dechunk( arr ) { - if ( !arr ) return arr + if ( !arr || arr.length === 0 ) return arr // Handles pre-chunking objects, or arrs that have not been chunked if ( !arr[0].referencedId ) return arr @@ -265,6 +265,7 @@ export default class Coverter { 'position', new THREE.Float32BufferAttribute( conversionFactor === 1 ? vertices : vertices.map( v => v * conversionFactor ), 3 ) ) + let colorsRaw = await this.dechunk( obj.colors ) if ( colorsRaw && colorsRaw.length !== 0 ) { @@ -284,6 +285,7 @@ export default class Coverter { } } + buffer.computeVertexNormals( ) buffer.computeFaceNormals( ) buffer.computeBoundingSphere( )