подгрузка эмитеров

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

подгрузка эмитеров

Сообщение BlackSee » Вт сен 29, 2009 12:45 pm

Здравствуйте.
Мне необходимо подгружать эмитеры по мере их необходимости, как это сделать правильно?

Возможно это сделать существуещим врапером(opengl) или его нужно как-то менять?
В примере врапера имитеры загружаются из папки, сразу все которые там есть. Если не делать поиск имитеров по папке:
рабочий вариант как в примере врапера
Код: Выделить всё
int AddMGEmitter(const char* name,const char* filename)
{
  SetCurrentDirectoryA("./particles");
  const char* file=GetFirstFile();
  if(!file)return ERROR_BAD_ARGUMENTS;
  while (file)
  {
   m_MP->LoadEmittersFromFile(file);
   file=GetNextFile();
  }

//далее как в примере
............................
}

а передавать имя имитера, чтобы грузился только оди:
Код: Выделить всё
int AddMGEmitter(const char* name,const char* filename)
{
   std::string path="./particles/";
   path+=filename;
   m_MP->LoadEmittersFromFile(path.c_str());
//далее как в примере
............................
}

при первом добавлении эмитера все нормально, но если добавить еще один эмитер то происходит ошибка
void MP_Atlas_WRAP::LoadFrame(....)
{
......
в строке ilDeleteImages(1,&frame);
}
я так понимаю проблема в генерации атласа, но где ?
если кто делал такое подскажите
BlackSee
 
Сообщения: 5
Зарегистрирован: Вт сен 29, 2009 10:34 am

Re: подгрузка эмитеров

Сообщение Odin_KG » Вт сен 29, 2009 4:36 pm

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

Когда я делал работу с атласами, то рассчитывал на то, что все нужные эмиттеры загружаются сразу, а потом для них делается атлас. В конце-концов, я подозреваю, что мне придется расширить эти возможности. Однако пока этого нет. Значит, чтобы добавить новый эмиттер в игру в любой момент нужно либо перестраивать атласы после добавления эмиттеров, либо отказаться от использования атласов вообще. На самом деле атласы не обязательны - это лишь помощь разработчику, но вы их можете выбросить или понаделать своих. Если вы не создаете атласы, то вам поможет информация из MAGIC_TEXTURE, которая описывает текстуру. Вы можете взять эту информацию и загрузить всё самостоятельно. Еще имейте ввиду, что информация о текстурах библиотеке не особенно нужна (библиотека рисовать не умеет), т.е. вы можете ее корректировать для себя как угодно, не меняя лишь количество кадров в текстуре.
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm

Re: подгрузка эмитеров

Сообщение BlackSee » Ср сен 30, 2009 9:26 am

Спасибо, буду пробовать.
Как будут результаты, обязательно поделюсь.
BlackSee
 
Сообщения: 5
Зарегистрирован: Вт сен 29, 2009 10:34 am

Re: подгрузка эмитеров

Сообщение Odin_KG » Ср сен 30, 2009 9:30 am

пожалуйста
Аватара пользователя
Odin_KG
Administrator
Administrator
 
Сообщения: 841
Зарегистрирован: Чт янв 15, 2009 2:57 pm


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

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

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

cron