netlib.narod.ru< Назад | Оглавление | Далее >

10.3. Рисование

Интерфейс ID3DXMesh предоставляет метод DrawSubset(DWORD AttribId), позволяющий нарисовать все треугольники, относящиеся к подгруппе сетки, заданной аргументом AttribId. Например, чтобы нарисовать все треугольники, относящиеся к подгруппе 0, мы должны написать:

Mesh->DrawSubset(0);

Чтобы нарисовать сетку целиком, мы должны нарисовать все входящие в нее подгруппы. Очень удобно присваивать подгруппам последовательно увеличивающиеся номера, 0, 1, 2, ..., n – 1, где n — это количество подгрупп, и создать соответствующие массивы материалов и текстур таким образом, чтобы i-ые элементы в массивах материалов и текстур соответствовали i-ой подгруппе. Благодаря этому можно будет визуализировать всю сетку с помощью простого цикла:

for(int i = 0; i < numSubsets; i++)
{
     Device->SetMaterial(mtrls[i]);
     Device->SetTexture(0, textures[i]);
     Mesh->DrawSubset(i);
}

netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz