Как узнать какая opengl стоит на компьютере windows 7

Summary

OpenGL is an industry standard 3D graphics API. OpenGL 4.1 or later is required to run CityEngine 2022.0. For more information, refer to the CityEngine system requirements. OpenGL drivers are usually installed together with the rest of the graphics driver and support software (such as DirectX).

Procedure

Follow the instructions provided to check the type of graphics card installed on the system and the version of OpenGL running.

  1. Check the graphics card type (Windows):
    1. Click Start, type dxdiag, and press Enter to access a diagnostic tool listing the graphics card information.
    2. Click the Display tab.

Image of the dxdiag window

  1. Install the OpenGL Extensions Viewer to determine the OpenGL version (Windows, Mac, and Android mobile devices).
Warning:
User discretion is advised when installing third-party software. Esri is not liable for the potential risks involved.
  • Windows: Go to a software distributor to download and install the OpenGL Extensions Viewer (Windows).
  • Mac: Go to a software distributor to download and install the OpenGL Extensions Viewer for Mac.
  • Android mobile devices: Go to Google Play to download the GLview Extensions Viewer.
  • Apple Mobile devices: Go to the App Store to download GLView Mobile.

The OpenGL Extensions Viewer is a free application designed by Realtech VR. The viewer displays the current version of OpenGL installed, and provides tools to test or update the graphics card driver.

opengl-ext.png

На чтение5 мин

Опубликовано

Обновлено

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

Один из самых простых способов узнать версию OpenGL на Windows 7 — это использовать инструмент DirectX Diagnostic Tool. Для его запуска откройте меню «Пуск», в строке поиска введите «dxdiag» и нажмите клавишу Enter. Откроется окно DirectX Diagnostic Tool, в котором можно найти информацию о вашей версии OpenGL.

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

Если вы предпочитаете использовать командную строку, то есть и более простой способ. Откройте командную строку, нажав комбинацию клавиш Win + R, введите «cmd» и нажмите Enter. В открывшемся окне командной строки введите команду «glxinfo | grep «OpenGL version»». После нажатия Enter вы увидите информацию о версии OpenGL на вашем компьютере.

Как найти информацию о версии OpenGL на Windows 7

Если вам нужно узнать, какая версия OpenGL установлена на вашем компьютере с операционной системой Windows 7, вы можете использовать следующие методы:

  1. Откройте командную строку, нажав кнопку «Пуск» и введя в поисковой строке «cmd».
  2. В командной строке введите команду «dxdiag» и нажмите клавишу «Enter». Это откроет DirectX Diagnostic Tool.
  3. Перейдите на вкладку «Display».
  4. Найдите значение «Драйвер» и обратите внимание на информацию после слова «Версия».
  5. Если в строке «Версия» указано значение, начинающееся с «OpenGL», это означает, что на вашем компьютере установлена версия OpenGL.

Если вы не нашли информацию о версии OpenGL в DirectX Diagnostic Tool, можно воспользоваться другим способом:

  1. Откройте панель управления, щелкнув правой кнопкой мыши по значку «Пуск» и выбрав «Панель управления» из контекстного меню.
  2. Найдите и откройте раздел «Устройства и принтеры».
  3. Выберите свой компьютер и щелкните правой кнопкой мыши. В контекстном меню выберите «Свойства».
  4. В открывшемся окне «Система» найдите раздел «Сведения об устройстве».
  5. В этом разделе найдите значение «Видеоадаптер». Рядом с ним указана информация о версии OpenGL.

Теперь вы знаете, как найти информацию о версии OpenGL на компьютере с Windows 7.

Шаги для нахождения версии OpenGL

Для того чтобы узнать версию OpenGL на компьютере под управлением операционной системы Windows 7, выполните следующие шаги:

Шаг 1:

Откройте меню «Пуск» и выберите «Панель управления».

Шаг 2:

В окне «Панель управления» найдите и выберите пункт «Аппарат и звук».

Шаг 3:

В разделе «Устройства и принтеры» выберите «Устройства отображения».

Шаг 4:

Щелкните правой кнопкой мыши по значку вашей видеокарты и выберите «Свойства».

Шаг 5:

В открывшемся окне перейдите на вкладку «Драйвер».

