Как проверить версию opengl. Почему драйверы не обновляются

Вопрос: Определить версию opengl


Нужен код на opengl es 2,
а в сети полно кода для первой версии
как можно быстро определять версию opengl по коду?
черная метка что ли нужна какая то на первых парах

Ответ: во первых должен использовать VBO. т.е glGenBuffers, glBindBuffer и т.п. хотя эта штука поддерживается с 1.5. Во вторых должен пользовать шейдеры. т.е glCreateProgram, glLinkProgram, glSetShader и т.д. ну и в комплекте с кодом должен быть код шейдеров (хотя до 3.3 обязаловки на шейдеры нет, но без шейдеров от 2.0 толку что от 1.5).

Вопрос: Какую версию OpenGL выбрать, чтобы приложение поддерживало наибольшее количество видеокарт?


Здравствуйте! Вопрос ровно такой же, как и в топике: какую версию OpenGL выбрать, чтобы приложение поддерживало наибольшее количество видеокарт?

Ответ: В общем как думаю я.
Сначала количество пользователей пк увеличивалось экспоненциально и я думаю что своего пика этот рост достиг где то в промежутке 2008-2011 годов (для каждых стран этот пик был в разное время, а где то еще может быть и не достиг) и теперь этот прирост уменьшается.

Я бы собственно отталкивался от этого пика, то есть.. я бы посмотрел какая версия OpenGL была в тот момент времени и использовал ее для своей цели, если бы мне надо было чтобы поддержка была наиболее вероятна. Ну может еще минус пару месяцев.. то есть то время пока пк от производителя идет до покупателя.

Вопрос: Выбор оптимальной версии OpenGL


Вопрос в следующем: какими должны быть адекватные системные требования для несложной 2D-игры в 2016 году? Есть мысль, что будет некорректно создавать проект уровня Flappy Bird на OpenGL 4.x из-за несовместимости многих видеокарт с этой версией. Минимальная версия OpenGL на мой взгляд 2.0, поскольку с одной стороны охватывает железо старых поколений, с другой стороны дает возможность использовать шейдеры GLSL. Пост-обработка с использованием фреймбуфера накручивается расширениями. Но меня не устраивает ограничение, связанное с функцией glTexImage2D. Не все видеокарты уровня OpenGL 2.0 позволяют создавать в памяти текстуру выше 1024px*1024px. Так же требуется больше усилий по оптимизации под такое железо. Буду рад любым советам. Так же было бы неплохо получить какие-нибудь статистические данные по этому вопросу.

Ответ:

Сообщение от 8Observer8

У меня такая ситуация, что я собираю (в exe) игры на современном ноуте на ОС Win7.

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

Сообщение от 8Observer8

Получается, что движок собирает exe таким образом, что при запуске exe приложение само выберет, что ему использовать: OpenGL 2.0 или OpenGL 4.x?

В exe заключён движок.
Он-то и собирает свою конфигурацию динамически при запуске из имеющихся модулей.

Вопрос: Версия OpenGL


Добрый вечер, уважаемые форумчане. Есть ли возможность использования OpenGL версий 1.0–1.5 (такое ограничение поставил преподаватель в институте), установив, например, GLUT (или какие-нибудь другие библиотеки)? Заранее спасибо за ответ.
PS: язык программирования Си или С++.

Ответ: Если не пользоваться расширениями и функциями типа glCreateShaderObjectARB(..), glAttachObjectARB(..) и т.п. (т.е. совсем обойтись без любых шейдеров), то это и будет OpenGL 1.5

Вопрос: Определить версию Windows


Приветсвую всех.
Столкнулся с такой проблемой, надо определить версию ОС, не используя GetVersionEx. Дело в том, что на msdn по поводу этой функции написано:

Цитата

Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). Once an application is manifested for a given operating system version, GetVersionEx will always return the version that the application is manifested for in future releases.

А мне как раз надо, чтоб мое приложение определяло, что оно работает на Windows 10.
Вариант добавить в манифест приложения Windows 10 не подходит.

Вот, собственно и вопрос: есть ли какие способы определить версию винды используя только user-mode функции (RtlGetVersion не подходит, т.к. она выполняется в kernel-моде).

Это сообщение отредактировал(а) rudolfninja - 13.8.2015, 12:16

Вопрос: Определить версию установленного ASP.NET


Привет! Пишу программу сборщика информации с окруженя.
Подскажите как определить версию установленной на ПК ASP.NET
Уже определил версию.NET framework и много чего еще, а вот с ASP.NET проблемы.

Ответ:

Сообщение от nevbie

или она соответствует версии NET Framework?

Она не может отсутствовать, ибо это и есть NET Framework , просто несколько сборок из его состава.

  1. В драйверах для видеокарт NVIDIA, поставляемых в составе операционной системы Windows, поддержка OpenGL обычно отсутствует. Приложения будут использовать программный рендеринг Windows OpenGL (враппер в Direct3D в Windows Vista). Проверить наличие в системе драйвера OpenGL можно с помощью утилит OpenGL Extensions Viewer и GPU Caps Viewer . Если они показывают, что поставщик OpenGL — Microsoft, значит в системе нет драйвера OpenGL . Загрузите и установите последнюю версию драйвера для видеокарты с сайта NVIDIA.
  2. В новой версии драйвера могла быть добавлена поддержка новой версии API OpenGL , неизвестная приложению. Например, драйвер сообщает приложениях о поддержке OpenGL версии 2.0, а приложение/игра проверяет поддержку версии OpenGL в формате 1.Х. Для решения проблемы можно с помощью RivaTuner в настройках OpenGL на закладке «Совместимость» (Compatibility) форсировать сообщаемое драйвером значение версии OpenGL (OpenGL version string override) на поддерживаемую приложением, например на 1.5 . Эта опция не влияет на исполнение OpenGL видеокартой, но по той же причине могут перестать работать приложения, требующие OpenGL версии 2.0. Более гибкий способ — создать для проблемного приложения профиль драйвера с помощью утилиты nHancer , указав нужную версию в опции «Reported OpenGL Version» на закладке «Compatibility».
  3. Проблема может возникать, если в системе по какой-либо причине установлены несколько драйверов OpenGL . В реестре по адресу HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\OpenGLDrivers (HKLM\Software\Microsoft\Windows\CurrentVersion\OpenGLdrivers для Windows 9x-ME) проверьте, что имеется единственный подраздел RIVATNT и ключ Dll в этом разделе имеет значение nvoglnt (имеется единственный ключ со значением nvopengl.dll для Windows 9x-ME). Если имеются иные подразделы, например ati2dvag (OpenGL драйвер ATI), их следует удалить, предварительно экспортировав в файл .reg .
  4. Реализация OpenGL 2.0 для графических процессоров GeForce FX и выше в драйвере NVIDIA требует поддержки центральным процессором расширений SSE . Если эти расширения недоступны, драйвер OpenGL ICD не будет инициализирован, OpenGL приложения будут закрываться или будет использован программный рендеринг. Проверить инициализацию драйвера можно с помощью утилит OpenGL Extensions Viewer и GPU Caps Viewer , проверить поддерживаемые процессором расширения можно с помощью утилит CPU-Z или Sandra . Если процессор не поддерживает SSE , можно или использовать более ранние версии драйвера (до 75.ХХ), или с помощью RivaTuner в настройках OpenGL на закладке «Совместимость» (Compatibility) включить режим «NV25 Emulation mode» вместо стоящего по-умолчанию «Max acceleration». В крайнем случае можно воспользоваться OpenGL -> Direct3D враппером GLDirect или TitaniumGL . Иногда процессор поддерживает SSE , но поддержка не работает из-за устаревшего BIOS материнской платы. Особенно данная проблема характерна для систем с процессорами AMD Athlon XP и Duron. Обновление BIOS материнской платы может восстановить поддержку SSE .
  5. Если в системе есть несколько видеокарт на базе разных графических процессоров NVIDIA, то OpenGL драйвер будет поддерживать лишь OpenGL поддерживаемой всеми видеокартами версии.

Иногда для запуска приложения или игры в ОС Windows может потребоваться название пакета установленных в операционной системе программ.

А, значит, и ответить на вопрос, как узнать какой DirectX установлен.

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

Что даёт новая версия?

Значительная часть программного обеспечения работает только в соответствующей среде – с нужными драйверами и пакетами программ.

Например, Adobe Photoshop требует установленного ПО OpenGL, а практически все современные игры не будут запускаться без DirectX 11.

Точное знание мультимедийного пакета (а также ресурсов компьютера) позволяет избежать следующих проблем:

  • Покупки или скачивания приложений, которые не поддерживаются системой;
  • Попыток установить более ранние версии DirectX.

Для большинства приложений, требующих специального программного обеспечения типа DirectX, оно идёт в комплекте. А в процессе установки предлагается её установить на компьютере или обновить.

Но, если автоматического обновления не происходит , но программа по какой-то причине не запускается, потребуется узнать мультимедийный пакет, чтобы понять, не является ли причиной проблемы его несовместимость с приложением.

Простой способ определения

Узнать версию DirectX на недавно установленной системе довольно просто – в современных ОС пакет уже идёт в комплекте с Windows. И определить разновидность можно по названию системы:

  • В одной из самых распространённых систем Windows 7 встроенным является DirectX 10, подходящий для большинства графических приложений, игр и мультимедийных файлов;
  • В устаревшей Windows XP по умолчанию была установлена 9-я разновидность пакета, которую часто приходилось обновлять для запуска более современных программ;
  • В Windows 8 встраивался DirectX 11;
  • В комплекте с последней, десятой «Виндоус» могла идти как 11-я, так и 12-я версия программы.

Определение с помощью встроенных средств

Для точного определения версии DirectX с помощью встроенного средства диагностики, требуется:

  1. Открыть меню выполнения команд, для чего следует нажать одновременно клавиши Windows+«R»;
  2. Ввести команду dxdiag;
  3. В открывшемся после выполнения команды окне на первой вкладке найти информацию о программе, которая находится внизу списка.

Совет! Так как система показывает только целые значения, то иногда показанная информация о DirectX 11 может означать, что на самом деле в системе установлена версия 11.1 или 11.2. Однако в большинстве случаев такие подробности не имеют значения.

Ещё одним местом, где узнать версию DirectX, является панель управления видеокарты, если она установлена.

Например, у продукции компании NVidia такая информация выдаётся при просмотре сведений о системе.

Кроме того, есть специальные утилиты , тоже выдающие все нужные сведения о системе, включая и версию DirectX. Например, Aida 64, ранее называвшаяся Everest.

Бесплатные версии этой утилиты можно найти в Интернете и установить на свой компьютер – в дальнейшем она понадобится не только для определения, какой версии у вас DirectX.

Можно найти похожие возможности и у других утилит.

Версия мультимедийного пакета, показываемая программой AIDA 64

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

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

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

Способ 1: Обновление драйверов видеокарты в Windows 7

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

Способ 2: Обновление компонентов в фирменной утилите видеокарты

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

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

Способ 3: Обновление DirectX

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

На данный момент последней версией для ОС Виндовс 7 является DirectX 11. Если у вас инсталлирована более ранняя библиотека, советуем обновить ее и проверить работоспособность ПО. Развернуто на эту тему читайте в другом материале.

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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то