user2524500
user2524500

Reputation: 75

Loading textures in three.js

I am new to three.js and what I done so far is: model a geometry in Blender, export it to JSON, and put it into my three.js scene. It works fine with the basic three.js materials. Now I want to load a color, specular and normal map to my geometry. But everytime I try to add just a single texture, the geometry disappears in the browser.

Here is my code:

    var jsonLoader = new THREE.JSONLoader();
    jsonLoader.load( "models/schuh.js", addModelToScene );

    var texture = new THREE.ImageUtils.loadTexture("images/test_COL.jpg");

    var ambientLight = new THREE.AmbientLight(0x111111);
    scene.add(ambientLight);

}

function addModelToScene( geometry, materials ) 
{

    var material = new THREE.MeshBasicMaterial(map:texture});
    mesh = new THREE.Mesh( geometry, material );
    mesh.scale.set(50,50,50);
    scene.add( mesh );
}

what did I do wrong?

Upvotes: 1

Views: 3890

Answers (1)

Chris Laarman
Chris Laarman

Reputation: 1589

It looks like you are loading the texture after calling the addModelToScene function.

Try to change your code like this:

function someFunction() {  
    var texture    = new THREE.ImageUtils.loadTexture("images/test_COL.jpg");
    var jsonLoader = new THREE.JSONLoader();

    jsonLoader.load('models/schuh.js', addModelToScene);        

    var ambientLight = new THREE.AmbientLight(0x111111);
    scene.add(ambientLight);

}

function addModelToScene( geometry, materials ) 
{

    var material = new THREE.MeshBasicMaterial({map:texture});
    mesh = new THREE.Mesh( geometry, material );
    mesh.scale.set(50,50,50);
    scene.add( mesh );
}

Upvotes: 1

Related Questions