glRenderMode - встановлює режим растеризації.

C-специфікація

GLint glRenderMode (GLenum mode) ;

 

Параметри

mode вказує режим растеризації. Приймаються три значення: GL_RENDERER, GL_SELECT і GL_FEEDBACK. Значення за умовчанням GL_RENDERER.

Опис

Функція glRenderMode встановлює режим растеризації. Вона приймає один параметр - mode, який може приймати одне з трьох значень:

  • GL_RENDER. Режим створення зображення. Примітиви растеризуються, створюючи піксельні фрагменти, які записуються у буфер кадру. Це є звичайний режим і також режим за умовчанням.
  • GL_SELECT. Режим обирання. Створюються жодні піксельні фрагменти, і жодні зміни вносяться до буфера кадру. Замість цього, запис імен примітивів, які б були намальованими, якщо був би увімкнений режим GL_RENDER, у буфері обирання, який повинен попередньо створюватись (перегляньте функцію glSelectBuffer) перед впровадженням режиму обирання.
  • GL_FEEDBACK. Режим зворотнього зв'язку. Створюються жодні піксельні фрагменти, і жодні зміни вносяться до буферу кадру. Замість цього, координати і атрибути вертексів, які б були намальовані, якщо був би встановлений режим GL_RENDER повертаються у буфер зворотнього зв'язку, який попередньо повинен бути створеним (перегляньте функцію glFeedbackBuffer), перед тим як встановлювати режим зворотнього зв'язку.

Значення, яке повертає функція glRenderMode визначається режимом малювання, який встановлено під час її виклику. Повернені значення являються наступними:

  • GL_RENDER. Повертається значення 0.
  • GL_SELECT. Повертається кількість записів переданих до буферу обирання.
  • GL_FEEDBACK. Повертається кількість значень (не вертексів) переданих до буферу зворотнього зв'язку.

Перегляньте документацію до функцій glSelectBuffer і glFeedbackBuffer щоб отримати більше деталей про операції обирання і зворотнього зв'язку.

Нотатки

Якщо генерується помилка, функція glRenderMode повертає 0, незалежно від поточного режиму рендерингу.

Помилки

GL_INVALID_ENUM генерується якщо mode не являється одним з трьох допустимих значень.

GL_INVALID_OPERATION генерується якщо glSelectBuffer викликається поки встановлено режим GL_SELECT, або якщо функція glRenderMode викликається з аргументом GL_SELECT перед тим як функція glSelectBuffer викликана хоча-б один раз.

GL_INVALID_OPERATION генерується якщо glFeedbackBuffer викликається поки встановлено режим GL_FEEDBACK, або якщо функція glRenderMode викликється з аргументом GL_FEEDBACK перед тим як функція glFeedbackBuffer викликається хоча-б один раз.

GL_INVALID_OPERATION генерується якщо функція glRenderMode викликається між відповідними викликами функцій glBegin і glEnd.

Пов'язнаі параметри

glGet з аргументом GL_RENDER_MODE

Перегляньте також

glFeedbackBuffer, glInitNames, glLoadName, glPassThrough, glPushName, glSelectBuffer

Оригінал

https://www.khronos.org/registry/OpenGL-Refpages/gl2.1/xhtml/glRenderMode.xml