Three.js效果使用firefox但不使用chrome

Three.js effect Working on firefox but not working on chrome

本文关键字:chrome firefox js Three      更新时间:2024-04-12

我使用Half-Edge数据结构递归地搜索相邻的人脸,并相应地给它们上色。然而,我可以在firefox上看到效果,但在chrome上看不到。有人有主意吗?我们将不胜感激!

 function neighbor(color_indices){
    var color_indices_length = color_indices.length;
    for (var i = 0; i < color_indices_length; i++) {
        var adjacentFaces = heData.findAdjacentFacesToFace(color_indices[i]);
        for (var k = 0; k < 3; k++){
            if(color_indices.indexOf(adjacentFaces[k]) == -1) {
                color_indices.push(adjacentFaces[k]);
            }
        }
    }
}
function recursion(recursion_times, color_indices){
        for (var z = 1; z <= recursion_times; z++){
            neighbor(color_indices)
        }
}
function red() {
        gl_object.colorsNeedUpdate = true;
        for(var j=0; j < red_indices.length; j++){
            gl_object.children[0].geometry.faces[red_indices[j]].color = new THREE.Color(0xff0000);
        }
}
function red_color() {  
        red_indices.push(selectedFaces[0].faceIndex);
        recursion(11,red_indices);
        red();
}

此外,我也尝试过这种实现!但具有相同的效果(不适用于我的chrome)

//test
    var adjacentFaces = [];
    var temp = [];
    temp[0] = heData.findAdjacentFacesToFace(color_indices[i])[0];
    temp[1] = heData.findAdjacentFacesToFace(color_indices[i])[1];
    temp[2] = heData.findAdjacentFacesToFace(color_indices[i])[2];
    adjacentFaces.push(temp[0]);
    adjacentFaces.push(temp[1]);
    adjacentFaces.push(temp[2]);

简单的事情就是更改

  for (var k = 0; k < 3; k++){
        if(color_indices.indexOf(adjacentFaces[k]) == -1) {
            color_indices.push(adjacentFaces[k]);
        }
    }

  for (var k = 0; k < adjacentFaces.length; k++){
        if(color_indices.indexOf(adjacentFaces[k]) == -1) {
            color_indices.push(adjacentFaces[k]);
        }
    }