0

attempting to apply a bump map to an object loaded, but no change is seen on the material

var loader = new THREE.ObjectLoader();
loader.load("../js/brain2.json", function(object) {
    var mapHeight = new THREE.TextureLoader().load( "../js/texture.jpg" );
    var material = new THREE.MeshPhongMaterial( { color: 0x888888, specular: 0xEEEEEE, shininess: 5} );

    object.traverse( function ( child ) {
        if ( child instanceof THREE.Mesh ) {
            child.material = material;
            child.material.bumpMap = mapHeight;
            child.material.bumpScale = 1;
            var geometry = new THREE.Geometry().fromBufferGeometry( child.geometry );
            geometry.computeFaceNormals();
            geometry.mergeVertices();
            geometry.computeVertexNormals();
            child.geometry = new THREE.BufferGeometry().fromGeometry( geometry );
            var modifier = new THREE.BufferSubdivisionModifier(1);
            modifier.modify(geometry);
            child.material.overdraw = 1
        };  
    });
    object.scale.set(15, 15, 15);
    object.position.x = 1;
    object.position.y = 1;
    object.position.z = 1;
    object.rotation.set( 5, 1, 1 );
    scene.add( object );
});

I've already fixed earlier issues with this code, including applying a subdivision modifier to it, but now it appears the bump map refuses to be applied.

Ivan Pavičić
  • 1,083
  • 2
  • 16
  • 28
Benlov
  • 45
  • 8

0 Answers0