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

3.3. Подготовка к рисованию

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

  1. Установка источника потоковых данных. Эта операция подключает буфер вершин к потоку, основная задача которого — снабжение конвейера визуализации данными о геометрии.

    Для установки источника потоковых данных используется следующий метод:

    HRESULT IDirect3DDevice9::SetStreamSource(
         UINT StreamNumber,
         IDirect3DVertexBuffer9* pStreamData,
         UINT OffsetInBytes,
         UINT Stride
    );
    

    Предположим, что vb — это буфер вершин, заполненный данными вершин типа Vertex. В этом случае обращение к методу будет выглядеть так:

    _device->SetStreamSource(0, vb, 0, sizeof(Vertex));
    
  2. Задание формата вершин. Здесь мы указываем формат вершин, который будет использоваться в дальнейших вызовах функций рисования.

    _device->SetFVF(D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1);
    
  3. Задание буфера индексов. Если мы используем буфер индексов, то должны указать тот буфер индексов, который будет использоваться в последующих операциях рисования. Одновременно может использоваться только один буфер индексов; следовательно, если вам потребуется нарисовать объект с использованием другого буфера индексов, надо будет переключиться на другой буфер. Задание буфера индексов выполняет следующий фрагмент кода:

    _device->SetIndices(_ib); // передаем копию указателя на буфер индексов
    

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

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