Шаг 6:

В разделе «Версия драйвера» найдите информацию о версии OpenGL. Обычно она указывается в формате «OpenGL версия: x.x.x».

Теперь вы знаете, как узнать версию OpenGL на вашем компьютере с операционной системой Windows 7.

Где найти информацию о версии OpenGL

Есть несколько способов узнать версию OpenGL на вашей системе:

1. В консоли Откройте командную строку, нажмите Win + R, введите cmd и нажмите Enter. В командной строке введите команду glxinfo | grep «OpenGL version» и нажмите Enter. Вы увидите версию OpenGL.
2. В диспетчере устройств Нажмите Win + R, введите devmgmt.msc и нажмите Enter. Разверните раздел «Адаптеры дисплея». Найдите вашу видеокарту, щелкните правой кнопкой мыши и выберите «Свойства». Перейдите на вкладку «Драйвер» и найдите поле «Версия драйвера». Если версия начинается с числа 1, 2 или 3, то это соответствует OpenGL 1.0, 2.0 или 3.0 соответственно.
3. С помощью специальных программ Существуют программы, которые могут показать информацию о вашей системе, в том числе и о версии OpenGL. Примеры таких программ: CPU-Z, GPU-Z, HWiNFO.

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

Как проверить установленную версию OpenGL на Windows 7

Для проверки версии OpenGL на компьютере с операционной системой Windows 7 необходимо выполнить следующие шаги:

  1. Откройте Панель управления, нажав на кнопку «Пуск» и выбрав соответствующий пункт.
  2. В Панели управления найдите и выберите раздел «Система и безопасность».
  3. В разделе «Система и безопасность» найдите и выберите пункт «Система».
  4. В окне «Система» найдите раздел «Сведения об операционной системе».
  5. В разделе «Сведения об операционной системе» найдите строку «Система».
  6. В строке «Система» найдите значение напротив поля «Тип системы».

Если значение поля «Тип системы» равно «64-разрядная операционная система», значит, у вас установлена 64-разрядная версия Windows 7. В таком случае, для проверки версии OpenGL на компьютере выполните следующие дополнительные действия:

  1. Откройте проводник и перейдите в папку «С:\Windows\SysWOW64».
  2. В папке «С:\Windows\SysWOW64» найдите и скопируйте файл «opengl32.dll».
  3. Перейдите в любую другую папку, например, на рабочий стол, и вставьте скопированный файл «opengl32.dll».
  4. Нажмите правой кнопкой мыши на файле «opengl32.dll» и выберите пункт «Свойства» в контекстном меню.
  5. В открывшемся окне «Свойства» выберите вкладку «Детали».
  6. В разделе «Продукт» найдите строку «Версия файлов».

Значение строки «Версия файлов» соответствует версии OpenGL на компьютере.

Если значение поля «Тип системы» равно «32-разрядная операционная система», значит, у вас установлена 32-разрядная версия Windows 7. В этом случае, для проверки версии OpenGL на компьютере выполните следующие дополнительные действия:

  1. Откройте проводник и перейдите в папку «С:\Windows\System32».
  2. В папке «С:\Windows\System32» найдите и скопируйте файл «opengl32.dll».
  3. Перейдите в любую другую папку, например, на рабочий стол, и вставьте скопированный файл «opengl32.dll».
  4. Нажмите правой кнопкой мыши на файле «opengl32.dll» и выберите пункт «Свойства» в контекстном меню.
  5. В открывшемся окне «Свойства» выберите вкладку «Детали».
  6. В разделе «Продукт» найдите строку «Версия файлов».

Значение строки «Версия файлов» соответствует версии OpenGL на компьютере.

Способ 1: Использование системной утилиты

Проверка версии OpenGL на Windows 7 может быть осуществлена с помощью системной утилиты DirectX Diagnostic Tool. Это простой и безопасный способ выяснить версию OpenGL, установленную на вашем компьютере.

Чтобы запустить утилиту DirectX Diagnostic Tool, выполните следующие шаги:

  1. Нажмите кнопку «Пуск» в левом нижнем углу экрана.
  2. В поисковой строке введите «dxdiag» и нажмите клавишу Enter.
  3. Откроется окно DirectX Diagnostic Tool. В этом окне вы найдете множество информации о вашем компьютере.

