Конгер Д.
Физика для разработчиков компьютерных игр
стр. 144

Рендеринг сетчатой модели

Сетчатая модель делится на части, каждая из которых характеризуется материалом и текстурой. Программа должна перебирать эти части и выполнять рендеринг каждой из них по отдельности:

// Перебираем части модели по материалам, for ( DWORD i = 0; i<numMaterials; i++ )

{

// Задаем материал и текстуру для частот модели. d3dDevice->SetMaterial(SpMaterials[i]); d3dDevice->SetTexture(0,pTextures[i]);

// Рисуем часть модели. pMesh->DrawSubset(i);

}

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

Очистка сетчатой модели

Закончив работу с моделью, нужно удалить ее из оперативной памяти. Сначала удаляем массив материалов:

delete[] pMaterials;

Затем освобождаем интерфейсы для всех структур: for ( DWORD i = 0; i<numMaterials; i++ )

{

if(pTextures[i] )

pTextures[i]->Release();

}

Освободив эти интерфейсы, можно удалить массив текстур, поскольку он нам больше не нужен:

delete[] pTextures;

И, наконец, освобождаем интерфейс модели:

pMesh->Release();








Новости
«Мясной» экшен Redeemer: Enhanced Edition задержится до осени
Издательство «Бука» и студия Sobaka объявили о том, что кровавый экшен Redeemer: Enhanced Edition, ранее запланированный к выходу в августе, был отложен на осень.
Steam-версия Orwell бесплатна до завтра
Игру можно забрать в течение суток, получив ключ для активации в Steam.