diff --git a/examples/js/loaders/PCDLoader.js b/examples/js/loaders/PCDLoader.js index 52505b9a3833981ad8f7c92def7562e6c72befe5..19d22e92922780cbcb1bb2d4d7fdab28addceaa1 100644 --- a/examples/js/loaders/PCDLoader.js +++ b/examples/js/loaders/PCDLoader.js @@ -205,11 +205,11 @@ THREE.PCDLoader.prototype = { if ( offset.rgb !== undefined ) { - var c = new Float32Array( [ parseFloat( line[ offset.rgb ] ) ] ); - var dataview = new DataView( c.buffer, 0 ); - color.push( dataview.getUint8( 0 ) / 255.0 ); - color.push( dataview.getUint8( 1 ) / 255.0 ); - color.push( dataview.getUint8( 2 ) / 255.0 ); + var rgb = parseFloat( line[ offset.rgb ] ); + var r = ( rgb >> 16 ) & 0x0000ff; + var g = ( rgb >> 8 ) & 0x0000ff; + var b = ( rgb >> 0 ) & 0x0000ff; + color.push( r / 255, g / 255, b / 255 ); } @@ -251,9 +251,9 @@ THREE.PCDLoader.prototype = { if ( offset.rgb !== undefined ) { - color.push( dataview.getUint8( row + offset.rgb + 0 ) / 255.0 ); - color.push( dataview.getUint8( row + offset.rgb + 1 ) / 255.0 ); color.push( dataview.getUint8( row + offset.rgb + 2 ) / 255.0 ); + color.push( dataview.getUint8( row + offset.rgb + 1 ) / 255.0 ); + color.push( dataview.getUint8( row + offset.rgb + 0 ) / 255.0 ); } @@ -285,7 +285,7 @@ THREE.PCDLoader.prototype = { if ( color.length > 0 ) { - material.vertexColors = true; + material.vertexColors = THREE.VertexColors; } else {