Чтобы узнать версию OpenGL, выполните следующие шаги:

  1. Перейдите на вкладку «Отображение».
  2. В разделе «Устройства» найдите информацию о видеокарте и производителе.
  3. В строке «Версия» будет указана версия OpenGL.

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

Теперь вы знаете, как узнать версию OpenGL на Windows 7 с помощью системной утилиты DirectX Diagnostic Tool.

Способ 2: Использование программы GPU-Z

Если вы предпочитаете использовать сторонние программы для проверки версии OpenGL на Windows 7, вы можете воспользоваться программой GPU-Z. Это утилита, которая предоставляет подробную информацию о графическом ускорителе компьютера.

Для того чтобы узнать версию OpenGL с помощью GPU-Z, следуйте этим инструкциям:

  1. Скачайте и установите программу GPU-Z с официального сайта разработчика.
  2. Запустите GPU-Z.
  3. В открывшемся окне программы выберите вкладку «Graphics Card» (Графический адаптер).
  4. В этой вкладке вы найдете информацию о вашей графической карте. В строке «OpenGL» (ОпенГЛ) будет указана версия OpenGL, которая поддерживается вашей графической картой.
  5. Закройте программу GPU-Z после того, как узнали версию OpenGL.

Использование программы GPU-Z — это простой и удобный способ узнать версию OpenGL на Windows 7. Если вы не знаете, какая версия OpenGL установлена на вашей системе, рекомендуется воспользоваться данным инструментом.

Как узнать какой у меня OpenGL. Как узнать, какая версия OpenGL у вас установлена? 🕵️‍♀️

🤛🏼Читать дальше🙊

OpenGL — это мощный графический интерфейс программирования приложений (API), который лежит в основе множества игр, профессиональных программ для 3D-моделирования и других ресурсоемких приложений. Версия OpenGL, которую поддерживает ваше устройство, напрямую влияет на качество графики и производительность этих приложений.

Существует несколько способов узнать, какая версия OpenGL установлена на вашем компьютере или мобильном устройстве. Давайте разберем самые простые и эффективные из них.

Перейдите к нужной части, нажав на соответствующую ссылку:

👉🏼 1. Проверка версии OpenGL через свойства графического драйвера 🖥️

👉🏼 2. Использование диагностического инструмента DirectX (только для Windows) ⚙️

👉🏼 3. Использование специальных утилит и приложений 🛠️

👉🏼 4. Проверка информации на сайте производителя видеокарты 🌐

👉🏼 5. Использование GLEW (OpenGL Extension Wrangler Library) 💻

👉🏼 Почему важно знать версию OpenGL? 🤔

👉🏼 Заключение 🎉

👉🏼 FAQ ❓

🤟 Читать


🎮 Хочешь узнать, какая версия OpenGL у тебя установлена? 🤔 Это важно, ведь от этого зависит, какие графические навороты смогут поддерживать твои игры и приложения! 🪄
Версия OpenGL зависит, прежде всего, от твоей видеокарты 💪 и установленного на неё драйвера 💻.
Самый простой способ проверить версию OpenGL:
1️⃣ Кликаем правой кнопкой мыши по рабочему столу и выбираем «Параметры экрана». 🖥️
2️⃣ Листаем вниз до раздела «Дисплей» и нажимаем на «Дополнительные параметры дисплея». ➕
3️⃣ В открывшемся окне ищем «Свойства видеоадаптера для дисплея …».
4️⃣ В появившемся окне переходим на вкладку «Драйвер».
5️⃣ Скорее всего, ты найдёшь информацию о версии OpenGL прямо здесь! 🔍
Если нужной информации нет, не расстраивайся! 😉 Существуют специальные программы, которые помогут определить версию OpenGL. 🚀
Удачи в исследовании возможностей твоей системы! 😉👍

1. Проверка версии OpenGL через свойства графического драйвера 🖥️

Самый надежный и простой способ узнать версию OpenGL — заглянуть в свойства вашего графического драйвера.

Для этого:

  1. Откройте панель управления графическим драйвером. В зависимости от вашей операционной системы и установленного графического процессора, это может быть панель управления NVIDIA, AMD Radeon Software или Intel Graphics Command Center.
  2. Найдите раздел «Информация о системе» или «Свойства драйвера». Обычно он находится в меню настроек или на главной странице панели управления.
  3. Найдите информацию о версии OpenGL. В этом разделе вы найдете строку «Версия OpenGL», «Поддерживаемая версия OpenGL» или что-то подобное.

Важно: Убедитесь, что у вас установлены последние версии драйверов для вашей видеокарты. Устаревшие драйверы могут не поддерживать новейшие версии OpenGL, что может привести к снижению производительности и проблемам совместимости с некоторыми приложениями.

2. Использование диагностического инструмента DirectX (только для Windows) ⚙️

В операционной системе Windows есть встроенный инструмент диагностики DirectX, который также может предоставить информацию о версии OpenGL.

Инструкция:

  1. Нажмите сочетание клавиш Win + R, чтобы открыть окно «Выполнить».
  2. Введите «dxdiag» в поле ввода и нажмите Enter.
  3. Перейдите на вкладку «Экран» или «Дисплей».
  4. Найдите раздел «Драйверы». В этом разделе вы увидите строку «Версия DDI», которая соответствует версии OpenGL. Например, DDI 12 соответствует OpenGL 4.5.

3. Использование специальных утилит и приложений 🛠️

Существует множество сторонних утилит и приложений, которые позволяют получить подробную информацию о вашей системе, включая версию OpenGL.

Некоторые популярные варианты:

  • GPU-Z: Бесплатная утилита, которая предоставляет подробную информацию о вашем графическом процессоре, включая поддерживаемые версии OpenGL.
  • Speccy: Продвинутая системная информация, которая отображает не только версию OpenGL, но и множество других параметров вашего компьютера.
  • CPU-Z: Утилита, которая в первую очередь фокусируется на процессоре, но также может предоставить информацию о графическом адаптере и OpenGL.

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

4. Проверка информации на сайте производителя видеокарты 🌐

Если вы знаете модель вашей видеокарты, вы можете найти информацию о поддерживаемой версии OpenGL на сайте производителя.

Для этого:

  1. Определите модель вашей видеокарты. Вы можете найти эту информацию в диспетчере устройств (Windows) или в системной информации (Mac OS).
  2. Перейдите на сайт производителя видеокарты (NVIDIA, AMD, Intel).
  3. Найдите страницу с характеристиками вашей видеокарты. Обычно для этого нужно воспользоваться поиском на сайте.
  4. Найдите информацию о поддерживаемых API. В списке поддерживаемых API вы найдете информацию о версии OpenGL.

5. Использование GLEW (OpenGL Extension Wrangler Library) 💻

GLEW — это кроссплатформенная библиотека с открытым исходным кодом, которая предоставляет простой способ проверки доступности расширений OpenGL.

Для этого:

  1. Скачайте и установите GLEW.
  2. Найдите и запустите пример программы «glewinfo.exe».
  3. Просмотрите файл журнала «glinfo.txt». В этом файле вы найдете подробную информацию о поддерживаемых расширениях OpenGL, включая версию.

Почему важно знать версию OpenGL? 🤔

Знание версии OpenGL может быть полезным в следующих случаях:

  • Выбор игр и приложений: Некоторые игры и приложения требуют определенной версии OpenGL для корректной работы.
  • Диагностика проблем: Если у вас возникают проблемы с запуском игры или приложения, знание версии OpenGL может помочь определить причину.
  • Оценка производительности: Более новые версии OpenGL обычно обеспечивают более высокую производительность и качество графики.

Заключение 🎉

Узнать, какая версия OpenGL установлена на вашем устройстве, несложно. Выберите наиболее удобный для вас способ и следуйте инструкциям. Эта информация поможет вам принимать обоснованные решения при выборе игр, приложений и настройке графики.

FAQ ❓

  • Что делать, если моя версия OpenGL устарела?

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

  • Влияет ли версия OpenGL на производительность игр?

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

  • Где скачать последние версии драйверов для моей видеокарты?

Последние версии драйверов можно скачать на сайтах производителей видеокарт: NVIDIA, AMD или Intel.

  • Что такое расширения OpenGL?

