Загрузить / удалить несколько моделей в PhiloGL - WebGL

Я пытаюсь загрузить и удалить модели из основного представления webgl с помощью philoGL. В оригинальном сценарии я нашел место загрузки одной модели. Однако я хочу снять первую модель и заменить ее второй.

Вот как модель загружается при запуске:

model = new O3D.Model({
    program: 'default',
    drawType: (item[0] == 't') ? "TRIANGLES" : "TRIANGLE_STRIP",
    vertices: item[1],
    normals: item[2],
    colors: item[3],
    indices: item[4]
});
scene.add(model);

Я думал о запуске следующего кода:

scene.remove(model);
scene.add(otherModel);

Идеи кого-нибудь? Спасибо EL

1 ответ

Решение

Лучший способ заменить model в филогл есть

var indexModel = scene.models.indexOf(model);

if (indexModel > -1) {
   models.splice(indexModel, 1, otherModel);
   scene.defineBuffers(otherModel);
}

Это потому, что вы не можете отслеживать положение model что вы хотите заменить методами, которые есть у PhiloGL. Для выполнения операций в model Вы должны получить доступ к models собственность Scene объект напрямую.

Другие вопросы по тегам