Использовали ли вы одинаковые m-> indexs для обоих примеров (которые, кстати, идентичны, как заметил и Бретт Хейл, потому что вы, вероятно, не меняли константу перечисления во втором пример)?
GL_LINES ожидает поток пар, где GL_TRIANGLES ожидает поток триплетов. Я не знаю, как вы заполнили m-> indexes , но если вы сделали что-то вроде этого:
0 1 1 2 2 3 3 4 4 5 5 6 ...
Возможно, вы столкнулись бы с той же проблемой. Когда вы интерпретируете поток как состоящий из пар, вы получаете все сегменты, которые вы, вероятно, видите:
01 12 23 34 45 56 ...
Но когда вы интерпретируете их как триплеты, вы получаете треугольники, в которых две вершины совпадают, поэтому они вырождены и, следовательно, не нарисованы.
011 223 344 556 ...
Маловероятно, что вы можете успешно использовать одно и то же выражение m-> num_triangles * 3 для обоих вызовов. Возможно, это еще одна проблема в посте, и вы изменили ее в своем коде. Взгляните на glBegin Man Page .