Расширения OpenGL — это дополнительные функции, которые могут быть добавлены к OpenGL для расширения ее возможностей. Не все видеокарты поддерживают все расширения.

  • Где я могу узнать больше об OpenGL?

Подробную информацию об OpenGL можно найти на официальном сайте Khronos Group: https://www.khronos.org/opengl/ (https://www.khronos.org/opengl/)


📍 Как решить проблему OpenGL для Minecraft

📍 Какой OpenGL нужен для Майнкрафт

📍 Как открыть терминал Castles

📍 Как перезагрузить терминал Кастлес

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

Содержание

Структура API OpenGL

API OpenGL описан на языке C без применения C++ ради простоты и платформонезависимости. Он состоит только из функций, констант и примитивных типов, объявленных через typedef , таких как «typedef int GLenum;» .

Функции делятся на две группы:

  • команды (англ. commands) для изменения состояния драйвера
  • запросы (англ. queries) состояния драйвера

Вот несколько примеров:

  • функция-команда void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) устанавливает цвет очистки; RGBA компоненты цвета передаются как число с плавающей точкой на отрезке [0..1] .
  • функция-команда void glClear() очищает буфер кадра путём заливки пикселей цветом очистки.
  • функция-запрос const GLubyte *glGetString(GLenum name) возвращает строковое значение некоторой константы или величины в видеодрайвере, выбор величины зависит от параметра name ; при этом const GLubyte* можно преобразовать в const char* с помощью reinterpret_cast .
  • тип данных GLclampf означает “число с плавающей точкой на отрезке [0..1] ”; при этом никаких проверок принадлежности диапазону компилятор делать не будет, потому что тип объявлен просто как typedef float GLclampf .

Функции-команды ничего не возвращают, даже статуса своего выполнения. Это даёт возможность выполнить команду асинхронно, не заставляя приложение ждать, пока видеодрайвер отправит данные на видеокарту и получит от неё ответ.

Обработка ошибок

OpenGL старательно обрабатывает ошибки, такие как “недопустимый аргумент”, “неправильная константа enum”, “несвоевременный вызов команды”. Узнать о наличии общей ошибки в одной из предыдущих функций-команд можно функцией-запросом GLenum glGetError() .

  • Если функция возвращает GL_NO_ERROR , ошибок не было
  • В противном случае код ошибки обозначает категорию ошибки без конкретных указаний
  • Функция не только возвращает код ошибки, но и очищает флаг ошибки в драйвере

Условно, код может выглядеть так:

Функцию можно улучшить, если учесть следующее:

  • Распечатать строку ошибки можно в поток ошибок std::cerr
  • Любую ошибку можно считать фатальной, вызывая std::abort для аварийного завершения программы после вывода текста ошибки
  • Функцию можно сделать статическим методом класса CUtils

Представим улучшенную версию:

После добавления этого метода можно улучшить основной цикл приложения:

Расширения OpenGL

В целях максимальной гибкости, все изменения в OpenGL вносятся в виде расширений. Расширение OpenGL — это задокументированная спецификация, которая описывает новые функции и их поведение, изменения в поведении старых функций и новые константы. Каждое расширение имеет имя, например, «GL_ARB_multitexture» . При выпуске новой версии OpenGL часть расширений попадает в новую версию и становится частью ядра OpenGL. Таким образом, в версии OpenGL 3.0 и выше вы автоматически получаете ряд возможностей, которые в OpenGL 1.2 были доступны только как расширения.

  • В UNIX-системах и на мобильных устройствах доступны достаточно свежие версии OpenGL (обычно 3.0 и выше), где многие важные расширения уже стали частью ядра стандарта.
  • В Windows версии старше OpenGL 1.1 напрямую недоступны, но разработчики драйверов дают доступ к ним через механизм расширений. Если видеодрайвер не установлен, будет доступен только OpenGL 1.1, обладающий весьма ограниченными возможностями.

Функция, описанная в расширении, может не существовать в конкретной реализации OpenGL (если она не поддерживает данное расширение). Поэтому программист должен

  • либо запросить адрес функции и использовать её, только если адрес ненулевой
  • либо проверить наличие поддержки расширения по его имени и потом смело запрашивать адреса описанных в расширении функций

