Я пытаюсь использовать более новую версию OpenGL, чем версия по умолчанию 2.1 на моем Mac, используя GLUT_3_2_CORE_PROFILE при инициализации GLUT. Однако это приводит к сбою первой операции OpenGL с недопустимой операцией . Перед вызовом этой первой функции не сообщалось об ошибке, и без нее не было ошибок GLUT_3_2_CORE_PROFILE .

glutInit( glutInitDisplayMode(GLUT_3_2_CORE_PROFILE | GLUT_DOUBLE | GLUT_RGBA); glutInitWindowSize(500, 500); glutCreateWindow(«Demo»); glutDisplayFunc(displayListener); errorCheck(); glMatrixMode(GL_PROJECTION); errorCheck();

Содержимое errorCheck просто:

GLenum error; while ((error = glGetError())) std::cout >

Согласно заголовку, ошибка 1282 возникает при втором вызове errorCheck только:

OpenGL error 1282: invalid operation

Строка версии отображается как 2.1 ATI-1.51.8 без нее, так GLUT_3_2_CORE_PROFILE и 4.1 ATI-1.51.8 с. Требуется ли дальнейшая инициализация в этой новой версии OpenGL?

glMatrixMode является частью устаревшего конвейера фиксированных функций и недоступен в основном профиле OpenGL 3.2.

FIXED: OpenGL Error 1282 (Invalid Operation) Minecraft | Working Tutorial | PC Error Fix

GLUT использует устаревший профиль по умолчанию для всех созданных контекстов OpenGL. Вы должны опустить GLUT_3_2_CORE_PROFILE :

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);

или вам нужно ограничиться функциональностью основного профиля .

Подробные спецификации и различия между основным профилем и режимом прямой совместимости можно найти в спецификации OpenGL — реестре Khronos OpenGL.

OpenGL версии 3.0 представил идею отказа от функциональности. Многие функции OpenGL были объявлены устаревшими, что означает, что пользователям следует избегать их использования, поскольку они могут быть удалены из более поздних версий API. OpenGL 3.1 удалил почти все функции, устаревшие в OpenGL 3.0. Это включает в себя конвейер фиксированных функций .

.

Новое расширение ARB_compatibility было представлено, когда был представлен OpenGL 3.1. Наличие этого расширения является сигналом для пользователя о том, что устаревшие или удаленные функции по-прежнему доступны через исходные точки входа и перечисления. Поведение таких реализаций определяется отдельной, гораздо более крупной спецификацией OpenGL . Таким образом, существовала спецификация с обратной совместимостью и спецификация без обратной совместимости.
Однако, поскольку многие реализации в любом случае поддерживают устаревшие и удаленные функции, некоторые реализации хотят предоставить возможность пользователям более высоких версий GL получить доступ к старым API. Было испробовано несколько техник, и теперь это разделение на контексты Core и Compatibility.

OpenGL 3.0 был последней версией спецификации, которая полностью поддерживала как фиксированные, так и программируемые функции. Даже в этом случае большая часть оборудования, начиная с поколения OpenGL 2.0, не имела реального оборудования с фиксированными функциями. Вместо этого процессы с фиксированными функциями эмулируются шейдерами, созданными системой.

В OpenGL 3.2 в основном профиле отсутствуют эти концепции фиксированных функций. Профиль совместимости поддерживает их. Однако большинство новых функций OpenGL не могут работать с фиксированной функцией, даже если теоретически может показаться возможным их взаимодействие.

В 2008 году была выпущена версия 3.0 спецификации OpenGL. В этой версии фиксированный конвейер функций, а также большинство связанных функций и констант OpenGL были объявлены устаревшими. Эти устаревшие элементы и концепции теперь обычно называют устаревшим OpenGL.
Устаревший OpenGL по-прежнему поддерживается некоторыми реализациями, которые поддерживают ядро ​​OpenGL 3.1 или выше и расширение GL_ARB_compatibility . Реализации, которые не предоставляют это расширение, предлагают только функции, определенные в базовой спецификации OpenGL, на которой основана реализация.

Ошибки OpenGL 1280 и 1282 в Minecraft

Читайте также:  Прикольные механизмы в Майнкрафте 1 12

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Источник: www.javaer101.com

Windows 10: OpenGL error 1282 Invalid Operation!

Discus and support OpenGL error 1282 Invalid Operation! in Windows 10 Gaming to solve the problem; So, I think this is the 4th question I have asked Microsoft. I had many problems with my computer. Now I have a new one so I have less problems, but I. Discussion in ‘Windows 10 Gaming’ started by LazerDab, Jan 3, 2021 .

OpenGL error 1282 Invalid Operation!

OpenGL error 1282 Invalid Operation! — Similar Threads — OpenGL error 1282

OpenGL Error: 1282 (Invalid Operation) in Minecraft

in Windows 10 News

OpenGL Error: 1282 (Invalid Operation) in Minecraft: [ATTACH]OpenGL Error: 1282 (Invalid Operation) is a common Minecraft error. This error is especially prevalent in the Minecraft version with Mods installed. The error message spams itself in your chat and sometimes even turns your screen black. According to Minecraft gamers.

OpenGL error

in Windows 10 Drivers and Hardware

OpenGL error: ok so I’ve downloaded a game onto my computer and when I opened the game came up with an error sayingGLFW error 65542: WGL: the driver does not appear to support OpenGL. please make sure you have up to date drivers. I’ve tried to install OpenGL in multiple ways and have.

openGL error

in Windows 10 Software and Apps

openGL error: Merhaba, CS 1.6 OpenGL oyunu oynarken bir hata verir nasıl OpenGL yüklemek için https://answers.microsoft.com/en-us/windows/forum/all/opengl-error/44b13166-9280-44d0-986e-84d788a3de57

WFP Invalid Operation BSOD

in Windows 10 BSOD Crashes and Debugging

WFP Invalid Operation BSOD: Hello, I have been having trouble with my laptop for a while now. My model is an Acer Aspire VN7-791G-79QW. I have already contacted the Acer Support service and they told me to downgrade to windows 8.1 and deinstall my antivirus. However, I been having win 10 for about 2.

Onedrive: The Cloud operation is invalid

in Windows 10 Network and Sharing

Читайте также:  Как в Майнкрафте огненные стрелы

Onedrive: The Cloud operation is invalid: I keep having this error. I allreay uninstalled Onedrive en re-installed it. The error keeps returning.. https://answers.microsoft.com/en-us/windows/forum/all/onedrive-the-cloud-operation-is-invalid/266cf235-18fb-4961-8842-8a5ff33d4f70

WFP invalid operation BSOD

in Windows 10 BSOD Crashes and Debugging

WFP invalid operation BSOD: Hello, I have been having trouble with my laptop for a while now. My model is an Acer Aspire VN7-791G-79QW. I have already contacted the Acer Support service and they told me to downgrade to windows 8.1 and deinstall my antivirus. However, I been having win 10 for about 2.

Opengl error

in Windows 10 Ask Insider

Opengl error: I went to bed for like 2 hours and left Geometry Dash open. When i came back i tried to open it i got some weird Opengl error in chinese. I don’t visit weird sites and do virus scans pretty often. What is wrong? submitted by /u/SaltyTudor [link] [comments].

WFP Invalid Operation

in Windows 10 BSOD Crashes and Debugging

WFP Invalid Operation: Hi so i keep getting this blue screen initially when idle the when i i start to play a game of LoL and finally when i was trying to update drivers. I recently reformatted my laptop because previously my wifi driver was acting very strange, it would disable by itself.

wfp invalid operation

in Windows 10 Customization

wfp invalid operation: Здравствуйте, при каком либо движение ноутбука появляется синий экран с надписью ВПП INVALID OPERATION, уже попробовал несколько способов с YouTube все обновил и драйвера Все равно ничего НЕ изменилось ноутбук Acer Aspire es1-523 Процессор AMD E1-7010 APU с графикой AMD.

Источник: www.windowsphoneinfo.com

Ошибка OpenGL 1282 (недопустимая операция) при использовании GLUT_3_2_CORE_PROFILE

Я пытаюсь использовать более новую версию OpenGL, чем значение по умолчанию 2.1 на моем mac, используя GLUT_3_2_CORE_PROFILE при инициализации GLUT. Однако это приводит к сбою первой операции OpenGL с неправильной работой. Перед вызовом этой первой функции не сообщалось об ошибке, и не было ошибки, GLUT_3_2_CORE_PROFILE без GLUT_3_2_CORE_PROFILE .

