glHint - встановлює реалізаційно-залежні параметри.

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

void glHint (GLenum target,
             GLenum mode) ;

 

Параметри

target вказує символічну константу, яка позначає поведінку, яку необхідно контролювати. Приймаються наступні значення: GL_FOG_HINT, GL_GENERATE_MIPMAP_HINT, GL_LINE_SMOOTH_HINT, GL_PERSPECTIVE_CORRECTION_HINT, GL_POINT_SMOOTH_HINT, GL_POLYGON_SMOOTH_HINT, GL_TEXTURE_COMPRESSION_HINT і GL_FRAGMENT_SHADER_DERIVATIVE_HINT.

mode вказує символічну константу, яка позначає бажану поведінку. Приймаються наступні іменовані константи: GL_FASTEST, GL_NICEST і GL_DONT_CARE.

Опис

Деякі аспекти поведінки OpenGL, якщо є простір для інтерпретації, можуть контролюватися за допомогою вказаних параметрів. Вказаний параметр описується за допомогою двох параметрів. Параметр target являється символічною константою, яка позначає поведінку, яку необхідно змінити, і параметр mode являється іншою символічною константою, яка позначає бажану поведінку системи. Значення за умовчанням для кожної цілі target являється GL_DONT_CARE. Параметр mode може приймати одну з наступних іменованих констант:

  • GL_FASTEST. Повинна бути обрана найбільш ефективна поведінка.
  • GL_NICEST. Повинна обиратися найбільш коректна, або найкраща якість.
  • GL_DONT_CARE. Довільна поведінка.

Хоча аспекти реалізації, які можуть контролюватися являються добре визначеними, інтерпретація даних команд залежить від реалізації. Аспекти контролю деяких параметрів, вказаних у параметрі target, разом з пропонованою семантикою, являються наступними:

  • GL_FOG_HINT. Позначає точність обчислень для туману. Якщо попіксельне обчислення туману або димки не підтримує ефективне обчислення у реалізації OpenGL, встановлення даного параметру у значення GL_DONT_CARE або GL_FASTEST може спричинити повертексне обчислення ефекту туману.
  • GL_FRAGMENT_SHADER_DERIVATIVE_HINT. Вказує точність обчислення похідних для наступних вбудованих функцій шейдерної мови OpenGL: dFdx, dFdy, і fwidth.
  • GL_GENERATE_MIPMAP_HINT. Позначає якість фільтрування під час створення зображень карт.
  • GL_LINE_SMOOTH_HINT. Позначає якість обчислення згладжених ліній. Якщо застосовується більша функція фільтрування, значення GL_NICEST для даного параметру може спричинити генерування більшої кількості фрагментів під час растеризації.
  • GL_PERSPECTIVE_CORRECTION_HINT. Позначає якість інтерполяції кольору, текстурних координат, і координат туману. Якщо скорегований для перспективи інтерполяційний параметр не підтримується з достатньою ефективністю у наявній реалізації OpenGL, встановлення значення GL_DONT_CARE або GL_FASTEST може спровокувати просту лінійну інтерполяцію кольорів і/або текстурних координат.
  • GL_POINT_SMOOTH_HINT. Позначає якість згладжування точок. Якщо застосовується більша функція фільтрування, встановлення значення GL_NICEST може спричинити генерування більшої кількості піксельних фрагментів під час растеризації.
  • GL_POLYGON_SMOOTH_HINT. Позначає якість згладжування багатокутників. Встановлення значення GL_NICEST для даного параметру може спричинити генерацію більшої кількості піксельних фрагментів під час растеризації, якщо застосовується більша функція фільтрування.
  • GL_TEXTURE_COMPRESSION_HINT. Позначає якість і ефективність стиснення зображень текстур. Встановлення значення GL_FASTEST може спровокувати найшвидше стиснення текстур, на відміну значення GL_NICEST, яке вказує, що зображення текстур повинні стискатися з найменшою втратою якості зображення. Значення GL_NICEST необхідно обирати якщо текстура буде отримуватися за допомогою функції glGetCompressedTexImage для повторного використання.

Нотатки

Інтерпретація даних параметрів залежить від реалізації. Деякі реалізації ігнорують параметри, які встановлюються за допомогою функції glHint.

Параметр GL_TEXTURE_COMPRESSION_HINT доступний у системах OpenGL версії 1.3 або вище.

Параметр GL_GENERATE_MIPMAP_HINT доступний у системах OpenGL версій 1.4 або вище.

Параметр FRAGMENT_SHADER_DERIVATIVE_HINT доступний у системах OpenGL версій 2.0 або вище.

Помилки

GL_INVALID_ENUM генерується якщо аргумент target або mode не містять допустимого значення.

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

Оригінал

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