OpenGL glPushName означает? - PullRequest
       4

OpenGL glPushName означает?

0 голосов
/ 19 сентября 2009

Какой смысл делать это в OpenGL?

Это сбрасывает все имена?

Ответы [ 2 ]

3 голосов
/ 23 сентября 2009

glPushName () помещает новые «имена» в стек имен, когда текущий режим рендеринга - GL_SELECT. Это была грубая схема API для связи примитивов (треугольников, квадратов, полос треугольников) с идентификаторами, которые будут использоваться для выбора. Как сказал Тодзи, эти вызовы и связанное с ними состояние устарели в OpenGL 3.x и не поддерживаются, когда расширение GL_ARB_compatibility отсутствует. Во-первых, он не был реально применим, поскольку минимальный предел поддерживаемых имен составлял только 64. Если вам нужно «выбирать объекты с помощью курсора», вам лучше использовать выбор цвета. Выбор цвета - это метод, при котором вы визуализируете разные примитивы с разными цветами, а затем считываете цвет в позиции курсора назад. Это можно легко сделать с помощью gluPickMatrix () и glReadPixels (). Убедитесь, что отображаются только сплошные цвета, что означает отсутствие затенения, освещения или текстурирования, а также что сглаживание отключено. Отключить с помощью glDisable (GL_DITHER)

3 голосов
/ 19 сентября 2009

http://www.opengl.org/sdk/docs/man/xhtml/glPushName.xml

Используется для вставки нового имени в стек имен (в основном используется для выбора мыши). Он не удалит имена, и вы можете вернуться к ранее установленному имени, используя glPopName.

РЕДАКТИРОВАТЬ: Из любопытства, зачем вы это используете? Это довольно старый API, и я думаю, что он устарел в OpenGL 3.0. Если вы пытаетесь сделать что-то кроме выбора мыши, возможно, вы используете неправильные функции.

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