Меню

Opengl для linux как установить

OpenGL и Linux: Установка и настройка Code::Blocks

Обновл. 10 Апр 2020 |

В этом уроке мы рассмотрим установку и настройку Code::Blocks в Linux для работы с OpenGL, а также запустим проект из предыдущего урока.

Подготовительные шаги

Установка будет происходить на чистой системе debian-10.3.0-amd64 XFCE под VMWare. Я не буду описывать сам процесс установки ОС, ограничусь лишь скриншотом итоговой конфигурации системы:

На всякий случай избегайте кириллицы в путях и именах файлов.

Установка GLFW в Linux

Указываем необходимую нам папку:

Видим получившуюся распакованную папку glfw-3.3.2 :

Установка CMake в Linux

Теперь необходимо поставить систему сборки проектов CMake. Для этого в окне терминала выполните следующую команду:

sudo aptitude install cmake-gui

Указываем папку с исходниками GLFW и вторую папку, где должен будет появиться результат работы CMake (у себя для этого я создал папку build ), и нажимаем на кнопку «Configure» :

В появившемся окне выбираем пункт «CodeBlocks – Unix Makefiles» и нажимаем на кнопку «Finish» :

В результате видим… кучу ошибок ( добро пожаловать в мир Linux, мир боли и страданий ):

sudo aptitude install xorg-dev

Возвращаемся в CMake и выставляем галочки так, как показано ниже:

В результате, в папке build у нас должен появиться файл проекта GLFW.cbp :

Установка Code::Blocks в Linux

Пришло время установить среду программирования Code::Blocks. Для этого возвращаемся в терминал и вводим следующую команду:

sudo aptitude install codeblocks

После установки, иконка файла проекта поменяет свой внешний вид:

Открывается окно проекта, нажимаем на шестерёнку и компилируем его:

После этого в папке build должен появиться скомпилированный файл библиотеки libglfw3.a :

Установка GLAD в Linux

Заходим на оф. сайт GLAD-а и указываем следующие настройки, после чего нажимаем на кнопку «Generate» :

В результате нам будет предложено скачать архив glad.zip:

В итоге у вас должна получиться примерно следующая картина иерархии папок и файлов:

Создание проекта в Code::Blocks

Затем нажимаем на кнопку «Next» :

Задаём имя проекту. Я назвал его CodeBlocks и выбрал папку /home/diego/OpenGL_Project/ :

В следующем окне должны быть следующие настройки:

Затем эти два файла нужно будет добавить в наш проект. Для этого вернёмся обратно в Code::Blocks, нажмём правой кнопкой мыши по названию нашего проекта и выберем пункт «Add files…» :

Добавляем в проект файлы glad.c и main.cpp :

Переходим на вкладку «Linker settings» и настраиваем её следующим образом:

Примечание: В правом окошке «Other linker options» необходимо указать следующие параметры:

Источник

Nvidia OpenGL Configuration mini-HOWTO

Robert B Easter

Перевод: Александр Ермолаев, SWSoft Pte Ltd.

Этот miniHOWTO описывает способ, как установить драйвера OpenGL под Linux для видеокарты Nvidia. В дополнение к этому, документ объясняет, как установить XFree86, библиотеку OpenGL Utility (часть библиотеки Mesa), OpenGL Utility Toolkit (glut), полный набор страниц руководства по OpenGL, а также библиотеку Qt и ее расширения OpenGL, т.о. пользователи будут иметь основу для разработки OpenGL приложений под Linux.

1. Введение

Этот miniHOWTO описывает способ, как установить драйвера OpenGL под Linux для видеокарты Nvidia. В дополнение к этому, документ объясняет, как установить XFree86, библиотеку OpenGL Utility (часть библиотеки Mesa), OpenGL Utility Toolkit (glut), полный набор страниц руководства по OpenGL, а также библиотеку Qt и ее расширения OpenGL, т.о. пользователи будут иметь основу для разработки OpenGL приложений под Linux.

Читайте также:  Как установить эхолот гармин

1.1. Новые версии этого документа

Последнюю версию этого документа можно найти на странице:

1.2. Copyright Information

This document is copyrighted (c) 2000 Robert B. Easter and is distributed under the terms of the Linux Documentation Project (LDP) license, stated below.

Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.

All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below.

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs.

If you have any questions, please contact

1.3. Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

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

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

1.4. Ответственность

Я не несу никакой ответственности за содержание этого документа. Используйте идей, примеры и другое содержимое документа на свой страх и риск.

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

Упоминание специфических продуктов или торговых марок, которое имеет место в этом документе, не должно расцениваться как их подтверждение их качества.

2. Загрузка пакетов программ

Также требуется XFree86 4.0 или выше, предпочтительнее 4.01. Его инсталляция будет описана позже.

XFree86 содержится в трех файлах:

Doctools используется для подготовки X документации.

Включает glX, интерфейс для OpenGL X. Каждая графическая оконная система (MS Windows, X и т.п.) предоставляет платформенно-определенный интерфейс между OpenGL и системой, чтобы обеспечивать отображение GL контекста в окнах.

Читайте также:  Как установить в навигатор карты osm для garmin

Страницы руководства OpenGL.

XFree86 идет только со страницами руководства glX. Если вы хотите полностью установить страницы руководства OpenGL, вы должны получить их сами.

Эти страницы руководства представлены в формате, готовом для распаковки в каталог XFree86, см. ниже.

Glut обеспечивает графическую систему независимым интерфейсом между OpenGL и любой поддерживаемой графической системой. Например, в X Window скрываются подробности использования функций glX, при создании окна. Программисты могут один раз написать код и скомпилировать его для работы в MS Windows или X и т.п., при условии, что библиотека GLUT доступна на данной платформе.

Вам нужно установить GLU и GLUT, если вы хотите иметь возможность компилировать большинство программ, которые можно свободно загрузить (исходный код). Некоторым программам могут даже быть необходимы эти библиотеки, если они связаны с ними динамически.

qt-x11-2.1.0.tar.gz или более новая версия

Qt имеет расширение (qt/ententions/opengl) для OpenGL, которое обеспечивает создание OpenGL контекста в программах, написаных с помощью Qt. Она обеспечивает некоторую альтернативу GLUT и использует функции glX напрямую, плюс, добавляет полный доступ к qt элементам и кросс-платформенную переносимость.

Она полезна, если вы хотите компилировать или разрабатывать программы, основанные на Qt.

XFree86 4.0.1, кажется, содержит ядро Mesa 3.3, однако в нем отсутствуют некоторые файлы libGLU*, которые требуют многие программы.

3. Установка XFree86

Когда вы распакуете файлы man*.tar.Z (см. выше), будут добавлены два новых каталога: gl и glu.

Когда X установлен и выполняется (позже), попробуйте использовать программу xman, чтобы просмотреть руководства gl,glx,glu и glut из секции 3.

4. Установка Mesa

5. Установка драйверов Nvidia OpenGL

Вы можете разместить эту команду в одном из загрузочных файлов, например /etc/rc.d/rc.modules

6. Установка Qt

7. Установка GLUT

Установка GLUT имеет некоторые хитрости. Я не очень знаком с программой imake, которая используется для управления файлами Makefile. И я не совсем понял, как установить GLUT, туда куда я хотел (/usr/lib). Во любом случае, это можно сделать вручную:

8. Заключительные комментарии

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

Источник

OpenGL программирование/Установка/Linux

Содержание

Установка OpenGL на Linux [ править ]

Большинство дистрибутивов Linux опираются на Mesa3D проект что бы обеспечить реализацию OpenGL. Они регулярно поставляют OpenGL библиотеки, а так же OpenGL ES 1.x и 2.0.

Точные имена пакетов необходимых для установки сильно зависят от дистрибутива. Ссылаясь на пакеты вашего дистрибутива, вы можете спасти себя от траты времени и головной боли в установке. Используйте ваш любимый менеджер пакетов и поиск по названию пакета. Вам, возможно, потребуется установить пакеты, с DEV суффиксом, это пакеты разработки (обычно файлы заголовков). Также смотрите в пакетах с lib-префиксом, которые относятся к библиотекам.

Установите GCC C/C++ компиляторы и связанные с ними инструменты, такие как make.

В общем, установите следущее:

Библиотеки [ править ]

В этом Викиучебнике, мы будем использовать GLEW, FreeGLUT и GLM, убедитесь, что вы установите библиотеки разработчика (примечание переводчика dev библиотеки):

Драйверы [ править ]

OpenGL является основным API 3D-графики в GNU/Linux-based системах. Если ваше устройство поддерживает 3D ускорение на GNU/Linux, оно, вероятно, включает в себя OpenGL.

Читайте также:  Как установить срок службы изделия

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

Фирменные варианты [ править ]

Компания Nvidia обеспечивает в целом хороший, но не свободный драйвер nvidia. fglrx драйвер для многих современных устройств AMD; он также имеет закрытый исходный код и доступен на сайте AMD.

Свободные/Open-Source варианты. [ править ]

Если ваш процессор Intel с встроенной графикой, то необходимые драйверы с открытым исходным кодом поставляются в качестве стандартной части ядра Linux.

Если у вас установлен один из новейших чипов, вам возможно придётся использовать посредственный fglrx драйвер. Однако AMD выпустила спецификации для своих чипов, ‘Radeon’ с открытым исходным кодом сделал свой путь, для того чтобы стать полнофункциональным 2D и 3D драйвером.

По состоянию на июнь 2013 года, большинство чипов AMD хорошо работают с исходным драйвером «Radeon». 3D производительность с драйвером AMD Catalyst на современных картах еще лучше, но это может измениться в будущем. Можете проверить таблицу характеристик.

Nouveau драйвер с открытым исходным кодом поддерживает чипсеты NVIDIA, но в момент написания не так полон, как драйвера с закрытым исходным кодом от NVIDIA, поддержка 3D может быть не удовлетворительна.

Драйвер OpenGL на Linux-системах состоит из двух файлов:

А так же многие OpenGL приложения требуют libGLU.so; Операции GLU не могут быть аппаратно ускоренны, поэтому реализация Mesa является отличным вариантом.

Проверьте ваши сведения о OpenGL [ править ]

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

IDEs [ править ]

The tutorials will mostly rely on simple Makefile s to build the code, and let you edit the source with your favorite text editor, such as Emacs, vim, gedit, kwrite, etc.

Several IDEs exist for GNU/Linux, such as:

It is very simple to adapt the Makefiles to these environments.

Installing your own OpenGL headers [ править ]

In the unlikely event that your distribution does not supply packages for Mesa3D, you can build it from source with the usual

installation procedure; however, be careful of conflicting opengl libraries.

Mesa’s software implementation may override your distribution’s libraries or libraries manually installed, such as the nvidia or fglrx OpenGL binaries. When this happens, search all directories listed with

for libGL.so. The following command should output all the different OpenGL libraries available on your system:

It is usually OK if you have one the mesa library plus the proprietary library. On 64-bits systems, you may also have the lib32 library. Additional copies of libGL.so found in the ld search path (specified in /etc/lf.so.conf by default), if not referring to the same file, usually indicates a conflict. Remove all but the copy you want executed.

«Official» OpenGL headers are available from SGI, however, they are hopelessly out of date.

Источник