Как исправить ошибку Minecraft GLFW 65542 (драйвер не поддерживает OpenGL)?
Некоторые игроки Minecraft сталкиваются с ошибкой GLFW 65542 каждый раз, когда пытаются запустить игру. Эта проблема чаще всего возникает в Windows 10 с версией Minecraft на базе Java.
Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)
Большинство пользователей, которые боролись с этим кодом ошибки, смогли исправить ошибку GLFW 65542, скопировав отсутствующий файл opengl32.dll вручную в JRE (каталог Java). Если это не работает или вы хотите избежать каких-либо ручных изменений в каталоге JAVA, вы также можете переустановить каждый драйвер графического процессора, чтобы убедиться, что файл opengl32.dll будет переустановлен.
Однако, если вы столкнулись с этой проблемой в Java-версии Minecraft, эта проблема также может быть облегчена конфликтом с драйвером DisplayLink. В этом случае вы можете решить проблему, удалив конфликтующий драйвер и перезапустив игру.
Способ 1: добавление OpenGL.DLL вручную
Несмотря на то, что каждый необходимый файл библиотеки динамической компоновки обычно включается вашим драйвером графического процессора, это не всегда так. Более того, вы могли по ошибке удалить opengl32.dll или opengl64.dll, что в конечном итоге вызовет ошибку GLFW 65542.
Если этот сценарий применим, один из способов решить проблему — вручную скопировать отсутствующий файл .DLL в папку Java и JRE, чтобы позволить Minecraft использовать OpenGL. Это исправление было подтверждено множеством пользователей, которые в настоящее время сталкиваются с ошибкой 65542 в Minecraft.
Чтобы вручную добавить файл OpenGL.dll в путь Java, следуйте инструкциям ниже:
-
-
- Откройте эту ссылку ( здесь ), загрузите файл Minecraft_OpenGL.zip и дождитесь завершения загрузки. После завершения загрузки извлеките содержимое архива с помощью такой утилиты, как 7zip или WinZip .
- После извлечения содержимого этой утилиты скопируйте файл, совместимый с архитектурой вашей ОС, в буфер обмена, щелкнув его правой кнопкой мыши и выбрав « Копировать» или « Вырезать» .
Примечание. Если вы не знаете, какую архитектуру ОС вы используете, щелкните правой кнопкой мыши « Мой компьютер» (этот компьютер) и выберите « Свойства» в контекстном меню. На экране « Свойства» проверьте список в разделе « Тип системы» — это архитектура вашей ОС.
Затем перейдите в следующее место и вставьте файл opengl32.dll, который вы ранее скопировали в буфер обмена:Примечание. Имейте в виду, что * JRE Version * — это просто заполнитель. Вам нужно будет заменить его своей версией JRE. Кроме того, если вы установили среду Java в произвольном месте, перейдите туда.
- Когда вам будет предложено UAC (Контроль учетных записей пользователей) , нажмите Да, чтобы предоставить доступ администратора.
- После того, как файл opengl32.dll был скопирован в правильную среду, запустите Minecraft еще раз и посмотрите, устранена ли проблема.
Если проблема не устранена, перейдите к следующему потенциальному исправлению ниже.
-
Способ 2: удаление DisplayLink (если применимо)
Если вы активно используете драйвер DisplayLink, имейте в виду, что эта технология может конфликтовать с версией Minecraft на Java.
Некоторые пользователи, с которыми мы сталкиваемся с ошибкой GLFW Error 65542 всякий раз, когда они пытались запустить Minecraft, подтвердили, что его проблема исчезла навсегда, как только они закончили удаление графического программного обеспечения USB DisplayLink.
Если этот сценарий применим к вам, следуйте приведенным ниже инструкциям, чтобы удалить программное обеспечение DisplayLink USB Graphics с вашего компьютера, чтобы устранить конфликт с Minecraft:
- Нажмите клавишу Win + R, чтобы открыть диалоговое окно «Выполнить». Затем введите appwiz.cpl и нажмите Enter, чтобы открыть меню «Программы и компоненты» .
Введите appwiz.cpl и нажмите Enter, чтобы открыть список установленных программ. - Зайдя в меню «Программы и файлы» , прокрутите список установленных приложений вниз и найдите запись с именем DisplayLink Graphics Driver.
- Когда вам удастся найти его, кликните его правой кнопкой мыши и выберите «Удалить» из контекстного меню, чтобы начать процесс удаления.
При появлении запроса на подтверждение нажмите Да, затем следуйте инструкциям на экране, чтобы завершить процесс удаления.
- После завершения операции перезагрузите компьютер и снова запустите Minecraft после завершения следующего запуска, чтобы проверить, устранен ли конфликт.
Если этот сценарий неприменим или вы уже выполнили его безуспешно, перейдите к следующему потенциальному исправлению ниже.
Способ 3: переустановка драйверов видеокарты
Как выясняется, вы также столкнетесь с ошибкой GLFW Error 65542, если используете набор устаревших графических драйверов, которые не знают, как работать с версией OpenGL, которую использует Minecraft.
Однако, если у вас недавно были проблемы с вредоносными программами, эта проблема также может быть связана с проверкой безопасности, если операция в результате изолировала некоторые файлы, необходимые для запуска OpenGL.
Если вы не обновляли драйверы GPU в течение некоторого времени, вероятно, вы сможете исправить проблему, используя Диспетчер устройств и Программы и компоненты, чтобы удалить все, что связано с вашим GPU, а затем переустановить их с официальных каналов.
Если вы не совсем уверены, как это сделать, следуйте приведенным ниже инструкциям:
- Нажмите клавишу Win + R, чтобы открыть диалоговое окно «Выполнить». Затем введите devmgmt.msc и нажмите Enter, чтобы открыть диспетчер устройств. Если вам будет предложено UAC, нажмите Да, чтобы предоставить доступ администратора.
Запуск диспетчера устройств
- Как только вы войдете в диспетчер устройств, разверните раскрывающееся меню, связанное с адаптерами дисплея, затем продолжите и удалите все графические драйверы, кликнув их правой кнопкой мыши и выбрав Удалить — сделайте это для каждой записи внутри адаптеров устройств. Если у вас есть как встроенный, так и выделенный графический процессор, удалите оба типа драйверов.
Примечание. После удаления экран может мерцать. Это происходит потому, что ваша ОС вернется к стандартным драйверам.
- После удаления всех драйверов графического процессора из диспетчера устройств закройте утилиту диспетчера устройств.
- Еще раз нажмите клавишу Win + R, чтобы открыть другое диалоговое окно «Выполнить». Затем введите appwiz.cpl и нажмите Enter, чтобы открыть экран «Программы и компоненты».
Зайдя в меню «Программы и компоненты», прокрутите список установленных приложений и начните удалять все, что связано с производителем вашего графического процессора (Nvidia AMD или Intel). Вы можете убедиться, что ничего не оставите, кликнув столбец «Издатель», чтобы расположить их один за другим. Просто щелкните правой кнопкой мыши каждый инструмент или драйвер, связанный с графическим процессором, а затем выберите Удалить в контекстном меню.
Удалите все программное обеспечение, связанное с GPU
- На экране удаления следуйте инструкциям на экране, чтобы завершить процесс. После удаления всех соответствующих драйверов перезагрузите компьютер и дождитесь завершения следующего запуска.
- После завершения следующего запуска посетите страницу загрузки, связанную с вашим производителем графического процессора, и загрузите последнюю версию драйвера, доступную для вашей конкретной модели графического процессора:
Страница загрузки Nvidia
Страница загрузки AMD
Страницазагрузки графики Intel - Загрузите и установите рекомендуемые драйверы в зависимости от модели вашей видеокарты, затем перезагрузите компьютер и запустите Minecraft после завершения следующего запуска, чтобы проверить, устранена ли проблема.
Источник
3 простых способа исправить ошибку GLFW 65542 в Minecraft
Minecraft — одна из популярных игр среди сообщества, предлагающая освежающую концепцию. Однако и он подвержен ошибкам. Наиболее распространенной из них является ошибка GLFW 65542 при открытии лаунчера Minecraft.
Эта ошибка в основном встречается в версии игры для Java, после чего появляется сообщение об ошибке Драйвер не поддерживает OpenGL в Minecraft.
Причина, по которой вы сталкиваетесь с ошибкой, может быть связана с отсутствующим файлом OpenGL32.dll или конфликтующими и устаревшими драйверами.
Определить основную причину здесь сложно, поэтому мы рекомендуем вам выполнить исправления в указанной последовательности для быстрого решения ошибки GLFW 65542 в Minecraft.
Как исправить ошибку GLFW 65542 при запуске Minecraft?
1. Вручную загрузите файл OpenGL32.DLL.
- Откройте любой браузер, перейдите на страницу загрузки OpenGL32.DLL на DLL-Files.com и нажмите «Загрузить» для получения последней версии.
- После завершения загрузки перейдите к месту, где хранится файл, щелкните его правой кнопкой мыши и выберите «Извлечь все» в контекстном меню. Вы также можете использовать для этого надежное стороннее программное обеспечение.
- Теперь нажмите «Обзор», чтобы выбрать нужный путь для извлеченных файлов, или воспользуйтесь выбором по умолчанию, и нажмите «Извлечь» внизу.
- Затем откройте извлеченную папку, выберите файл opengl32.dll и нажмите Ctrl + C , чтобы скопировать его.
- Теперь перейдите по следующему пути и нажмите Ctrl + V , чтобы вставить файл. Здесь «Версия» представляет собой версию, установленную на вашем компьютере, поэтому замените ее соответствующим образом.
C:Program FilesJava»Version»bin
Если за ошибкой стоит отсутствующий файл OpenGL.dll, вам придется загрузить его, чтобы исправить ошибку GLFW 65542.
После этого перезагрузите компьютер, чтобы изменения вступили в силу, и проверьте, не сталкиваетесь ли вы с ошибкой GLFW 65542 при запуске Minecraft. Если да, перейдите к следующему способу.
2. Обновите графический драйвер
- Нажмите Windows + S , чтобы открыть меню поиска, введите «Диспетчер устройств» в текстовое поле вверху и щелкните соответствующий результат поиска.
- Дважды щелкните здесь запись «Адаптеры дисплея».
- Теперь щелкните правой кнопкой мыши установленную видеокарту и выберите «Обновить драйвер» в контекстном меню.
- Выберите Автоматический поиск драйверов из двух вариантов здесь.
- Подождите, пока Windows установит лучший доступный драйвер для графического адаптера.
Устаревший графический драйвер также может быть причиной ошибки GLFW 65542 в Minecraft для Windows 10, и его обновление помогло решить проблему для многих пользователей. С каждым обновлением производители выпускают исправления для ранее известных ошибок, а также несколько других улучшений.
Если метод диспетчера устройств не работает, вы можете вручную установить последнюю версию драйвера в Windows.
3. Удалите конфликтующие драйверы.
- Нажмите Windows +, чтобы запустить R команду «Выполнить», введите appwiz.cpl в текстовое поле и либо нажмите «ОК», либо нажмите «Программы и компоненты». Enter
- Теперь найдите здесь любую запись с именем DisplayLink, выберите ее и нажмите «Удалить».
- Следуйте инструкциям на экране, чтобы завершить процесс.
Было обнаружено, что программное обеспечение DisplayLink USB Graphics конфликтует с версией Minecraft на основе Java, поэтому рекомендуется удалить его с ПК. Также не забудьте перезагрузить компьютер, чтобы изменения полностью вступили в силу.
Как исправить ошибки OpenGL в Minecraft?
Ошибки OpenGL обычно связаны с проблемными или несовместимыми драйверами и могут помешать запуску игр. Хотя в некоторых случаях были неправильно настроены параметры питания, из-за которых игра не получала требуемой мощности.
Независимо от основной причины, вы всегда можете легко исправить ошибки OpenGL в Windows, будь то Minecraft или любая другая игра.
К настоящему времени вы знаете все решения для ошибки GLFW 65542 при открытии Minecraft в Windows 7, 10 и 11. Кроме того, узнайте, как исправить распространенные ошибки Minecraft на вашем ПК.
Расскажите нам, какое исправление сработало, и ваш отзыв о Minecraft в разделе комментариев ниже.
Источник
Error creating the windows with glfw failed internal info plugin initiailzeplugin line 3776
31 категория с 45 модификацией для Minecraft
Как устранить ошибку GLFW error 65543/65542 в Minecraft
Данная ошибка часто возникает у обладателей нового железа или же после переустановки Windows. Ниже рассмотрены основные способы для устранения проблемы. Они представлены в виде логичных шагов, которые идут друг за другом. Если предыдущий способ не помог, то следует переходить к следующему.
Способ 1: Установка новой Java
Одно из возможных решений проблемы. Следует перейти на официальный сайт Jav’ы (https://www.oracle.com/java/technologies/downloads/). Далее, там же нужно скачать новейшую доступную версию. Главное, чтобы она была не меньше Java 16 – ведь именно такая версия начинает поддерживаться игрой, начиная с 1.17. Скачиваем, следуем инструкциям инталлятора. Готово! Новая Java установлена.
Способ 2: Добавление OpenGL.dll вручную
Обычно при установке Java-файлов проблем не возникает. Ведь инсталлятор сам автоматически устанавливает opengl32.dll или opengl64.dll. Тем не менее, чаще всего в Windows 10, Java-установщики бывают пропускают этот шаг в установке. Именно отсутствие этого файла в директории Jav’ы вызывает ошибку.
Шаг 1: Переходим на сайт https://ru.dll-files.com/opengl32.dll.html . Качаем файл, подходящий архитектуре нашей операционной системы (64-х или 32-х битная). Чтобы узнать какая стоит на определенном компьютере: нужно на рабочем столе нажать ПКМ (Правой Кнопкой Мыши) на “Мой Компьютер”, затем выбрать свойства. Там будет виден “Тип системы”. Качаем файл такой же архитектуры, как и ОС.
Шаг 2: Находим папку “bin” в JavaJREbin . Если Java установлена по умолчанию, то путь будет следующим:
Вставляем в директорию “bin” файл opengl64.dll (или opengl32.dll). Если предлагают предоставить доступ администратору, соглашаемся.
Шаг 3: Вновь запускаем Minecraft. Если проблема не устранена, тогда переходим к следующему методу.
Способ 3: Удаление DisplayLink (выборочно )
Драйвер DisplayLink (если у вас используется именно он) иногда конфликтует с некоторыми Java-файлами. При этом его можно безбоязненно удалить.
Шаг 1: Переходим в “Программы и компоненты”. Для этого можно зайти в “Пуске” в “Панель управления” и там найти нужную нам иконку. Или же можно нажать “Win + R”. Затем, вписать в окно “Выполнить” значение appwiz.cpl .
Шаг 2: Находим в списке DisplayLink Graphics Driver. Удаляем его.
Шаг 3: После завершения удаления перезагружаем компьютер. Открываем Minecraft. Проверяем устранение проблемы.
Способ 4: Переустановка драйверов видеокарты
Проблема может заключаться в слишком старых драйверах для вашего устройства. Они просто могут не понимать: каким образом взаимодействовать с OpenGL.
Шаг 1: Нажимаем “Win + R”. Появляется окно “Выполнить”. Вводим в него devmgmt.msc и переходим на “Диспетчер устройств”.
Шаг 2: Находим “Display adapters” или же “Видеоадаптеры”. Удаляем все драйвера оттуда. ВНИМАНИЕ! Экран может тускнеть, мерцать, глючить. Это все нормальные явления, ведь система возвращается к собственным драйверам по умолчанию.
Шаг 3: Далее заходим в “Программы и компоненты” . Для этого выбираем этот файл в Пуск > Панель управления. Или же нажимаем “Win + R” и вписываем appwiz.cpl , как в прошлом способе.
Шаг 4: Важный момент: у каждого разное железо, в том числе видеокарты. Поэтому необходимо самостоятельно найти компоненты определенного оборудования. Обычно это видеокарты Nvidia, AMD или Intel. Последние две являются встроенными. На определенных компьютерах могут быть сразу как встроенные видеокарты, так и дискретные. Есть еще USB-видеокарты, но для игр они не используются.
Поэтому необходимо найти + удалить ВСЕ файлы, связанные с GPU (видеокартой). При этом: важно не задеть остальные компоненты и утилиты.
Шаг 5: Перезагружаем компьютер. После перезагрузки переходим на сайт производителя оборудования и скачиваем новые драйвера для своей видеокарты. Например: внизу оставлены ссылки на сайты 3-ех уже упомянутых компаний.
Шаг 6: Устанавливаем драйвера для своей видеокарты. Перезагружаем компьютер. Вновь заходим в Minecraft и проверяем.
Способ 5: Замена железа
Если все последующие способы были выполнены правильно и не дали никакого результата, то следует заменить видеокарту. Скорее всего, железо устарело и не поддерживает новую версию Minecraft. Правда, этот способ не касается тех людей, у которых до переустановки системы игра работала нормально.
Источник
Некоторые игроки Minecraft сталкиваются с ошибкой GLFW 65542 каждый раз, когда пытаются запустить игру. Эта проблема чаще всего возникает в Windows 10 с версией Minecraft на базе Java.
Большинство пользователей, которые боролись с этим кодом ошибки, смогли исправить ошибку GLFW 65542, скопировав отсутствующий файл opengl32.dll вручную в JRE (каталог Java). Если это не работает или вы хотите избежать каких-либо ручных изменений в каталоге JAVA, вы также можете переустановить каждый драйвер графического процессора, чтобы убедиться, что файл opengl32.dll будет переустановлен.
Однако, если вы столкнулись с этой проблемой в Java-версии Minecraft, эта проблема также может быть облегчена конфликтом с драйвером DisplayLink. В этом случае вы можете решить проблему, удалив конфликтующий драйвер и перезапустив игру.
Способ 1: добавление OpenGL.DLL вручную
Несмотря на то, что каждый необходимый файл библиотеки динамической компоновки обычно включается вашим драйвером графического процессора, это не всегда так. Более того, вы могли по ошибке удалить opengl32.dll или opengl64.dll, что в конечном итоге вызовет ошибку GLFW 65542.
Если этот сценарий применим, один из способов решить проблему — вручную скопировать отсутствующий файл .DLL в папку Java и JRE, чтобы позволить Minecraft использовать OpenGL. Это исправление было подтверждено множеством пользователей, которые в настоящее время сталкиваются с ошибкой 65542 в Minecraft.
Чтобы вручную добавить файл OpenGL.dll в путь Java, следуйте инструкциям ниже:
-
-
- Откройте эту ссылку ( здесь ), загрузите файл Minecraft_OpenGL.zip и дождитесь завершения загрузки. После завершения загрузки извлеките содержимое архива с помощью такой утилиты, как 7zip или WinZip .
- После извлечения содержимого этой утилиты скопируйте файл, совместимый с архитектурой вашей ОС, в буфер обмена, щелкнув его правой кнопкой мыши и выбрав « Копировать» или « Вырезать» .
Примечание. Если вы не знаете, какую архитектуру ОС вы используете, щелкните правой кнопкой мыши « Мой компьютер» (этот компьютер) и выберите « Свойства» в контекстном меню. На экране « Свойства» проверьте список в разделе « Тип системы» — это архитектура вашей ОС.
- Затем перейдите в следующее место и вставьте файл opengl32.dll, который вы ранее скопировали в буфер обмена:
C: Program Files Java * Версия JRE * bin
Примечание. Имейте в виду, что * JRE Version * — это просто заполнитель. Вам нужно будет заменить его своей версией JRE. Кроме того, если вы установили среду Java в произвольном месте, перейдите туда.
- Когда вам будет предложено UAC (Контроль учетных записей пользователей) , нажмите Да, чтобы предоставить доступ администратора.
- После того, как файл opengl32.dll был скопирован в правильную среду, запустите Minecraft еще раз и посмотрите, устранена ли проблема.
Если проблема не устранена, перейдите к следующему потенциальному исправлению ниже.
-
Способ 2: удаление DisplayLink (если применимо)
Если вы активно используете драйвер DisplayLink, имейте в виду, что эта технология может конфликтовать с версией Minecraft на Java.
Некоторые пользователи, с которыми мы сталкиваемся с ошибкой GLFW Error 65542 всякий раз, когда они пытались запустить Minecraft, подтвердили, что его проблема исчезла навсегда, как только они закончили удаление графического программного обеспечения USB DisplayLink.
Если этот сценарий применим к вам, следуйте приведенным ниже инструкциям, чтобы удалить программное обеспечение DisplayLink USB Graphics с вашего компьютера, чтобы устранить конфликт с Minecraft:
- Нажмите клавишу Win + R, чтобы открыть диалоговое окно «Выполнить». Затем введите appwiz.cpl и нажмите Enter, чтобы открыть меню «Программы и компоненты» .
Введите appwiz.cpl и нажмите Enter, чтобы открыть список установленных программ. - Зайдя в меню «Программы и файлы» , прокрутите список установленных приложений вниз и найдите запись с именем DisplayLink Graphics Driver.
- Когда вам удастся найти его, кликните его правой кнопкой мыши и выберите «Удалить» из контекстного меню, чтобы начать процесс удаления.
При появлении запроса на подтверждение нажмите Да, затем следуйте инструкциям на экране, чтобы завершить процесс удаления.
- После завершения операции перезагрузите компьютер и снова запустите Minecraft после завершения следующего запуска, чтобы проверить, устранен ли конфликт.
Если этот сценарий неприменим или вы уже выполнили его безуспешно, перейдите к следующему потенциальному исправлению ниже.
Способ 3: переустановка драйверов видеокарты
Как выясняется, вы также столкнетесь с ошибкой GLFW Error 65542, если используете набор устаревших графических драйверов, которые не знают, как работать с версией OpenGL, которую использует Minecraft.
Однако, если у вас недавно были проблемы с вредоносными программами, эта проблема также может быть связана с проверкой безопасности, если операция в результате изолировала некоторые файлы, необходимые для запуска OpenGL.
Если вы не обновляли драйверы GPU в течение некоторого времени, вероятно, вы сможете исправить проблему, используя Диспетчер устройств и Программы и компоненты, чтобы удалить все, что связано с вашим GPU, а затем переустановить их с официальных каналов.
Если вы не совсем уверены, как это сделать, следуйте приведенным ниже инструкциям:
- Нажмите клавишу Win + R, чтобы открыть диалоговое окно «Выполнить». Затем введите devmgmt.msc и нажмите Enter, чтобы открыть диспетчер устройств. Если вам будет предложено UAC, нажмите Да, чтобы предоставить доступ администратора.
Запуск диспетчера устройств
- Как только вы войдете в диспетчер устройств, разверните раскрывающееся меню, связанное с адаптерами дисплея, затем продолжите и удалите все графические драйверы, кликнув их правой кнопкой мыши и выбрав Удалить — сделайте это для каждой записи внутри адаптеров устройств. Если у вас есть как встроенный, так и выделенный графический процессор, удалите оба типа драйверов.
Примечание. После удаления экран может мерцать. Это происходит потому, что ваша ОС вернется к стандартным драйверам.
- После удаления всех драйверов графического процессора из диспетчера устройств закройте утилиту диспетчера устройств.
- Еще раз нажмите клавишу Win + R, чтобы открыть другое диалоговое окно «Выполнить». Затем введите appwiz.cpl и нажмите Enter, чтобы открыть экран «Программы и компоненты».
Зайдя в меню «Программы и компоненты», прокрутите список установленных приложений и начните удалять все, что связано с производителем вашего графического процессора (Nvidia AMD или Intel). Вы можете убедиться, что ничего не оставите, кликнув столбец «Издатель», чтобы расположить их один за другим. Просто щелкните правой кнопкой мыши каждый инструмент или драйвер, связанный с графическим процессором, а затем выберите Удалить в контекстном меню.
Удалите все программное обеспечение, связанное с GPU - На экране удаления следуйте инструкциям на экране, чтобы завершить процесс. После удаления всех соответствующих драйверов перезагрузите компьютер и дождитесь завершения следующего запуска.
- После завершения следующего запуска посетите страницу загрузки, связанную с вашим производителем графического процессора, и загрузите последнюю версию драйвера, доступную для вашей конкретной модели графического процессора:
Страница загрузки Nvidia
Страница загрузки AMD
Страница загрузки графики Intel - Загрузите и установите рекомендуемые драйверы в зависимости от модели вашей видеокарты, затем перезагрузите компьютер и запустите Minecraft после завершения следующего запуска, чтобы проверить, устранена ли проблема.
mnj 114 / 3 / 0 Регистрация: 24.05.2016 Сообщений: 19 |
||||
1 |
||||
01.06.2019, 13:19. Показов 5365. Ответов 13 Метки нет (Все метки)
Товарищи, объясните проблему, вот исходник из учебника на habr.com:
При создании окна glfwCreateWindow получаю window = NULL. В чем может быть проблема? (VS 2015, все вроде подключено правильно…) Миниатюры
0 |
8Observer8 5113 / 2727 / 461 Регистрация: 05.10.2013 Сообщений: 7,232 Записей в блоге: 193 |
||||
01.06.2019, 17:49 |
2 |
|||
VS 2015, все вроде подключено правильно… Не факт. Посмотрите в настройках моего проекта, сделанного в VS 2015, как я подключаю: EmptyWindow_GlfwOpenGL31Cpp.zip. В моём примере библиотеки находятся в самом проекте, то есть всё настроено, достаточно только запустить проект, должно всё работать. Если не заработает, то напишите, какие ошибки выдаёт. Должно вывестись пустое окно с тёмно-зелёным цветом фона. main.cpp
0 |
mnj 114 / 3 / 0 Регистрация: 24.05.2016 Сообщений: 19 |
||||
01.06.2019, 21:54 [ТС] |
3 |
|||
Ларчик открылся — не поддерживает моя видеокарта версию 3.3
и все заработало. Самое главное — замена режима CORE_PROFILE на ANY_PROFILE, похоже, что CORE_PROFILE на моей карте не работает. Хотя я пока не очень понимаю, чем это грозит
0 |
5113 / 2727 / 461 Регистрация: 05.10.2013 Сообщений: 7,232 Записей в блоге: 193 |
|
01.06.2019, 22:14 |
4 |
Я работаю на ноутбуке Asus x53s. У него две видеокарты: маломощная Intel (OpenGL 3.1) и более мощная Geforce (OpenGL 4.5). Это сделано для экономии энергии. Почти все приложения запускаются с маломощной, а игры запускаются с Geforce. Visual Studio по умолчанию запускается с маломощной. Я знаю способы, как запускать с более мощной, но мне пока хватает OpenGL 3.1 Добавлено через 4 минуты
0 |
114 / 3 / 0 Регистрация: 24.05.2016 Сообщений: 19 |
|
01.06.2019, 22:54 [ТС] |
5 |
Конечно попробовал. Работает без каких-либо танцев
0 |
114 / 3 / 0 Регистрация: 24.05.2016 Сообщений: 19 |
|
01.06.2019, 23:06 [ТС] |
6 |
Вот картинка работы Вашего тестового приложения. У меня ноутбук ASUS K72D с картой ATI Mobility Radeon HD5470, других на борту нет. Тест выдал поддержку OpenGL version 3.2.9752. Вот такой итог. Миниатюры
1 |
8Observer8 5113 / 2727 / 461 Регистрация: 05.10.2013 Сообщений: 7,232 Записей в блоге: 193 |
||||||||
02.06.2019, 00:18 |
7 |
|||||||
Я неправильно написал название своего ноутбука, вот: Asus K53SV. В документации на мой ноутбук: https://www.asus.com/Laptops/K53SV/specifications/ не написано, что у меня есть интегрированная карта. Написано — Nvidia Geforce GT 540M (1 GB) Попробуем тест?
У меня этот тест вывел, что у меня вторая карта, оказывается, поддерживает OpenGL 4.6.0: NVIDIA Corporation Этот тест я сделал из предыдущего примера. Я просто добавил эти строки в начало файла main.cpp:
Они принудительно запускают более мощные карты на NVIDIA Geforce и на AMD Radeon. И ещё я в код добавил вывод производителя и номер версии OpenGL:
Скорее всего, у вас будет выведено: ATI Mobility Radeon HD5470 Ну, а вдруг? Очень интересно.
1 |
114 / 3 / 0 Регистрация: 24.05.2016 Сообщений: 19 |
|
02.06.2019, 00:34 [ТС] |
8 |
Вот мой вывод, запускал сразу ехе Миниатюры
1 |
114 / 3 / 0 Регистрация: 24.05.2016 Сообщений: 19 |
|
02.06.2019, 00:46 [ТС] |
9 |
Вот мой вывод, запускал сразу ехе. Это получается, что теперь шейдеры, описанные в habr.com, у меня не будут компилироваться? Кстати, при пересборке получаю ругательство: 1>—— Rebuild All started: Project: hellow, Configuration: Debug Win32 —— Если я правильно понял, нужно пересобрать библиотеку glew под VS2015, только пока не очень получается, поскольку я на выходе из исходников получил библиотеки glew32d и libglew32d, а вовсе не glew32s
0 |
5113 / 2727 / 461 Регистрация: 05.10.2013 Сообщений: 7,232 Записей в блоге: 193 |
|
02.06.2019, 01:07 |
10 |
Это получается, что теперь шейдеры, описанные в habr.com, у меня не будут компилироваться? Вы скопируйте их сюда или дайте ссылку на хабр-статью. Я попробую у себя с 3.1. Добавлено через 35 секунд
0 |
114 / 3 / 0 Регистрация: 24.05.2016 Сообщений: 19 |
|
02.06.2019, 01:12 [ТС] |
11 |
Вот известный перевод обучающих материалов на хабре https://habr.com/ru/post/313380/
0 |
5113 / 2727 / 461 Регистрация: 05.10.2013 Сообщений: 7,232 Записей в блоге: 193 |
|
02.06.2019, 01:22 |
12 |
Если я правильно понял, нужно пересобрать библиотеку glew под VS2015, только пока не очень получается, поскольку я на выходе из исходников получил библиотеки glew32d и libglew32d, а вовсе не glew32s ‘s’ — это статика. Я давно в статику не собирал. Можно погуглить, как собирать в статику из VS. В настройках нужно несколько пунктов изменить. Может в версии дело, а может конфликт разрядности. Проект x64, а библиотека x32 или наоборот. Можете попробовать эту версию: glew-2.1.0.zip Она у меня в VS 2015 работала. А вообще я давно отказался от GLEW в пользу GLAD. Только не путать: GLEW и GLFW. У меня в примерах выше используется GLAD. Там есть только одна особенность, что glad.c нужно включить в исходники: Add -> Existing Item… Кстати, в этих уроках используется GLFW и GLAD: https://learnopengl.com/
1 |
5113 / 2727 / 461 Регистрация: 05.10.2013 Сообщений: 7,232 Записей в блоге: 193 |
|
02.06.2019, 01:24 |
13 |
Эти уроки я изучаю на английском, как раз ссылку выше я кинул. Где-то треть изучил. У меня примеры работают на 3.1
0 |
mnj 114 / 3 / 0 Регистрация: 24.05.2016 Сообщений: 19 |
||||
02.06.2019, 17:49 [ТС] |
14 |
|||
8Observer8, у меня тоже есть английский исходник (слитый с сайта автора оффлайн-бук). Но вопрос по-прежнему оставался в том, что не давало создать окно средствами GLFW, не могло ведь такого быть, чтобы 3 версия OpenGL не работала в core-profile режиме, это ведь ее главная идеология. Поскольку в настройках через glfw указывалась конкретная минорная версия 3, то оставалось грешить только на нее. Нашел таки упоминание о том, что этот режим идет с версии 3.2 (https://habr.com/ru/post/310790/). О, чудо: после конкретного указания минорной версии 2 все заработало:
Остается разобраться с шейдерами. Добавлено через 3 часа 18 минут
1 |
class Window
{
private:
const char *m_Title;
int m_Width, m_Height;
GLFWwindow *m_Window;
bool m_Closed;
public:
Window(const char *name, int width, int height);
~Window();
bool closed() const;
void update() const;
private:
bool init();
};
}
Window::Window(const char *title, int width, int height)
{
m_Title = title;
m_Width = width;
m_Height = height;
if (!init())
glfwTerminate();
}
Window::~Window()
{
glfwTerminate();
}
bool Window::init()
{
if (!glfwInit())
{
std::cout << "Failed to initialize GLFW!" << std::endl;
return false;
}
m_Window = glfwCreateWindow(m_Width, m_Height, m_Title, NULL, NULL);
if (!m_Window)
{
std::cout << "Failed to create GLFW window!" << std::endl;
return false;
}
glfwMakeContextCurrent(m_Window);
return true;
}
bool Window::closed() const
{
return glfwWindowShouldClose(m_Window) == 1;
}
void Window::update() const
{
glfwPollEvents();
glfwSwapBuffers(m_Window);
}
Window test("$engine", 800, 600);
while (!test.closed())
{
test.update();
}
system("PAUSE");
return 0;
Данная ошибка часто возникает у обладателей нового железа или же после переустановки Windows. Ниже рассмотрены основные способы для устранения проблемы. Они представлены в виде логичных шагов, которые идут друг за другом. Если предыдущий способ не помог, то следует переходить к следующему.
Способ 1: Установка новой Java
Одно из возможных решений проблемы. Следует перейти на официальный сайт Jav’ы (https://www.oracle.com/java/technologies/downloads/). Далее, там же нужно скачать новейшую доступную версию. Главное, чтобы она была не меньше Java 16 – ведь именно такая версия начинает поддерживаться игрой, начиная с 1.17. Скачиваем, следуем инструкциям инталлятора. Готово! Новая Java установлена.
Способ 2: Добавление OpenGL.dll вручную
Обычно при установке Java-файлов проблем не возникает. Ведь инсталлятор сам автоматически устанавливает opengl32.dll или opengl64.dll. Тем не менее, чаще всего в Windows 10, Java-установщики бывают пропускают этот шаг в установке. Именно отсутствие этого файла в директории Jav’ы вызывает ошибку.
Шаг 1: Переходим на сайт https://ru.dll-files.com/opengl32.dll.html . Качаем файл, подходящий архитектуре нашей операционной системы (64-х или 32-х битная). Чтобы узнать какая стоит на определенном компьютере: нужно на рабочем столе нажать ПКМ (Правой Кнопкой Мыши) на “Мой Компьютер”, затем выбрать свойства. Там будет виден “Тип системы”. Качаем файл такой же архитектуры, как и ОС.
Шаг 2: Находим папку “bin” в JavaJREbin . Если Java установлена по умолчанию, то путь будет следующим:
“C:Program filesJavajrebin”
Вставляем в директорию “bin” файл opengl64.dll (или opengl32.dll). Если предлагают предоставить доступ администратору, соглашаемся.
Шаг 3: Вновь запускаем Minecraft. Если проблема не устранена, тогда переходим к следующему методу.
Способ 3: Удаление DisplayLink (выборочно)
Драйвер DisplayLink (если у вас используется именно он) иногда конфликтует с некоторыми Java-файлами. При этом его можно безбоязненно удалить.
Шаг 1: Переходим в “Программы и компоненты”. Для этого можно зайти в “Пуске” в “Панель управления” и там найти нужную нам иконку. Или же можно нажать “Win + R”. Затем, вписать в окно “Выполнить” значение appwiz.cpl .
Шаг 2: Находим в списке DisplayLink Graphics Driver. Удаляем его.
Шаг 3: После завершения удаления перезагружаем компьютер. Открываем Minecraft. Проверяем устранение проблемы.
Способ 4: Переустановка драйверов видеокарты
Проблема может заключаться в слишком старых драйверах для вашего устройства. Они просто могут не понимать: каким образом взаимодействовать с OpenGL.
Шаг 1: Нажимаем “Win + R”. Появляется окно “Выполнить”. Вводим в него devmgmt.msc и переходим на “Диспетчер устройств”.
Шаг 2: Находим “Display adapters” или же “Видеоадаптеры”. Удаляем все драйвера оттуда. ВНИМАНИЕ! Экран может тускнеть, мерцать, глючить. Это все нормальные явления, ведь система возвращается к собственным драйверам по умолчанию.
Шаг 3: Далее заходим в “Программы и компоненты” . Для этого выбираем этот файл в Пуск > Панель управления. Или же нажимаем “Win + R” и вписываем appwiz.cpl , как в прошлом способе.
Шаг 4: Важный момент: у каждого разное железо, в том числе видеокарты. Поэтому необходимо самостоятельно найти компоненты определенного оборудования. Обычно это видеокарты Nvidia, AMD или Intel. Последние две являются встроенными. На определенных компьютерах могут быть сразу как встроенные видеокарты, так и дискретные. Есть еще USB-видеокарты, но для игр они не используются.
Поэтому необходимо найти + удалить ВСЕ файлы, связанные с GPU (видеокартой). При этом: важно не задеть остальные компоненты и утилиты.
Шаг 5: Перезагружаем компьютер. После перезагрузки переходим на сайт производителя оборудования и скачиваем новые драйвера для своей видеокарты. Например: внизу оставлены ссылки на сайты 3-ех уже упомянутых компаний.
Nvidia: https://www.nvidia.com/Downloa…
Intel: https://www.intel.com/content/…
AMD: https://www.amd.com/en/support
Шаг 6: Устанавливаем драйвера для своей видеокарты. Перезагружаем компьютер. Вновь заходим в Minecraft и проверяем.
Способ 5: Замена железа
Если все последующие способы были выполнены правильно и не дали никакого результата, то следует заменить видеокарту. Скорее всего, железо устарело и не поддерживает новую версию Minecraft. Правда, этот способ не касается тех людей, у которых до переустановки системы игра работала нормально.
Тем не менее, стоит еще раз убедиться в правильности предыдущих способов. Особенно, если GLFW error 65543/65542 так и не исчезла. Дополнительно можно поменять игровой лаунчер, ибо проблема порой может скрываться в нем. В любом случае проблему можно устранить. Главное – найти корень проблемы: драйвера, железо или же отсутствие файла opengl.dll .
I tried to create a window with the simplest code possible:
#include <stdio.h>
#include <stdlib.h>
#include <GL/glew.h> // Always include it before glfw.h
#include <GLFW/glfw3.h>
#include <glm/glm.hpp>
int main(void) {
glfwInit();
glfwWindowHint(GLFW_VERSION_MAJOR, 3); // OpenGL 3.3
glfwWindowHint(GLFW_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE); // Mac
GLFWwindow* window = glfwCreateWindow(720, 480, "OpenGL", NULL, NULL); // Create a window
if (window == NULL) {
fprintf(stderr, "Failed to create windown");
glfwTerminate();
return -1;
}
glfwMakeContextCurrent(window);
return 0;
}
This is my Makefile:
game:
g++ src/main.cpp -std=c++17 -o play -I include -L lib -l glfw.3 -l GLEW.2.2
When I compile my code there is no error, but when I try to play my code I have this error:
Failed to create window
Invalid window hint 0x00000003
Invalid window hint 0x00000003
Context profiles are only defined for OpenGL version 3.2 and above
Can someone help me? I don’t know why my window doesn’t want to be created…
Minecraft — одна из популярных игр среди сообщества, предлагающая освежающую концепцию. Однако и он подвержен ошибкам. Наиболее распространенной из них является ошибка GLFW 65542 при открытии лаунчера Minecraft.
Эта ошибка в основном встречается в версии игры для Java, после чего появляется сообщение об ошибке Драйвер не поддерживает OpenGL в Minecraft.
Причина, по которой вы сталкиваетесь с ошибкой, может быть связана с отсутствующим файлом OpenGL32.dll или конфликтующими и устаревшими драйверами.
Определить основную причину здесь сложно, поэтому мы рекомендуем вам выполнить исправления в указанной последовательности для быстрого решения ошибки GLFW 65542 в Minecraft.
Как исправить ошибку GLFW 65542 при запуске Minecraft?
1. Вручную загрузите файл OpenGL32.DLL.
- Откройте любой браузер, перейдите на страницу загрузки OpenGL32.DLL на DLL-Files.com и нажмите «Загрузить» для получения последней версии.
- После завершения загрузки перейдите к месту, где хранится файл, щелкните его правой кнопкой мыши и выберите «Извлечь все» в контекстном меню. Вы также можете использовать для этого надежное стороннее программное обеспечение.
- Теперь нажмите «Обзор», чтобы выбрать нужный путь для извлеченных файлов, или воспользуйтесь выбором по умолчанию, и нажмите «Извлечь» внизу.
- Затем откройте извлеченную папку, выберите файл opengl32.dll и нажмите Ctrl+ C, чтобы скопировать его.
- Теперь перейдите по следующему пути и нажмите Ctrl+ V, чтобы вставить файл. Здесь «Версия» представляет собой версию, установленную на вашем компьютере, поэтому замените ее соответствующим образом.
C:Program FilesJava"Version"bin
Если за ошибкой стоит отсутствующий файл OpenGL.dll, вам придется загрузить его, чтобы исправить ошибку GLFW 65542.
После этого перезагрузите компьютер, чтобы изменения вступили в силу, и проверьте, не сталкиваетесь ли вы с ошибкой GLFW 65542 при запуске Minecraft. Если да, перейдите к следующему способу.
2. Обновите графический драйвер
- Нажмите Windows+ S, чтобы открыть меню поиска, введите «Диспетчер устройств» в текстовое поле вверху и щелкните соответствующий результат поиска.
- Дважды щелкните здесь запись «Адаптеры дисплея».
- Теперь щелкните правой кнопкой мыши установленную видеокарту и выберите «Обновить драйвер» в контекстном меню.
- Выберите Автоматический поиск драйверов из двух вариантов здесь.
- Подождите, пока Windows установит лучший доступный драйвер для графического адаптера.
Устаревший графический драйвер также может быть причиной ошибки GLFW 65542 в Minecraft для Windows 10, и его обновление помогло решить проблему для многих пользователей. С каждым обновлением производители выпускают исправления для ранее известных ошибок, а также несколько других улучшений.
Если метод диспетчера устройств не работает, вы можете вручную установить последнюю версию драйвера в Windows.
3. Удалите конфликтующие драйверы.
- Нажмите Windows+, чтобы запустить Rкоманду «Выполнить», введите appwiz.cpl в текстовое поле и либо нажмите «ОК», либо нажмите «Программы и компоненты». Enter
- Теперь найдите здесь любую запись с именем DisplayLink, выберите ее и нажмите «Удалить».
- Следуйте инструкциям на экране, чтобы завершить процесс.
Было обнаружено, что программное обеспечение DisplayLink USB Graphics конфликтует с версией Minecraft на основе Java, поэтому рекомендуется удалить его с ПК. Также не забудьте перезагрузить компьютер, чтобы изменения полностью вступили в силу.
Как исправить ошибки OpenGL в Minecraft?
Ошибки OpenGL обычно связаны с проблемными или несовместимыми драйверами и могут помешать запуску игр. Хотя в некоторых случаях были неправильно настроены параметры питания, из-за которых игра не получала требуемой мощности.
Независимо от основной причины, вы всегда можете легко исправить ошибки OpenGL в Windows, будь то Minecraft или любая другая игра.
К настоящему времени вы знаете все решения для ошибки GLFW 65542 при открытии Minecraft в Windows 7, 10 и 11. Кроме того, узнайте, как исправить распространенные ошибки Minecraft на вашем ПК.
Расскажите нам, какое исправление сработало, и ваш отзыв о Minecraft в разделе комментариев ниже.
Ошибка GLFW error 65542 WGL: The driver does not appear to support OpenGL возникает при запуске лаунчера игры Micnecraft на ПК с Windows 11 и 10. Кроме того, с данной проблемой можно столкнуться и при запуске других игр и программ для видеомонтажа, 3D графики.
OpenGL (Open Graphics Library) — это кросс-платформенный API интерфейс программирования для обработки 2 и 3D графики, чтобы снизить нагрузку на систему.
Если касаясь самой игры Minecraft, то произошло в игре обновление шейдеров и ошибка возникает у пользователей, которые имеют встроенную видеокарту и данная видеокарта не поддерживает шейдеры. В этой ситуации вы ничего не сделайте, но можно переключиться на внешнюю видеокарту, если у вас их две. Кроме того, ошибка 65542 OpenGL может быть из-за повреждения графического драйвера.
Как исправить ошибку OpenGL GLFW 65542 в Windows 11/10
В данной инструкции разберем, как исправить ошибку «GLFW error 65542 WGL The driver does not appear to support OpenGL» при запуске таких игр как Minecraft в Windows 11/10.
1. Правильно обновить видеодрайвер
Исключим сразу две проблемы — это устаревшие графические драйвера и поврежденные. По этой причине, нужно следовать поэтапно для правильного обновления GPU драйверов. Обратитесь ниже к полным руководствам.
- Удалите текущие видеодрайвера Intel, AMD или Nvidia при помощи DDU
- Установите GPU драйвера с официальных сайтов Intel, AMD или Nvidia
2. Удалить DisplayLink
Если у вас установлен драйвер DisplayLink USB Graphics, то было установлено на форуме игры, что данное ПО конфликтует с Minecraft Java. Сам DisplayLink нужен для подключения нескольких мониторов.
- Откройте удаление программ
- Удалите DisplayLink, если он есть в списке
3. Скачать оригинальный OpenGL32.dll, DirectX и Java
Скачайте оригинальный файл OpenGL32.dll через winbindex и скопируйте его к себе по пути:
- C:WindowsSystem32
- C:WindowsSysWOW64
! Если не помогла вставка файла OpenGL32.dll, то обновите DirectX и Java
4. Отключить встроенную видеокарту
Если у вас две видеокарты на ноутбуке или компьютере, то стоит отключить работу встроенной видеокарты, так как шейдеры могут быть не поддерживать в ней, и включить работу внешней карты.
- Нажмите Win+X и выберите Диспетчер устройств
- Разверните гафу Видеоадаптеры
- Нажмите правой кнопкой мыши по встроенной видеокарте
- Выберите Отключить и перезагрузитесь
5. Попробуйте другую версию Minecraft
Если ни один выше способ не помог, то можно понизить версию Minecraft в TL Launcher.
Смотрите еще:
- Отсутствует OpenGl32.dll в Windows 11/10 — Как исправить?
- Файл Opencl.dll отсутствует в Windows 10 — Как исправить?
- Видеодрайвер Nvidia перестал отвечать и был успешно восстановлен
- Приложению заблокирован доступ к графическому оборудованию
- A D3D11 compatible GPU Feature Level 11.0 — Решение
[ Telegram | Поддержать ]
Я получаю эту ошибку Нет текущего контекста OpenGL в текущем потоке при попытке отобразить фрейм. Строка, в которой это происходит, может быть этой GL.createCapabilities (); (в частном методе Window.init), и я думаю, что это не удается, потому что glcontext не инициализирован или что-то в этом роде.
Вот код:
package com.engine.window;
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.system.MemoryUtil.NULL;
import org.lwjgl.glfw.GLFWErrorCallback;
import org.lwjgl.glfw.GLFWVidMode;
import org.lwjgl.opengl.GL;
import org.lwjgl.opengl.GLCapabilities;
/**
* The class {@code Window} represents a graphical frame.
* This is an abstract class that cannot be instantiated directly.
*/
public class Window { //abstract
public enum DisplayMode { FULLSCREEN, WINDOWED, BORDERLESS };
private DisplayMode mode;
private long window;
private java.awt.Rectangle bounds;
public Window(String title, int x, int y, int width, int height) {
GLFWErrorCallback.createPrint(System.err).set();
init();
if ((window = glfwCreateWindow(width, height, title, NULL, NULL)) != NULL) {
bounds = new java.awt.Rectangle(x, y, width, height);
glfwSetWindowPos(window, x, y);
glfwSetWindowSize(window, width, height);
glfwSetKeyCallback(window, (window, key, scancode, action, mods) -> {
if (key == GLFW_KEY_ESCAPE && action == GLFW_RELEASE) {
glfwSetWindowShouldClose(window, true);
}
});
glfwMakeContextCurrent(window);
GL.createCapabilities();
glfwShowWindow(window);
glfwFocusWindow(window);
} else {
throw new RuntimeException("Error: Failed to create the GLFW window.");
}
}
private void init() throws RuntimeException {
if (glfwInit()) {
glfwDefaultWindowHints();
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
long tmp = glfwCreateWindow(1, 1, "", NULL, NULL); //creating a temporary window to get the available opengl version
if (tmp != NULL) {
glfwMakeContextCurrent(tmp);
GL.createCapabilities();
GLCapabilities capabilities = GL.getCapabilities();
glfwDestroyWindow(tmp);
glfwDefaultWindowHints(); //resets window hints
if (capabilities.OpenGL32) {
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //avoids using old opengl
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_TRUE); //for mac os user
} else if (capabilities.OpenGL21) {
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
} else {
throw new RuntimeException("Error: Neither OpenGL 3.2 nor OpenGL 2.1 is supported.");
}
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);
glfwWindowHint(GLFW_FOCUSED, GLFW_TRUE);
glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE);
glfwWindowHint(GLFW_CENTER_CURSOR, GLFW_TRUE);
glfwWindowHint(GLFW_SAMPLES, 4); //enables anti-aliasing
} else {
throw new RuntimeException("Error: Failed to create the GLFW window.");
}
} else {
throw new RuntimeException("Error: Failed to Initialize GLFW library.");
}
}
public void setMode(DisplayMode displayMode) {
long monitor = glfwGetPrimaryMonitor();
GLFWVidMode videoMode = glfwGetVideoMode(monitor);
if (displayMode == DisplayMode.FULLSCREEN) {
glfwSetWindowMonitor(window, monitor, 0, 0, videoMode.width(), videoMode.height(), 0);
} else if (displayMode == DisplayMode.WINDOWED) {
glfwSetWindowMonitor(window, NULL, bounds.x, bounds.y, bounds.width, bounds.height, 0);
} else if (displayMode == DisplayMode.BORDERLESS) {
glfwWindowHint(GLFW_RED_BITS,videoMode.redBits());
glfwWindowHint(GLFW_GREEN_BITS, videoMode.greenBits());
glfwWindowHint(GLFW_BLUE_BITS, videoMode.blueBits());
glfwWindowHint(GLFW_REFRESH_RATE, videoMode.refreshRate());
glfwSetWindowMonitor(window, monitor, 0, 0, videoMode.width(), videoMode.height(), videoMode.refreshRate());
}
mode = displayMode;
}
public void setMode(String displayMode) {
setMode(DisplayMode.valueOf(displayMode));
}
public void setVSync(boolean verticalSync) {
glfwMakeContextCurrent(window);
glfwSwapInterval(verticalSync ? 1 : 0);
}
public void pollEvents() {
glfwPollEvents();
}
public void swapBuffers() {
glfwSwapBuffers(window);
}
public boolean shouldClose() {
return glfwWindowShouldClose(window);
}
/**
* Release the resources and destroys windows and cursors.
*/
public void dispose() {
glfwDestroyWindow(window);
glfwTerminate();
glfwSetErrorCallback(null).free();
}
}
След:
[java] [LWJGL] GLFW_NO_WINDOW_CONTEXT error
[java] Description : Cannot make current with a window that has no OpenGL or OpenGL ES context
[java] Stacktrace :
[java] org.lwjgl.glfw.GLFW.glfwMakeContextCurrent(GLFW.java:4522)
[java] com.engine.window.Window.<init>(Window.java:42)
[java] com.engine.window.Stage.<init>(Stage.java:14)
[java] com.engine.window.Stage.create(Stage.java:9)
[java] com.engine.application.Application.onstart(Application.java:73)
[java] com.engine.application.Application.setup(Application.java:60)
[java] com.engine.application.Plateform.launchApplication(Plateform.java:27)
[java] com.engine.application.Application.launch(Application.java:39)
[java] Launcher.main(Launcher.java:9)
[java] [LWJGL] An OpenGL context was in an error state before the creation of its capabilities instance. Error: 0x502
[java] Exception in thread "main" java.lang.RuntimeException: Error: Failed to create and initialize a new instance of the constructor's declaring class : class Launcher.
[java] at com.engine.application.Plateform.launchApplication(Plateform.java:29)
[java] at com.engine.application.Application.launch(Application.java:39)
[java] at Launcher.main(Launcher.java:9)
[java] Caused by: java.lang.IllegalStateException: There is no OpenGL context current in the current thread.
[java] at org.lwjgl.opengl.GL.createCapabilities(GL.java:378)
[java] at org.lwjgl.opengl.GL.createCapabilities(GL.java:322)
[java] at com.engine.window.Window.<init>(Window.java:43)
[java] at com.engine.window.Stage.<init>(Stage.java:14)
[java] at com.engine.window.Stage.create(Stage.java:9)
[java] at com.engine.application.Application.onstart(Application.java:73)
[java] at com.engine.application.Application.setup(Application.java:60)
[java] at com.engine.application.Plateform.launchApplication(Plateform.java:27)
[java] ... 2 more
[java] Java Result: 1
В init()
вы явно указываете GLFW не создавать какой-либо контекст OpenGL для любого дальнейшего создаваемого окна, вызывая glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
.
Таким образом, окно, которое вы создаете после возврата init()
, не имеет контекст OpenGL, созданный для него.
По умолчанию для подсказки окна GLFW_CLIENT_API
является GLFW_OPENGL_API
, поэтому, если вы хотите, чтобы второе создаваемое вами окно также имело контекст OpenGL, просто не устанавливайте эту подсказку окна.
1
Kai Burjack
12 Май 2021 в 21:57