Поиск:

Ответ в темуСоздание новой темы Создание опроса
> как использовать D3DXSaveMeshToX 
V
    Опции темы
Nick007
Дата 3.6.2010, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



всем доброго времение суток

научите как правильно использовать ф-ю
D3DXSaveMeshToX

кроме как

D3DXSaveMeshToX(..., &pMesh, ..., D3DXF_FILEFORMAT_BINARY);
и

    D3DXSaveMeshToXW(
        LPCWSTR pFilename,
        LPD3DXMESH pMesh,
        CONST DWORD* pAdjacency,
        CONST D3DXMATERIAL* pMaterials,
        CONST D3DXEFFECTINSTANCE* pEffectInstances, 
        DWORD NumMaterials,
        DWORD Format
        );

мне ничего отыскать не удалось

Это сообщение отредактировал(а) Nick007 - 3.6.2010, 15:30
PM MAIL WWW   Вверх
Nick007
Дата 3.6.2010, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



попытался сделать так:
Код

bool ConvernMeshDx(LPCWSTR pFilename_from, LPCWSTR pFilename_to, LPDIRECT3DDEVICE9 g_pD3DDevice)
{
    
        LPCWSTR pFilename;
        DWORD Options;
        //LPDIRECT3DDEVICE9 pD3DDevice;
        LPD3DXBUFFER *ppAdjacency;
        LPD3DXBUFFER *ppMaterials=null; 
        LPD3DXBUFFER *ppEffectInstances;
        DWORD pNumMaterials;
        LPD3DXMESH ppMesh;

    LPCWSTR l_mesh_name=
        ltoladd(L"Core\\meshes\\",(LPWSTR)pFilename_from);

if(FAILED(D3DXLoadMeshFromX(l_mesh_name, D3DXMESH_SYSTEMMEM,
                            g_pD3DDevice, NULL, ppMaterials,NULL,
                            &pNumMaterials, &ppMesh))) {
                                MB(L" Произошла ошибка загрузки D3DXLoadMeshFromX ");
return false;
}
    l_mesh_name=
        ltoladd(L"Core\\meshes\\",(LPWSTR)pFilename_to);
if(FAILED(D3DXSaveMeshToX(l_mesh_name, ppMesh,null,(D3DXMATERIAL*) ppMaterials,null,pNumMaterials,D3DXF_FILEFORMAT_BINARY))) {
    MB(L"// Произошла ошибка сохранения D3DXSaveMeshToX ");
return false;
}//ppMaterials!=null?(D3DXMATERIAL*) ppMaterials:null
    MB(L"ConvernMeshDx отработал");
return true;
}


выдает ошибку:
Произошла ошибка сохранения D3DXSaveMeshToX 
PM MAIL WWW   Вверх
Ferrisgeneral
Дата 7.6.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



может не существует директории для сохранения
PM MAIL   Вверх
Nick007
Дата 16.6.2010, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Перед мною возникла задача конвертации файла сетки директ иксового формата 
из текстового файла в бинарный.

Привожу пример рабочей функции для перегонки иксового файла из  текстового в бинарный. 
Только что проверил работет на ура, результат получается правильным. 

функция нет сохранения эффектов, 
но, в принципе, такой задачи и не стояло))

Может кому то понадобится...

Добавлено через 1 минуту и 20 секунд
... и собственно пример:

Код

 bool ConvernMeshDx(LPCWSTR pFilename_from, LPCWSTR pFilename_to, LPDIRECT3DDEVICE9 g_pD3DDevice)
{
        ID3DXBuffer *pD3DXMaterials;
        DWORD pNumMaterials;
        LPD3DXMESH ppMesh;


if(FAILED(D3DXLoadMeshFromX(pFilename_from, D3DXMESH_SYSTEMMEM,
                            g_pD3DDevice, NULL, &pD3DXMaterials,NULL,
                            &pNumMaterials, &ppMesh))) {
  //Произошла ошибка загрузки D3DXLoadMeshFromX 
return false;
}

D3DXMATERIAL      *g_pMaterials      = NULL;
g_pMaterials = (D3DXMATERIAL*)pD3DXMaterials->GetBufferPointer();

if(FAILED(D3DXSaveMeshToX(pFilename_to, ppMesh,null,g_pMaterials,null,pNumMaterials,D3DXF_FILEFORMAT_BINARY))) {
    // Произошла ошибка сохранения D3DXSaveMeshToX 
return false;
}
    // Функция отработала успешно 
return true;
}

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


 




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


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

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