В стандарте OpenGL не описан способ получения адреса, и каждая операционная система или мультимедийная библиотека предоставляет свой способ. В SDL2 есть функция void *SDL_GL_GetProcAddress(const char *proc) , которая по имени OpenGL-функции возвращает её адрес или nullptr , если функция недоступна.

Получение информации о версии OpenGL

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

Для получения информации мы применим функцию-запрос glGetString с тремя различными параметрами. На эту тему есть статья Get Context Info (opengl.org).

  • константа с именем GL_VERSION возвращает строку версии OpenGL, причём в начале строки обязательно стоит «<номер мажорной версии>.<номер минорной версии> » , а остальная часть строки не определена. Например, строка «3.0 Mesa 10.3.2» обозрачает “OpenGL версии 3.0, реализуемый подсистемой графики Mesa версии 10.3.2”.
  • константа с именем GL_VENDOR возвращает имя поставщика реализации OpenGL. Например, строка «Intel Open Source Technology Center» обозначает “Видеодрайвер предоставлен OpenSource-подразделением корпорации Intel”.
  • константа с именем GL_EXTENSIONS содержит полный список расширений, разделённый пробелами. Список обычно насчитывает свыше ста расширений.

Функция печати информации о контексте

Следуя “правилу трёх ударов”, можно отрефакторить этот код:

Библиотека GLEW

  • Сайт проекта: http://glew.sourceforge.net/
  • В Debian/Ubuntu доступна в пакете libglew-dev

Запрашивать функции и проверять расширения вручную не всегда удобно. Для решения этой типовой задачи создана библиотека GLEW (сокращение от “openGL Extensions Wrapper”). С помощью макросов и отложенной загрузки адресов функций эта библиотека позволяет использовать расширения так, как будто бы никаких расширений не существует:

  • вы просто вызываете функции по имени; если функции нет, произойдёт разыменование нулевого указания
  • также вы можете использовать модифицированное имя расширения (с префиксом “GLEW_” вместо “GL_”) как целочисленную переменную со значением 0 или 1; 1 означает, что расширение есть и доступно, 0 означает, что расширения нет или оно недоступно
  • если расширение недоступно, вы не должны вызывать функции расширения, чтобы не получить разыменование нулевого указателя
  • если при создании контекста OpenGL вы потребовали и получили контекст не ниже определённой версии, то можно даже не проверять расширения, вошедшие в эту версию: они есть.

Подключать заголовок glew.h следует до первого включения gl.h , иначе вы получите ошибку при компиляции.

Библиотека GLEW требует явного вызова функции glewInit для своей инициализации. Сделать вызов следует только один раз. Чтобы не накладывать на класс CAbstractWindow лишних ограничений, нужно гарантировать, что при первом конструировании объекта CAbstractWindow функция будет вызвана, а при последующих — уже нет. Также надо установить глобальную переменную-флаг glewExperimental , чтобы GLEW оборачивала функции из версий OpenGL 3.x и 4.x.

Для этой цели можно использовать два подхода

  • взять из стандартного заголовка <mutex> функцию std::call_once
  • завести в функции статическую переменную типа bool, которая будет устанавливаться в false в инициализаторе (который для статических переменных внутри функции вызывается ровно один раз)

В многопоточной среде было бы правильным использовать call_once, чтобы исключить возможность повторного вызова инициализации во время выполнения “glewInit” в другом потоке. Однако, ни контекст OpenGL, ни GLEW не могут использоваться из нескольких потоков одновременно. Поэтому call_once нам не потребуется, и достаточно статической переменной типа bool:

Узнаём о расширениях через GLEW

Читать полный список расширений, полученный через glGetString(GL_EXTENSIONS) , не очень удобно. Сканировать его программно слишком трудоёмко в плане вычислений.

Для удобного получения расширений у GLEW есть переменные-флаги, которые устанавливаются при вызове glewInit() . Для проверки наличия расширения надо:

  • найти идентификатор расширения в реестре расширений (opengl.org), например, GL_ARB_vertex_shader
  • заменить префикс GL_ на GLEW_
  • написать проверку переменной-флага с таким именем

Теперь можно улучшить функцию PrintOpenGLInfo :

На машине с Ubuntu 14.04 и встроенной видеокартой Intel программа выводит следующее:

На машине с Windows 8 и видеокартой Intel вывод отличается:

Создаём работоспособное приложение

Код запроса версии OpenGL разместим в классе CWindow , потому что в дальнейших примерах нам уже не нужно будет печатать что-либо в консоль.

How can I check my OpenGL version?

Without polling extension functionality, from what version’s functions may I assume supported? Minimum of 1.4 and 3.2 seems incredibly historic, so I assume glx version is not numbered in parallel with OpenGL version.

What GLSL version may I assume? It displays the Cg compiler version, but what’s my GLSL version?

2 Answers 2

GLX is the protocol that transports OpenGL commands in a X11 command stream. The most recent version of GLX is 1.4.

The OpenGL version is told in the «OpenGL version string». And you got 3.2

so I assume glx version is not numbered in parallel with OpenGL version.

No it’s not, because they’re two different things. GLX transports OpenGL, it doesn’t implement it.

Как определить какая версия opengl на компьютере ?

Как определить какая версия opengl на компьютере ?
У меня нетбук, видеоадптер Intel(r) Graphic Media Accelerator 3150, пытаюсь изучать opengl (C++ , visual studio 2012).
Windows 7 начальная.
И можно ли установить opengl 4 ?

Попытаться создать контекст(wglCreateContextAttribsARB) нужной версии?

Скинь исходный код.

можно OpenGL Extension Viewer запустить
http://www.realtech-vr.com/glview/download.php
Но скачала конечно последние драйвера поставить.

Ещё есть версия в цифровом виде у новых ГЛ.
Лень искать какая там конкретно константа.

Андрей1234
> И можно ли установить opengl 4 ?
Это все же не notepad++, который всегда можно установить самой последней версии,:)
Версия OpenGL зависит в первую очередь от возможностей аппаратной части + драйвер. Почитай в свойствах драйвера, скорее всего там есть информация о поддерживаемой версии OpenGL.
Так же можно ознакомится с краткими характеристиками здесь
Так что одного желания использовать OGL 4.x мало, надо чтобы «железка» была соответствующая.

Андрей1234
> И можно ли установить opengl 4 ?
Нет, там только OpenGL 1.4 вроде поддерживается. Даже GLSL нет. Надо было покупать нормальный нетбук, не на атоме. Моему с AMD уже вроде года 2, а он поддерживает даже OpenGL 4.3. А если драйвера новые выйдут с поддержкой 4.4, то и 4.4 будет.

А я то дурак, себе карточку новую брал Radeon R9 280X, 16 косарей отдал (OpenGL 4.3 только), а надо было брать нетбук двух летней давности.

Monte-Kristo
> А я то дурак, себе карточку новую брал Radeon R9 280X, 16 косарей отдал (OpenGL
> 4.3 только), а надо было брать нетбук двух летней давности.
Да, весь нетбук стоил дешевле — около 14000. Правда производительность наверное у его карточки в 15 раз меньше, чем у R9 280X. Но для моего движка пока хватает.

gammaker
чем atom плох? Просто надо было брать со вторым ионом.

Monte-Kristo
И к чему твои понты. Человек за за свои деньги взял полноценный девайс, а ты только кусок компьютера, пусть и «жирный», но сам по себе ни на что не способный. Поставит себе Linux получит OpenGL 2.1, если захочет сможет и GLSL запрогать. А под win7 официально только OpenGL 1.5

RigoN
> Человек за за свои деньги взял полноценный девайс

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

у тебя точно нет второй карточки на нем?

unnamed
> насчет полноценного для графики — сомнительно.
Карту надо еще куда-то «вставить», сама по себе она как девайс==0.

RigoN
Так в моём тезисе нет никаких понтов — я же сказал, что я — лох, я — дурак, который купил кусок компьютера.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как убрать фоновые звуки в микрофоне windows 10
  • Change windows background image
  • Windows 10 входит под временным профилем
  • Подготовка автоматического восстановления windows server 2012
  • Антивирусная программа защитник windows обнаружила угрозы как отключить