Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> lib3ds текстурирование 
:(
    Опции темы
revaldo666
Дата 6.8.2012, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 28.7.2010

Репутация: нет
Всего: нет



Всем привет, использую библиотеку lib3ds для загрузки .3ds модели, могу наложить на неё текстуру или изменить цвет....однако, модель состоит из 4-х мешей, а при наложении или текстура или цвет налаживается на всю модель, хотелось бы узнать как реализовать наложение текстуры в определённое место (так же чтобы тестура на модели была выбранного размера) и цвет налаживался на определённую часть модели.
загрузка модели:
Код

 model=LIB3DS::lib3ds_file_open(WndThread::directory+"compose.3DS");
for(int i=0;i<model->meshes->Count;i++)
        mesh.Add(model->meshes[i]);
    for(int i=0;i<model->materials->Count;i++)
        material.Add(model->materials[i]);

наложение цветовой текстуры
Код

int r;
             Random ^ rnd=gcnew Random();
             r=rnd->Next();
             image1=gcnew Bitmap(5,5);
             colorDialog1->ShowDialog();
             for(int i=0;i<5;i++)
             {
                 for(int k=0;k<5;k++)
                 {
                     image1->SetPixel(k,i,colorDialog1->Color);
                 }
             }
             image1->Save(System::IO::Path::GetDirectoryName(System::Reflection::Assembly::GetEntryAssembly()->Location)+"\\colors\\"
                            +Convert::ToString(r)+".jpg",ImageFormat::Jpeg);
             Lib3dsMesh ^tmpmesh=gcnew Lib3dsMesh();
             tmpmodel=gcnew Lib3dsFile();
             mat=gcnew Lib3dsMaterial();
             mat=LIB3DS::lib3ds_material_new("C_Color");
             mat->texture1_map->name=System::IO::Path::GetDirectoryName(System::Reflection::Assembly::GetEntryAssembly()->Location)+"\\colors\\"
                 +Convert::ToString(r)+".jpg";
             int ind=0;
             for(int i=0;i<files_in_dir.Count;i++)
             {
                 model=LIB3DS::lib3ds_file_open(Convert::ToString(files_in_dir[i]));
                 for(int k=0;k<model->meshes->Count;k++)
                 {
                     tmpmesh=model->meshes[k];
                     LIB3DS::lib3ds_file_insert_material(tmpmodel,mat,0);
                     LIB3DS::lib3ds_file_insert_mesh(tmpmodel,tmpmesh,ind);
                     ind++;
                 }
             }
             model=tmpmodel;
             modelrefresher();

Если нужна информация по классам библиотеки, скажите я скину.
PM MAIL   Вверх
borisbn
Дата 7.8.2012, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



revaldo666, ты как минимум дважды ошибся разделом. Всякая работа с мультимедией, графикой и т.п. - здесь
а судя по
Цитата(revaldo666 @  6.8.2012,  14:36 Найти цитируемый пост)
 Random ^ rnd=gcnew Random();

тебе вообще не в раздел Си++, а в раздел по .Net (ссылки на с++/CLR не нашёл)


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0438 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.