Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
blackbox:3d [2020/02/02 14:57] иван_денисов |
blackbox:3d [2021/06/19 15:10] (текущий) iadenisov [Обзор примеров] |
====== Разработка приложений с применением OpenGL ====== | ====== Разработка приложений с применением OpenGL ====== |
| |
Чтобы разрабатывать в [[:blackbox:|Блэкбоксе]] приложения с трехмерной графикой, используя программный интерфейс OpenGL существует расширение [[http://www.zinnamturm.eu/downloadsOS.htm#Ogl|Ogl]]. Это расширение позволяет в Windows рисовать на внутренних окнах Блэкбокса, содержит некоторое количество примеров, чтобы начать осваивать конвейерный язык OpenGL. | Чтобы разрабатывать в [[:blackbox:|Блэкбоксе]] приложения с трехмерной графикой, используя программный интерфейс OpenGL, существует расширение [[http://www.zinnamturm.eu/downloadsOS.htm#Ogl|Ogl]]. Это расширение само по себе позволяет рисовать трехмерные объекты на внутренних окнах Блэкбокса, а также содержит некоторое количество примеров, чтобы начать осваивать конвейерный язык OpenGL в операционной системе Windows. |
| |
{{ :blackbox:opengl.png?600 |}} | {{ :blackbox:opengl.png?600 |}} |
| |
Однако для разработки прикладных кросс-платформенных приложений более практично создавать окна и обрабатывать события ввода данных с клавиатуры и мыши с помощью библиотеки [[https://www.libsdl.org/|Sdl2]]. Кросс-платформенная библиотека Sdl2 позволяет создавать приложения, которые не будут зависеть от оконной системы компонентного каркаса Блэкбокс, и будут единообразно работать на различных платформах. Также ряд расширений библиотеки Sdl2 в том числе позволяют работать с растровыми изображениями и шрифтами в формате TrueType. | Однако для разработки прикладных кросс-платформенных приложений более практично создавать окна и обрабатывать события ввода данных с клавиатуры и мыши с помощью библиотеки [[https://www.libsdl.org/|Sdl2]]. Кросс-платформенная библиотека Sdl2 позволяет создавать приложения, которые не будут зависеть от оконной системы компонентного каркаса Блэкбокс, и будут единообразно работать на различных платформах. Также расширения библиотеки Sdl2 позволяют работать с растровыми изображениями и шрифтами в формате TrueType. |
| |
===== Настройка среды разработки ===== | ===== Настройка среды разработки ===== |
{{ :blackbox:blackbox-3d-135.zip | Готовая сборка Блэкбокса с необходимыми библиотеками для Windows (v.1.7.2.135.1)}} | {{ :blackbox:blackbox-3d-135.zip | Готовая сборка Блэкбокса с необходимыми библиотеками для Windows (v.1.7.2.135.1)}} |
| |
Если пока не ориентируетесь в среде разработки Блэкбокс, то мы рекомендуем перед разработкой 3D-приложений освоить необходимые основы, посмотрев [[bb:lessons:|краткие уроки]], [[blackbox:manual:|онлайн учебник]] или [[blackbox:video|видеоуроки]]. | Если пока не ориентируетесь в среде разработки Блэкбокс, то мы рекомендуем перед разработкой 3D-приложений освоить необходимые навыки, посмотрев [[bb:lessons:|краткие уроки]], [[blackbox:manual:|онлайн учебник]] или [[blackbox:video|видеоуроки]]. |
| |
Если выбираете готовую сборку и достаточно ориентируетесь в Блэкбоксе, то переходите [[https://wiki.oberon.org/blackbox/3d#%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%BE%D0%B2|к следующему разделу заметки]]. | Если выбираете готовую сборку и достаточно ориентируетесь в Блэкбоксе, то переходите [[https://wiki.oberon.org/blackbox/3d#%D0%BE%D0%B1%D0%B7%D0%BE%D1%80_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%D0%BE%D0%B2|к следующему разделу заметки]]. |
| |
Для того, чтобы самостоятельно настроить среду необходимо выполнить следующие действия действия. | Для того, чтобы самостоятельно настроить среду необходимо выполнить следующие действия действия: |
| |
- Скачайте [[blackbox:|Блэкбокс]] | - Скачайте [[blackbox:|Блэкбокс]]. |
| - Установите расширение Sdl2, для чего [[https://blackbox.oberon.org/extension/Sdl2|скачайте закодированный файл с сайта]]. |
- Установите расширение Sdl2, для чего скачайте закодированный файл с сайта: | - Откройте скачанный текстовый документ в Блэкбоксе и выберите команду **Инструменты/Раскодировать**. Файлы модулей и документация будут распакованы в рабочую директорию. Как правило у расширений Блэкбокса есть файл с документацией (Quick-Start). Откройте документ **Sdl2/Docu/Quick-Start.odc**, в котором найдете документацию на английском, как скомпилировать модули и откуда скачать бинарные файлы библиотек Sdl2. |
https://blackbox.oberon.org/extension/Sdl2 | - Перед тем как откомпилировать модули подсистемы Sdl2, необходимо установить также непосредственно само расширение для работы с OpenGL: https://gitlab.molpit.org/bindings/Ogl. Распаковка производится таким же образом через команду **Инструменты/Раскодировать**. |
| |
- Откройте скачанный текстовый документ в Блэкбоксе и выберите команду **Инструменты/Раскодировать**. Файлы модулей и документация будут распакованы в рабочую директорию. Как правило у расширений Блэкбокса есть файл с документацией (Quick-Start). Откройте документ **Sdl2/Docu/Quick-Start.odc**, в котором найдете документацию на английском, как скомпилировать модули и откуда скачать бинарные файлы библиотек Sdl2. | |
| |
- Перед тем как откомпилировать модули подсистемы Sdl2, необходимо установить также непосредственно само расширение для работы с OpenGL: https://gitlab.molpit.org/bindings/Ogl. Распаковка производится таким же образом через команду **Инструменты/Раскодировать**. | |
- После того как модули Ogl распакованы, запустите команды для компиляции модулей в зависимости от вашей платформы. Команды запускаются с помощью коммандеров (кружков с восклицательными знаками). | - После того как модули Ogl распакованы, запустите команды для компиляции модулей в зависимости от вашей платформы. Команды запускаются с помощью коммандеров (кружков с восклицательными знаками). |
| - Скачайте и распакуйте в рабочую папку необходимые библиотеки Sdl2. Ссылки для загрузки вы найдете в документе **Sdl2/Docu/Quick-Start**. Для Windows перезапуск среды не требуется. Для операционных систем на основе GNU/Linux необходимо перезапустить Блэкбокс, указав в переменной окружения `LD_LIBRARY_PATH` путь к файлам библиотек Sdl2 (пример bash-скрипта для запуска Блэкбокса также находится в документации, стоит лишь развернуть складку со знаками "+" в пункте 1.3). |
| |
- Скачайте и распакуйте в рабочую папку необходимые библиотеки Sdl2. Ссылки для загрузки вы найдете в документе **Sdl2/Docu/Quick-Start**. Для Windows перезапуск среды не требуется. Для операционных систем на основе GNU/Linux необходимо перезапустить Блэкбокс, указав в переменной окружения `LD_LIBRARY_PATH` путь к файлам библиотек Sdl2 (пример bash-скрипта для запуска Блэкбокса также находится в документации, стоит лишь развернуть складку со знаками "+" в пункте 1.3). | |
| |
После того, как все действия выполнены, вы сможете ознакомиться с примерами, ссылки на которые вы найдете в файле Quick-Start. | После того, как все действия выполнены, вы сможете ознакомиться с примерами, ссылки на которые вы найдете в файле Quick-Start. |
**Sdl2ObxOpenGL** показывает как создать контекст для рисования команадми OpenGL. | **Sdl2ObxOpenGL** показывает как создать контекст для рисования команадми OpenGL. |
| |
```(!) DevCompiler.CompileThis Sdl2ObxOpenGL``` | ''(!) DevCompiler.CompileThis Sdl2ObxOpenGL'' |
| |
и запустить его командой: | и запустить его командой: |
| |
```(!) Sdl2ObxOpenGL.Start``` | ''(!) Sdl2ObxOpenGL.Start'' |
| |
Появится окно с квадратом, который залит градиентной заливкой. | Появится окно с квадратом, который залит градиентной заливкой. |