Three.TextureLoader lädt keine Bilddateien

So habe ich eine Weile mit THREE und Node rumgespielt und bis jetzt habe ich Texturen mit der TextureLoader-Klasse wie folgt geladen:

var loader = new THREE.TextureLoader;
loader.crossOrigin = '';

function createSphere ( radius , segments , rings ) {

  var geometry = new THREE.SphereGeometry(radius , segments , rings);

  var material = new THREE.MeshPhongMaterial({

        map: loader.load('./images/...'),
        bumpMap: loader.load('./images/...'),
        ect...

  });

  return new THREE.Mesh ( geometry, material )
}

Es hat gut funktioniert, und dann habe ich beschlossen, dass ich beim Erstellen des Materials nicht die Texturen lade, sondern alle meine Texturen vorab laden möchte. Deshalb habe ich ein kleines Hilfsprogramm erstellt, um genau das zu tun:

var loader = new THREE.TextureLoader;
loader.crossOrigin = '';

var textureMap = {

earthTex : {file : 'earth_no_ice_clouds.jpg', message : 'Loading Global Land Masses'},
earthBumpTex : {file : 'earth_bump.jpg', message : 'Loading Global Depth'},
earthSpecTex : {file : 'earth_specular.png', message : 'Loading Water'},
earthCloudTex : {file : 'earth_clouds.png', message : 'Loading Clouds'},
earthCultureTex : {file : 'earth_cultural.png', message :'Loading Country Borders'},
earthLookUpTex : {file : 'earth_lookup.jpg', message :'Loading Country Projections'},
moonTex : {file : 'moon.jpg', message :'Loading Lunar Surface'},
moonBumpTex : {file : 'moon_bump.jpg', message : 'Loading Lunar Depth'},
skyDomeTex : {file : 'galaxy_3.png', message : 'Loading Galaxy'}

};

Object.size = function(obj) {
    var size = 0, key;
    for (key in obj) {
        if (obj.hasOwnProperty(key)) size++;
    }
    return size;
}

function loadTextures(  ) {

    var path = "./images/";
    var size = Object.size(textureMap);
    var count = 0;

    for(var key in textureMap) {
        var textureItem = textureMap[key];
        var texture = loader.load(path + textureItem.file);
        console.log(texture);
    }
}

loadTextures();

Wenn ich dies in meinem Browser (Chrome) bei geöffneten Entwicklertools ausführe, wird für das THREE.texture-Objekt, das protokolliert wird, die image-Eigenschaft auf "undefined" und die src-Eigenschaft auf "" festgelegt. Ich verstehe nicht, warum dies geschieht, und ich habe weder die Pfade für meine PNG- oder JPG-Dateien noch den Speicherort der Datei, in der ich den TextureLoader verwende, geändert.

Wenn ich versuche, das erste Code-Snippet oben auszuführen, tritt der Fehler ebenfalls auf und ich kann scheinbar keine Texturen in meine Anwendung laden.

Jede Hilfe zum Verständnis, warum dies plötzlich passiert ist, wäre sehr dankbar.

BEARBEITE

Ich habe den ersten Codeblock bearbeitet, um mein Problem klarer zu machen. Ich habe vorher keine Versprechen, Rückrufe oder ähnliches benutzt. Ich habe gerade meine 'createSphere'-Funktion und ähnliche Funktionen von meiner Szeneninitialisierungsfunktion aufgerufen. Früher hat es gut funktioniert und ich hatte keine Probleme beim Laden von Texturen.

Nun funktioniert der erste Codeblock mit derselben Programmstruktur wie zuvor nicht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage