[英]Three.js effect Working on firefox but not working on chrome
我实现了使用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();
}
另外,我也尝试了这个实现! 但具有相同的效果(不适用于我的铬)
//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]);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.