glutInit( glutInitDisplayMode(GLUT_3_2_CORE_PROFILE | GLUT_DOUBLE | GLUT_RGBA); glutInitWindowSize(500, 500); glutCreateWindow(«Demo»); glutDisplayFunc(displayListener); errorCheck(); glMatrixMode(GL_PROJECTION); errorCheck();
Содержимое errorCheck просто:
GLenum error; while ((error = glGetError()))
Согласно названию, ошибка 1282 создается вторым вызовом errorCheck :
OpenGL error 1282: invalid operation

Строка версии представлена как 2.1 ATI-1.51.8 без GLUT_3_2_CORE_PROFILE и 4.1 ATI-1.51.8 с. Требуется ли дополнительная инициализация в этой новой версии OpenGL?

MTCoster 14 янв. 2018, в 13:41
Поделиться

Это потому, что ваша первая операция OpenGL — недопустимая в профилях ядра 3.2 . (Вы знаете, что такое профиль ядра 3.2, или вы просто установили эту опцию, потому что кто-то сказал, что вам следует?)

Читайте также:  Сиды на Майнкрафт список

immibis 15 янв. 2018, в 00:36
Я настроил его на игру с новыми функциями шейдеров, так что немного
MTCoster 15 янв. 2018, в 11:05

Поделиться:

1 ответ

Лучший ответ

glMatrixMode является частью устаревшей конвейера с фиксированной функцией и недоступен в основном профиле OpenGL 3.2.

GLUT использует профиль Legacy по умолчанию для всех созданных контекстов OpenGL. Вы должны опустить GLUT_3_2_CORE_PROFILE :

glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);

или вам необходимо ограничить функциональность основного профиля.

Подробные спецификации и различия между основным профилем и режимом прямой совместимости можно найти по спецификации OpenGL — реестр Хронос OpenGL

OpenGL версии 3.0 представила идею устаревания функциональности. Многие функции OpenGL объявлены устаревшими, что означает, что пользователям следует избегать их использования, поскольку они могут быть удалены из более поздних версий API. OpenGL 3.1 удалил почти все функции, устаревшие в OpenGL 3.0. Это включает в себя канал с фиксированной функциональностью.

.

Новое расширение, ARB_compatibility, было введено, когда OpenGL 3.1 был обнаружен. Наличие этого расширения является сигналом для пользователя, что устаревшие или удаленные функции по-прежнему доступны через исходные точки входа и перечисления. Поведение таких реализаций определяется с помощью отдельной, гораздо большей, спецификации OpenGL. Таким образом, была спецификация с обратной совместимостью и спецификацией, не поддерживающей обратную совместимость.
Однако, поскольку многие реализации поддерживают устаревшие и удаленные функции в любом случае, некоторые реализации хотят иметь возможность предоставлять пользователям более высокие версии GL доступ к старым API. Было опробовано несколько методов, и оно основано на разделении между контекстами Core и Compatibility.

OpenGL 3.0 был последней версией спецификации, которая полностью поддерживала как фиксированную, так и программируемую функциональность. Тем не менее, большинство аппаратных средств, поскольку поколение OpenGL 2.0 не имело реального оборудования с фиксированной функциональностью. Вместо этого процессы с фиксированной функцией эмулируются с помощью шейдеров, построенных системой.

В OpenGL 3.2 основной профиль не имеет этих концепций с фиксированной функцией. Профиль совместимости поддерживает их. Однако большинство новых функций OpenGL не могут работать с фиксированной функцией, даже если теоретически возможно их взаимодействие.

В 2008 году была выпущена версия 3.0 спецификации OpenGL. С этой ревизией Протокол с фиксированной функциональностью, а также большинство связанных функций и констант OpenGL были объявлены устаревшими. Эти устаревшие элементы и концепции теперь обычно называются устаревшими OpenGL.
Legacy OpenGL по-прежнему поддерживается некоторыми реализациями, поддерживающими основной OpenGL 3.1 или выше и расширение GL_ARB_compatibility. Реализации, которые не раскрывают это расширение, предлагают только функции, определенные в базовой спецификации OpenGL, на которой основана реализация.

Источник: overcoder.net