Хорошо, создайте буфер вершин и поместите в него все вершины.
Далее создайте индексный буфер. Поместите индексы списка строк там. Затем добавьте индексы списка треугольников в буфер индексов.
Наконец .. рендер, что-то вроде следующего:
pDevice->DrawIndexedPrimitive( D3DPT_LINELIST, 0, 0, numLineIndices, 0, numLineIndices / 2 );
pDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 0, numTriangleIndices, 0, numTriangleIndices / 3 );