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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с текстуризацией 
:(
    Опции темы
Shuma
Дата 17.12.2007, 03:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 15.5.2007
Где: Беларусь, Гомель

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



Здравствуйте, у меня возникла проблема с текстуризацией мешей после экспорта из 3DS Max. До этого экспериментировал только на мешах поставляемых с DX SDK, там вот этот код делал свое дело как надо:
Код

void LoadXFile3DModel( char* MeshFilename )
{
    //Load and optimize the mesh
    D3DXLoadMeshFromX( MeshFilename, D3DXMESH_MANAGED, D3DDevice, NULL, &pD3DXMtrlBuffer, 0, &g_dwNumMaterials, &g_pMesh);
    LPD3DXMATERIAL d3dxMaterials = LPD3DXMATERIAL(pD3DXMtrlBuffer->GetBufferPointer());
    g_pMeshMaterials = new D3DMATERIAL9[g_dwNumMaterials];
    g_pMeshTextures  = new LPDIRECT3DTEXTURE9[g_dwNumMaterials];
     for( DWORD i=0; i<g_dwNumMaterials; i++ )
    {
        // Copy the material
        g_pMeshMaterials[i] = d3dxMaterials[i].MatD3D;

        // Set the ambient color for the material (D3DX does not do this)
        g_pMeshMaterials[i].Ambient = g_pMeshMaterials[i].Diffuse;

        g_pMeshTextures[i] = NULL;
        if( d3dxMaterials[i].pTextureFilename != NULL && 
            lstrlen(d3dxMaterials[i].pTextureFilename) > 0 )
        {
            
          D3DXCreateTextureFromFile(D3DDevice, 
                                    d3dxMaterials[i].pTextureFilename, 
                                    &g_pMeshTextures[i]); 
        }
   }
}


Вывод меша по сабмешам:
Код

for( DWORD i=0; i<g_dwNumMaterials; i++ )
        {
            // Set the material and texture for this subset
            D3DDevice->SetMaterial( &g_pMeshMaterials[i] );
            D3DDevice->SetTexture( 0, g_pMeshTextures[i] );
        
            // Draw the mesh subset
            g_pMesh->DrawSubset( i );
        }


Насколько я понял, здесь берутся данные о текстурах накладываемых на сабмеши из .X файла(название файла, расширение,путь) который я передаю функции.

Структура файла экспортанутого их макса несколько иная и там нет данных о текстурах. Как быть в этом случае, подскажите пожалуйста способ более универсальной текстуризации мешей.
Спасибо!
PM MAIL ICQ   Вверх
Shuma
Дата 26.12.2007, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 15.5.2007
Где: Беларусь, Гомель

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



проблема оказалась глубже, просто функция не обрабатывает отсутствие текстур...
Если кто знает, как сделать чтобы было хотябы как при просмотре через дх виевер, помогите плиз.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема »


 




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


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

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