Чи можна з VBA визначити версію офісу та сервіспаку? Як дізнатися, яку версію OpenGL я використовую? Як дізнатися який варто opengl

Привіт друзі. Останні мої статті були орієнтовані на тему графіки та відеоадаптерів. Думаю, що цю тему продовжу розкривати і далі. У минулих статтях ми розмовляли про DirectX і шейдери, сьогодні поринемо у світ OpenGL. Дізнаємось що це таке, де скачати і для чого він потрібен. Тема буде розрахована на тих, хто тільки цих зацікавився і кому дуже цікаво дізнатися щось нове про комп'ютери. Томити не почну писати. Приємно читати 🙂

Що таке OpenGL та з чим його їдять?

OpenGL – це графічний стандарт у галузі комп'ютерної графіки. На даний момент він є одним із найпопулярніших графічних стандартів у всьому світі.

OpenGL перекладається як Відкрита Графічна Бібліотека (Open Graphics Library), це означає, що OpenGL – це відкритий та мобільний стандарт. Програми, написані за допомогою OpenGL можна переносити практично на будь-які платформи, отримуючи при цьому однаковий результат, чи це графічна станція, чи суперЕОМ.

OpenGL звільняє програміста від написання програм під якесь конкретне устаткування. Якщо пристрій підтримує якусь функцію, то ця функція виконується апаратно, якщо ні, її реалізацією займається програма-бібліотека.

На одному популярному сайті можна знайти подробиці цього стандарту:

Він включає близько 150 різних команд, за допомогою яких програміст може визначати різні об'єкти і проводити рендеринг. Говорячи простішою мовою, ви визначаєте об'єкти, задає їх місце розташування в тривимірному просторі, визначаєте інші параметри (поворот, масштаб, …), задає властивості об'єктів (колір, текстура, матеріал, …), положення спостерігача, а бібліотека OpenGL подбає про те щоб відобразити це на екрані.

Реалізація OpenGL.

Як ви могли зрозуміти з описаного вище. Що OpenGL, це лише якась описана специфікація за 3D графікою. Щоб цю специфікацію перетворити на життя необхідно написати (реалізувати) код. Код потім упаковується у спеціальну бібліотеку. І ось таких бібліотек існує кілька різних програмістів.

Перша з цих бібліотек називається GLU. Ця бібліотека вже стала стандартом і постачається разом із головною бібліотекою OpenGL. Наступна бібліотека, яка також широко використовується - це GLUT. Це також незалежна бібліотека від платформи. Вона реалізує не тільки додаткові функції OpenGL, але й надає функції для роботи з вікнами, клавіатурою та мишкою. Є ще одна бібліотека схожа на GLUT, вона називається GLAUX. Ця бібліотека розроблена фірмою Microsoft для операційної системи Windows. Вона багато в чому схожа на бібліотеку GLUT, але трохи відстає від неї за своїми можливостями.

Альтернатива OpenGL.

Хоча бібліотека OpenGL і вважається однією з найкращих бібліотек, але існує вона в цій галузі не одна. Є в неї один прямий конкурент, про який я розповідав в одній із минулих статей. І цим конкурентом вважається Direct3D із пакета DirectX, розроблений фірмою Microsoft. Direct3D створювався виключно для ігрових програм. Між ними існує безліч відмінностей, з найбільш явних можна виділити, що Direct3D здійснюємо підтримку починаючи з дешевого обладнання, а OpenGL підтримується не на всіх графічних картах.

Чи потрібно встановлювати OpenGL?

Якщо Ви вже встановили драйвера на свою відеокарту, то ні. Оскільки остання версія OpenGL встановлюється під час встановлення драйверів від вашої графічної карти.

Щоб встановити нову версію OpenGL, необхідно оновити драйвера вашої відеокарти. Зайдіть на сайт виробника Вашої відеокарти: NVIDIA, AMD чи інше. Завантажте останні драйвери для вашої карти, встановіть їх.

Наприклад, моя відеокарта Radeon 7850. Заходжу я на сайт www.amd.com, знаходжу там сторінку з моєю відеокартою, дивлюся технічні характеристики.

Як можете помітити, з OpenGL 4.2 мій відеоадаптер дружить. Тепер підбираємо драйвера.

Чи може OpenGL працювати на одному комп'ютері з Direct3D?

Так. Обидві програми включені у версію Windows, працюють на високій швидкості та надають багато функцій для геймерів та відеоредакторів. Тому немає приводу переживати, щодо їхнього спільного «проживання» на вашому комп'ютері 🙂

Як увімкнути OpenGL?

Це питання не можна дати однозначної інструкції. Взагалі за умовчанням підтримка цієї технології прописується творцем гри ще на момент написання коду. І використання скажімо DirectX або OpenGL може налаштовуватися через певний пункт в меню гри, або включати самою грою за замовчуванням. Тому якщо творець гри не випускає додаткових оновлень та інструкцій до них зі встановлення скажімо додаткових бібліотек, то немає сенсу Вам думати про це питання. Ну а якщо якісь доповнення вийшли, скажімо на той же Counter Strike 1.6, ентузіасти написали чіт (а чіт - це погано!! атата), то для цього установки необхідно завантажити невеликий файл.dllі закинути в кореневу директорію гри, а потім в налаштуваннях гри вибрати OpenGL.

За рахунок цього гра починає використовувати функції, написані всередині цього файлу.

Висновок

Ось і пробіглися ми ще однією бібліотекою для роботи з графікою. OpenGL скажімо така специфічна річ, яка більшою мірою застосовується у професійній діяльності для 3D моделей. В іграх вистачає і функцій Direct3D, і навіть більше. Взяти версію 12, що недавно вийшла. Але OpenGL теж не стоїть на місці і з певним проміжком часу випускає нові версії з останніх — версія 4.5 від 11 серпня 2014 року.

4 відповідей

Я боюся, що вам доведеться відкрити командний рядок вашого першого дня Linux (не хвилюйтеся, що трапилося зі мною теж). Програми -> Стандартні -> Термінал. Type lspci та натисніть Enter. Тут перераховані всі підключення через PCI або PCI Express, включаючи відеокарту. Прочитайте список, поки не побачите що-небудь про ATI або nVidia або одну з моделей Intel.

потім перейдіть до порівняльних таблиць Вікіпедії для відеокарт, щоб дізнатися версію OpenGL, яку підтримує ваша карта.

пам'ятайте, що вони лише кажуть, яку версію підтримує обладнання. Щоб мати можливість запускати бібліотеки OpenGL, вам також потрібний драйвер, який їх підтримує. Численні відео-водії для кожного уламку покоління для Linux. Ubuntu поставляється з версіями з відкритим вихідним кодом, які не погані, але, як правило, на крок позаду пропрієтарних драйверів, випущених виробниками графічних карт (які часто називають binary drivers або proprietary drivers). Якщо з'ясується, що обладнання підтримує OpenGL 2.0 (яких більшість), Ви можете спробувати пропрієтарні драйвера. Вони називаються nvidia-current для nvidia та fglrx для ATI. Для Intel існують лише драйвери з відкритим вихідним кодом.

приклад із мого ноутбука:

Prompt>lspci | grep VGA 00:02.0 VGA compatible controller: Intel Core Processor Integrated Graphics Controller (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation Device 0df0 (rev a1) prompt>

та відповідна витримка з lshw:

*-pci:0 опис: PCI bridge product: Core Processor PCI Express x16 Root Port vendor: Intel Corporation physical id: 1 bus info: :00:01.0 version: 02 width: 32 bits clock: 33MHz capabilities: pci pm msi pci bus_master cap_list configuration: driver=pcieport resources: irq:42 ioport:2000(size=4096) memory:fb000000-fbffffff ioport:f0000000(size=167772160) *-display id: 0 bus info: :01:00.0 version: a1 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress vga_controller bus_master cap_list configuration: f7ffffff memory:f8000000-f9ffffff ioport:2000(size=128) *-відтворення документа: VGA compatible controller product: Core Processor Integrated Graphics Controller vendor: Intel Corporation physical id: 2 bus info.



дізнатися версію opengl linux (4)

Найпростіший і найшвидший спосіб - використовувати діагностичний інструмент, такий як GPU Caps Viewer.

Ви також можете використовувати glGetString(GL_VERSION), але пам'ятайте, що версія, яку ви хочете відобразити, є версією даного контексту OpenGL, що не обов'язково є найвищим, що може зробити ваш GPU. Однак, якщо ви створюєте контекст із налаштуваннями за промовчанням, ви, ймовірно, отримаєте максимально можливий контекст OpenGL у профілі сумісності, так що так, цей метод може бути корисним.

Крім того, оскільки glGetString(GL_VERSION) належить до контексту OpenGL, вам необхідно створити його заздалегідь. Насправді для виклику будь-якийфункції gl* потрібний контекст GL.

Дійсно, оновлення драйверів можедати вам вищу версію GL, але малоймовірно, що основна версія зміниться. Наприклад, якщо у вас буде підтримка GL 3.1, ймовірно, що останні драйвери дадуть вам GL 3.3, але не GL 4.0.

Я використовую Windows 7. Я програмую за допомогою OpenGL. Але я виявив, що є деякі можливості, які я можу використати. Тому я хочу перевірити версію OpenGL на моїй системі. Я використовую нижче код, щоб перевірити його

Const char * version = (const char *) glGetString (GL_VERSION);

Але я отримую нульовий покажчик. І якщо я хочу оновити OpenGL, що робити?

спробуйте використати наступний код, він працює для мене:

Cout<< "OpenGL Version: " << glGetString(GL_VERSION) << endl;

Переконайтеся, що ви включили рядок і iostream у програмі.

Вам потрібен струм контексту GL, перш ніж ви зможете спитати, яка у вас версія.

Отже, спочатку створіть контекст, викличте wglMakeCurrent на ньому і після цього ви зможете викликати glGetString.

Версія, про яку повідомляється, надходить із встановленого вами драйвера. Версія OpenGL, яку може підтримувати ваше обладнання, сама по собі не «оновлюється» (бо деякі апаратні функції будуть відсутні, щоб підтримувати останні та найкращі).

Таким чином, найкраще ви можете оновити свій драйвер, але не сподівайтеся на високі результати, це призведе до появи нового OpenGL.

Вам потрібно створити контекст OpenGL(WGL) перед викликом glGetString (GL_VERSION):

#include #include #pragma comment (lib, "opengl32.lib") LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam); int WinMain(__in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd) ( MSG msg = (0); WNDCLASS wc = (0); wc.lpfnWndProc = WndProc; wc.hInstance = hInstance; wc.hbrBackground = (HBRUSH)(COLOR_BACKGROUND); wc.lpszClassName = L"oglversionchecksample"; wc.style = CS_OWNDC; if(!RegisterClass(&wc)) return 1; 0,640,480,0,0,hInstance,0), while(GetMessage(&msg, NULL, 0, 0) > 0) DispatchMessage(&msg); ) ( switch(message) ( case WM_CREATE: ( PIXELFORMATDESCRIPTOR pfd = ( sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, //Flags 32, // Coloredepth of 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24; //Number of Aux buffers in the framebuffer. PFD_MAIN_PLANE, 0, 0, 0, 0); HDC ourWindowHandleToDeviceContext = GetDC(hWnd); int letWindowsChooseThisPixelFormat; letWindowsChooseThisPixelFormat = ChoosePixelFormat(ourWindowHandleToDeviceContext, &pfd); SetPixelFormat(ourWindowHandleToDeviceContext,letWindowsChooseThisPixelFormat, &pfd); HGLRC ourOpenGLRenderingContext = wglCreateContext(ourWindowHandleToDeviceContext); wglMakeCurrent (ourWindowHandleToDeviceContext, ourOpenGLRenderingContext); MessageBoxA(0,(char*)glGetString(GL_VERSION), "OPENGL VERSION",0); wglDeleteContext(ourOpenGLRenderingContext); PostQuitMessage(0); ) break; default: return DefWindowProc(hWnd, message, wParam, lParam); ) return 0; )

Безперечно, багато геймерів знають, що для коректної роботи таких відомих ігор, як Minecraft або CS, однією з основних умов є наявність у системі встановлених останніх версій драйверів OpenGL. Як оновити цей пакет драйверів зараз і буде розглянуто, оскільки, як і будь-яке інше програмне забезпечення, вони можуть застаріти. Саме тому іноді виникають проблеми із запуском улюблених ігор.

OpenGL: як найпростішим способом?

Насамперед, якщо при запуску гри або якогось специфічного додатка система повідомляє, що драйвери OpenGL потребують оновлення, слід використовувати найстандартніше рішення.

Для активації процесу слід увійти до стандартного «Диспетчера пристроїв», що можна зробити з «Панелі керування», розділу адміністрування комп'ютера або командою devmgmgt.msc через рядок консолі «Виконати», і знайти там встановлений відеоадаптер.

Апдейт можна запустити, використовуючи однойменну команду в меню правого кліка або розділ властивостей пристрою. Якщо вказати автоматичний пошук, це може не дати результату, і система повідомить, що відповідний драйвер вже встановлений. Тому бажано спочатку звернутися на сайт виробника обладнання, вибрати свою модель графічної карти, завантажити новий драйвер, а при установці вказати місце розташування збереженого дистрибутива.

Як оновити OpenGL на Windows 7 або в будь-якій іншій системі за допомогою спеціалізованих утиліт?

Для власників чіпів NVIDIA та Radeon завдання може бути дещо спрощене. Як правило, для них у комплекті в попередньо встановленому вигляді поставляються спеціальні керуючі програми на кшталт PhysX і Catalyst. Саме тому оновити драйвер OpenGL можна за допомогою.

Якщо з якихось причин такі утиліти відсутні, слід просто скачати та інтегрувати в систему. За наявності постійно активного інтернет-підключення вони стануть у нагоді не тільки для налаштування ігор, а й для автоматичного стеження за появою нових версій необхідних драйверів, включаючи і OpenGL.

У принципі, якщо такий варіант користувачеві не подобається, можна скористатися не менш цікавими програмами на кшталт Driver Booster, які без участі користувача оновлюють драйвери абсолютно для всіх залізних і програмних пристроїв, встановлених на комп'ютері або ноутбуці. Програма в процесі сканування системи сама визначить версію драйвера OpenGL. Як оновити його? Потрібно лише погодитися з пропозицією встановлення знайдених апдейтів. Після завершення процесу оновлення обов'язково буде потрібно повне перезавантаження.

Нарешті, можна встановити спеціальну утиліту під назвою OpenGL Extensions Viewer, за допомогою якої можна дізнатися версію встановленого пакета драйверів, і оновити його до останньої версії.

Оновлення DirectX

Однак оновлення може і не дати бажаного позитивного результату без апдейта платформи DirectX, яка є сполучним мостом між залізом і програмним комплексом у плані мультимедіа.

Дізнатися встановлену версію можна за допомогою команди dxdiag, яка вводиться в меню "Виконати". Завантажити новий дистрибутив можна з офіційного сайту підтримки Microsoft у розділі Downloads.

Як зрозуміло, DirectX OpenGL оновити можна звичайним стартом процесу інсталяції завантаженого дистрибутива. Перевага цього оновлення полягає ще й у тому, що в діалоговому вікні DirectX можна провести ряд тестів, включаючи продуктивність DirectSound, ffdshow, Direct3D і т.д.

Чому драйвери не оновлюються?

Якщо раптом жодне з вищезгаданих рішень не допомагає, найімовірніше, причина полягає тільки в тому, що відеоадаптер інстальовану версію OpenGL просто не підтримує, тому, як не намагайся, драйвер встановити не вдасться. Єдиним виходом стане встановлення потужнішої відеокарти.

До речі, найчастіше така проблема зустрічається у випадку з інтегрованими відеочіпами стандарту video-on-board, які вбудовані в материнські плати. З дискретними відеокартами, як правило, таких проблем немає (природно, за умови, що чіп не надто застарілий і спочатку підтримує технологію OpenGL). Як для таких карток, здається, вже зрозуміло. Але іноді може знадобитися апдейт платформ JAVA Runtime або навіть. NET Framework від Microsoft - про це теж забувати не можна. Але, як правило, в більшості випадків цього робити не потрібно – достатньо і паралельно використовувати утиліту OpenGL Extensions Viewer.

Іноді для запуску програми або гри Windows може знадобитися назва пакета встановлених в операційній системі програм.

А, значить, і відповісти на запитання, як дізнатися, який встановлений.

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

Що дає нова версія?

Значна частина програмного забезпечення працює лише у відповідному середовищі – з потрібними драйверами та пакетами програм.

Наприклад, Adobe Photoshop вимагає встановленого програмного забезпечення OpenGL, а практично всі сучасні ігри не запускатимуться без .

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

  • Покупки або завантаження додатків, які не підтримуються системою;
  • Спроб встановити більш ранні версії 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 така інформація видається під час перегляду відомостей про систему.

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

Безкоштовні версії цієї утиліти можна знайти в Інтернеті та встановити на свій комп'ютер – надалі вона знадобиться не тільки для визначення якої версії у вас DirectX.

Можна знайти схожі можливості та в інших утиліт.

Що робити далі?

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

Їх можна знайти в Інтернеті на сайті виробника або на форумах, де часто розміщується інформація про ігри ще до попадання на прилавок.

З одного боку, для запуску більшості програм достатньо встановити останню версію, яка напевно підтримує і всі попередні. Або хоча б DirectX 11.

Але тут виникає дві проблеми:

  1. Застарілі відеокарти не підтримують 11 видання драйвера;
  2. Деякі ігри вимагають, щоб запустити конкретну версію пакета.

У цьому випадку доведеться ставити ту DirectX, яка вказана у вимогах.

І, якщо система за замовчуванням встановила нову, і за рахунок цього, на думку системи, версію, що не вимагає оновлення (що може викликати конфлікт програмного забезпечення і призвести до відмови від запуску), слід повністю видалити пакет і поставити новий, сумісний з вашою програмою.

Знайти та завантажити їх можна безкоштовно на сайті виробника.

Тематичні відео: