OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 23:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 18 ] 
Автор Сообщение
 Заголовок сообщения: OglLessons - Уроки по OpenGL
СообщениеДобавлено: Пятница, 01 Октябрь, 2010 06:02 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Использование OpenGL обсуждалось тут.
viewtopic.php?f=24&t=825

Разбираясь с одной задачей по 3d визуализации, нашел уроки по OpenGL на сайте
http://nehe.gamedev.net/lesson.asp?index=01

Там есть трансляция уроков на разные языки программирования, Оберона или Компонентного паскаля там естественно нет.

Сделана трансляция [2,4,5] урока на КП, используя пакеты из коллекции Цинна.
http://www.zinnamturm.eu/downloadsOS.htm#Ogl
http://www.zinnamturm.eu/downloadsOS.htm#OglGlut

Получаются независимые от ВВ приложения, неплохой пример использования ББ, как простого компилятора. Можно ведь и игры таким образом писать, Интересно на сколько хорошо может показать себя компилятор ББ при разработке игр, например!

Родилась идея перевести все уроки на КП, написать автору уроков, чтобы разместил эти трансляции на сайт. Буду потихоньку этим заниматься, но рад буду если кто-то еще захочет научится использовать OpenGL таким способом.

(модератор) 07.11.2010: уроки загружены в коллекцию: http://oberoncore.ru/bbcc/subs/ogl/lessons


Последний раз редактировалось Иван Денисов Воскресенье, 07 Ноябрь, 2010 20:36, всего редактировалось 9 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Пятница, 01 Октябрь, 2010 08:11 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
На всякий случай: для русифицированных версий в списке линкера нужно перед Kernel+ вписать National.

Если не трудно, в урок добавьте, пожалуйста, команду с пометкой "для русифицированных версий Блэкбокса".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Пятница, 01 Октябрь, 2010 10:28 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Интересно, пригодится, спасибо. Хочу дать тему 3Д-графики студентам чуть попозже.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Пятница, 01 Октябрь, 2010 17:43 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Info21 писал(а):
На всякий случай: для русифицированных версий в списке линкера нужно перед Kernel+ вписать National.
Если не трудно, в урок добавьте, пожалуйста, команду с пометкой "для русифицированных версий Блэкбокса".

Добавил и проверил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Пятница, 01 Октябрь, 2010 20:29 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Логичнее было бы издавать материал в формате HTML, так как его смогут найти веб-поисковиками.
Компонентный Паскаль мог бы показать свою мощь в таких уроках лишь в случае разработки компонентного ПО. А так разница неощутима. API то один и тот же. Только синтаксис другой (язык). Так что на примере игр и небольших проектов (допустим, лабораторные работы по физике, визуализация данных и тому подобное) могли бы оказать большую пользу.

P.S.
"руссифицированной" пишется через одну "с".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Суббота, 02 Октябрь, 2010 07:40 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
divan писал(а):
Добавил и проверил.
Спасибо.

Надо понимать, теперь и русифицированная версия есть :)

Роман М. писал(а):
"руссифицированной" пишется через одну "с".
В смысле?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Суббота, 02 Октябрь, 2010 12:06 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Цитата:
Роман М. писал(а):
"руссифицированной" пишется через одну "с".
В смысле?
У divan в документе фигурирует слово "руссифицированной", т.е. с ошибкой.


Последний раз редактировалось Роман М. Понедельник, 25 Октябрь, 2010 09:28, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Суббота, 02 Октябрь, 2010 13:35 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Исправил, вычистил файл от пробелов...

Возникли вопросы.
Как закрыть программу не используя Kernel.Quit(0) ?
Просто это, единственная команда в уроке для которой нужен Kernel. Без него готовая программа занимает 6кб.

Пробовал упаковать glut32.dll в .exe, но он ее внутри себя не видит почему-то. В чем может быть проблема?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Суббота, 02 Октябрь, 2010 15:47 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
divan писал(а):
Как закрыть программу не используя Kernel.Quit(0) ?
WinApi.PostQuitMessage(0);
Можно ещё HALT (0).
А что, нету штатных средств завершения GLUT.MainLoop?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Суббота, 02 Октябрь, 2010 17:17 
Аватара пользователя

Зарегистрирован: Суббота, 12 Июль, 2008 22:49
Сообщения: 575
Откуда: Россия, Санкт-Петербург
Александр Ильин писал(а):
divan писал(а):
Как закрыть программу не используя Kernel.Quit(0) ?
WinApi.PostQuitMessage(0);
Можно ещё HALT (0).
А что, нету штатных средств завершения GLUT.MainLoop?


Для GLUT'а - нет.
Но GLUT - обвязка, GLU, а GLU - обвязка GL. Так что можно стремиться использовать только GL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Суббота, 02 Октябрь, 2010 17:40 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Александр Ильин писал(а):
divan писал(а):
Как закрыть программу не используя Kernel.Quit(0) ?
WinApi.PostQuitMessage(0);
Можно ещё HALT (0).
А что, нету штатных средств завершения GLUT.MainLoop?
Спасибо!
Народ пишет про FreeGLUT, что мол, это более свежая обвязка.
Также нашел OpenGLUT http://openglut.sourceforge.net/group__mainloop.html
Тут есть прямо функция специальная glutLeaveMainLoop.
Попробую OpenGLUT посмотреть, так как для ББ вопрос отключения петли MainLoop актуален. Если окно вызвано с открытым ББ, то закрытие окна приводит к закрытию всего ББ.

