Я не уверен, что правильно понимаю геометрию, которую вы пытаетесь визуализировать.Если это вид сетки, вот как я бы это сделал:
Создание и заполнение объекта буфера вершин всеми вашими вершинами:
8--9--a--b
| /| /| /|
|/ |/ |/ |
4--5--6--7
| /| /| /|
|/ |/ |/ |
0--1--2--3
Создание и заполнение буфера массива элементов с помощьюиндексы, используемые для рендеринга вашей четырехугольной сетки:
{ 0,1,5,4, 1,2,6,5, 2,3,7,6, 4,5,9,8, 5,6,a,9, 6,7,b,a }
Установите все, используя gl * Pointer, используйте glDrawElements с GL_QUADS для рендеринга.Кеш вершин будет обрабатывать уже преобразованные вершины: каждый квад после первой будет требовать преобразования только двух вершин.
Я не думаю, что вы получите что-нибудь, если вы tri-strip или quad-strip it, за исключением некоторой памяти в буфере массивов элементов.
Если вы хотите удалить его, создайте соответствующий буфер массивов элементов и вызовите glDrawElements для каждой строки.Это можно сделать за один вызов, используя только расширение Nvidia GL_NV_primitive_restart
Если это не сетка, вы можете попробовать NvTriStrip .