Несколько экземляров MP_Manager

Обсуждение специальной версии Magic Particles (Dev), предназначенной для разработчиков игр.

Несколько экземляров MP_Manager

Сообщение sergn75 » Чт июл 16, 2009 5:53 pm

Я использую Magiс Particles при создании игр на движке PlayGround
Тут применяется class MP_Manager - Основной класс для работы враппера Magic Particles

Можно ли одновременно создать два экземляра MP_Manager, которые загружают текстуры из разных путей ?
Мне это необходимо из-за того, чтобы одновременно не загружать память всеми текстурами(если это один путь) для сотни эмиттеров

У меня при создании второго экземпляра MP_Manager и загрузки текстур через нижеуказанную функцию,
первый экземпляр MP_Manager перестает отрисовывать

void MP_Manager::LoadTextures(const char* texture_folder, int atals_width, int atlas_height, int frame_step, float scale_step)
{
this->texture_folder="";
if (texture_folder)
{
this->texture_folder=texture_folder;
SetEndOfPath(this->texture_folder);
}

Magic_CreateAtlases(atals_width, atlas_height, frame_step, scale_step);

for (int i=0;i<k_emitter;i++)
m_emitter[i]->LoadTextures();
}
sergn75
 
Сообщения: 2
Зарегистрирован: Чт июл 16, 2009 5:38 pm

Re: Несколько экземляров MP_Manager

Сообщение Odin_KG » Чт июл 16, 2009 6:50 pm

Можно ли одновременно создать два экземляра MP_Manager, которые загружают текстуры из разных путей ?

Я как-то не рассчитывал создавать 2 экземпляра. Если вы используете API для создания атласов текстур, то второй экземпляр MP_Manager-а ничего не даст, потому что всё равно все эмиттеры загружаются в API, а атлас текстур строится с загруженных в API эмиттеров.

Мне это необходимо из-за того, чтобы одновременно не загружать память всеми текстурами(если это один путь) для сотни эмиттеров

Если вы грузите текстуры создавая атлас текстур при помощи API, то API будет стараться избежать дублирования текстур. API при сравнении текстур анализирует только контрольную сумму, которая присвоилась текстуре в редакторе (т.е. текстура должна быть именно этой же самой, чтобы у нее была такая же контрольная сумма). Атлас строится так, чтобы эмиттер целиком оказывался на одном атласе. Если сюда же помещается полностью еще эмиттер, то он будет размещен в этом же атласе.

В принципе вы можете загружать и располагать все текстуры самостоятельно - враппер в основном демонстрирует вариант, который мне кажется наиболее простым и удобным для небольших проектов.
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Re: Несколько экземляров MP_Manager

Сообщение sergn75 » Чт июл 16, 2009 7:20 pm

Спасибо за ответ
sergn75
 
Сообщения: 2
Зарегистрирован: Чт июл 16, 2009 5:38 pm


Вернуться в Magic API

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

cron