Также с четвертым уроком пришлось повозится (третий пропустил), разобраться с Таймером GLUT. Хочу сказать, что мне в ББ такого таймера очень не хватает!!! Писал вопрос тут viewtopic.php?f=23&t=2667 проблему красиво так и не решил :( использовал LOOP, который хоть и увеличил fps до 70 но загрузил одно ядро на 100%

Также человек, который для BB писал заголовки для библиотеки glut32.dll разбирался в этой библиотеке хорошо, поскольку в ней присутствует недокументированная функция CreateWindowWithExit !
Очень полезная, поскольку после закрытия окна MainLoop не останавливается и приложение работает. Может есть другие способы убить приложение, отслеживая каким либо образом состояние окна, но пока не нашел.

Прикладываю 4 урок. 2 заменил в первом сообщении. Необходимость в Kernel и в National, соответственно, отпала.


Последний раз редактировалось Иван Денисов Понедельник, 08 Ноябрь, 2010 18:45, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Суббота, 16 Октябрь, 2010 05:37 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Разобрался с пятым уроком и шестым пока без внешней картинки (текстура генерируется). Модули буду менять в первом сообщении, а в ленте комментировать изменения.
Замечание про текстуры: особенность ATI видеокарты вынуждает делать размер всех текстур равный степени 2.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Уроки по OpenGL
СообщениеДобавлено: Воскресенье, 24 Октябрь, 2010 09:48 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
divan писал(а):
Также человек, который для BB писал заголовки для библиотеки glut32.dll разбирался в этой библиотеке хорошо, поскольку в ней присутствует недокументированная функция CreateWindowWithExit !
Очень полезная, поскольку после закрытия окна MainLoop не останавливается и приложение работает. Может есть другие способы убить приложение, отслеживая каким либо образом состояние окна, но пока не нашел.
Точнее будет "разобрался, когда писал", т.к. по упомянутым Вами граблям тоже прошёлся. :)

Они описаны в документации OglGLUT, "Notes on Win32 GLUT implementation". Вы, наверное, внимания не обратили, когда читали...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OglLessons - Уроки по OpenGL
СообщениеДобавлено: Среда, 01 Май, 2013 21:18 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Уроки переделаны под SDL + OpenGl. GLUT оказался на деле сильно устаревшим.

Выложил новые уроки сюда: http://oberon.molpit.com/pacs/OglLessons.txt. Евгений, огромная просьба обновить их в подсистемах на новую версию и также картинку просьба добавить, от этого сообщения, например.

Немного доведенную SDL (изменения), которая необходима для запуска уроков, выложил сюда : http://oberon.molpit.com/pacs/Sdl.txt


Вложения:
demo.jpg
demo.jpg [ 106.81 КБ | Просмотров: 13646 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OglLessons - Уроки по OpenGL
СообщениеДобавлено: Среда, 08 Май, 2013 20:54 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Иван Денисов писал(а):
Выложил новые уроки сюда: http://oberon.molpit.com/pacs/OglLessons.txt. Евгений, огромная просьба обновить их в подсистемах на новую версию и также картинку просьба добавить, от этого сообщения, например.
Иван, огромная просьба обновить их в хранилище https://svn.oberoncore.ru/community/bbcc/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OglLessons - Уроки по OpenGL
СообщениеДобавлено: Среда, 08 Май, 2013 21:03 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Евгений Темиргалеев писал(а):
Иван Денисов писал(а):
Выложил новые уроки сюда: http://oberon.molpit.com/pacs/OglLessons.txt. Евгений, огромная просьба обновить их в подсистемах на новую версию и также картинку просьба добавить, от этого сообщения, например.
Иван, огромная просьба обновить их в хранилище https://svn.oberoncore.ru/community/bbcc/
Сделал. Спасибо за обновление http://oberoncore.ru/bbcc/subs/ogl/lessons


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OglLessons - Уроки по OpenGL
СообщениеДобавлено: Понедельник, 17 Июнь, 2013 20:33 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Объясните как подключить sdl к ББ.

Иван Денисов писал(а):
Немного доведенную SDL (изменения), которая необходима для запуска уроков, выложил сюда : http://oberon.molpit.com/pacs/Sdl.txt


Как это открыть и что с этим делать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OglLessons - Уроки по OpenGL
СообщениеДобавлено: Понедельник, 17 Июнь, 2013 21:37 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Jordan писал(а):
Объясните как подключить sdl к ББ.

Иван Денисов писал(а):
Немного доведенную SDL (изменения), которая необходима для запуска уроков, выложил сюда : http://oberon.molpit.com/pacs/Sdl.txt


Как это открыть и что с этим делать.

Скачать, открыть в ББ, выбрать Tools → Decode, согласиться создать пару папок, открыть документ Sdl/Docu/SDL-Quick-Start.odc


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 18 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB