Простое разъяснение OpenGL - PullRequest
2 голосов
/ 07 ноября 2011

Использует ли версия OpenGL 3+ только "GL_TRIANGLES"?

Это то, что я прочитал, но в документации по OpenGL 3.3 http://www.opengl.org/sdk/docs/man3/, "glDrawArrays ()" принимает следующие параметры:

GL_POINTS,
GL_LINE_STRIP,
GL_LINE_LOOP,
GL_LINES,
GL_LINE_STRIP_ADJACENCY,
GL_LINES_ADJACENCY,
GL_TRIANGLE_STRIP,
GL_TRIANGLE_FAN,
GL_TRIANGLES,
GL_TRIANGLE_STRIP_ADJACENCY,
GL_TRIANGLES_ADJACENCY

Ответы [ 3 ]

4 голосов
/ 07 ноября 2011

Использует ли версия OpenGL 3+ только "GL_TRIANGLES"

Вы имеете в виду "вместо того, чтобы предлагать GL_QUADS и GL_POLYGON"?

Да, действительно. Квады и Полигоны были удалены полностью. В любом случае большинство полигонов нужно было разделить на треугольники, поскольку OpenGL может работать только с выпуклыми полигонами (выпуклые также подразумевают плоскую!) Аналогичное верно для квадроциклов.

Линии и точки, конечно же, остаются поддерживаемыми.

2 голосов
/ 07 ноября 2011

Использует ли версия OpenGL 3+ только "GL_TRIANGLES" ??Вот что я прочитал

Где?Пожалуйста, предоставьте ссылку.

Существует разница между "GL_TRIANGLES" и "треугольниками".

GL_TRIANGLES - это специфический примитивный тип.У него особая интерпретация .Его базовый тип примитива - «треугольники» (т. Е. Он генерирует треугольники), но это еще не все.

«Треугольники» - это именно то, что: сборки из 3 вершин, которые представляют плоскую область.GL_TRIANGLES, GL_TRIANGLE_STRIP и GL_TRIANGLE_FAN создают треугольников.

Ядро OpenGL 3.1+ не позволяет использовать определенные примитивные типы GL_QUADS, GL_QUAD_STRIP (то есть: все типы "quad") и GL_PYG,Все остальное - честная игра.

1 голос
/ 07 ноября 2011

В соответствии с разделом 2.6.1 команды спецификации, такие как glDrawArrays (), принимают отправленные вами примитивы.Итак, нет, OpenGL 3.3 не принимает только GL_TRIANGLES.

То, что вы прочитали, вероятно, означало объяснить, что OpenGL больше не поддерживает примитивы, такие как GL_QUADS и GL_POLYGON.

Четырехъядерные и многоугольные примитивыбыли удалены в соответствии с приложением E.2.2 спецификации (начиная с версии 3.1, предыдущие версии все еще поддерживают их, хотя они устарели от версии 3.0).

Спецификацию можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...