OberonCore https://forum.oberoncore.ru/ |
|
OglLessons - Уроки по OpenGL https://forum.oberoncore.ru/viewtopic.php?f=90&t=2879 |
Страница 1 из 1 |
Автор: | Иван Денисов [ Пятница, 01 Октябрь, 2010 06:02 ] |
Заголовок сообщения: | OglLessons - Уроки по OpenGL |
Использование 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 |
Автор: | Info21 [ Пятница, 01 Октябрь, 2010 08:11 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
На всякий случай: для русифицированных версий в списке линкера нужно перед Kernel+ вписать National. Если не трудно, в урок добавьте, пожалуйста, команду с пометкой "для русифицированных версий Блэкбокса". |
Автор: | Илья Ермаков [ Пятница, 01 Октябрь, 2010 10:28 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
Интересно, пригодится, спасибо. Хочу дать тему 3Д-графики студентам чуть попозже. |
Автор: | Иван Денисов [ Пятница, 01 Октябрь, 2010 17:43 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
Info21 писал(а): На всякий случай: для русифицированных версий в списке линкера нужно перед Kernel+ вписать National. Если не трудно, в урок добавьте, пожалуйста, команду с пометкой "для русифицированных версий Блэкбокса". Добавил и проверил. |
Автор: | Роман М. [ Пятница, 01 Октябрь, 2010 20:29 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
Логичнее было бы издавать материал в формате HTML, так как его смогут найти веб-поисковиками. Компонентный Паскаль мог бы показать свою мощь в таких уроках лишь в случае разработки компонентного ПО. А так разница неощутима. API то один и тот же. Только синтаксис другой (язык). Так что на примере игр и небольших проектов (допустим, лабораторные работы по физике, визуализация данных и тому подобное) могли бы оказать большую пользу. P.S. "руссифицированной" пишется через одну "с". |
Автор: | Info21 [ Суббота, 02 Октябрь, 2010 07:40 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
divan писал(а): Добавил и проверил. Спасибо.Надо понимать, теперь и русифицированная версия есть Роман М. писал(а): "руссифицированной" пишется через одну "с". В смысле?
|
Автор: | Роман М. [ Суббота, 02 Октябрь, 2010 12:06 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
Цитата: Роман М. писал(а): "руссифицированной" пишется через одну "с". В смысле? |
Автор: | Иван Денисов [ Суббота, 02 Октябрь, 2010 13:35 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
Исправил, вычистил файл от пробелов... Возникли вопросы. Как закрыть программу не используя Kernel.Quit(0) ? Просто это, единственная команда в уроке для которой нужен Kernel. Без него готовая программа занимает 6кб. Пробовал упаковать glut32.dll в .exe, но он ее внутри себя не видит почему-то. В чем может быть проблема? |
Автор: | Александр Ильин [ Суббота, 02 Октябрь, 2010 15:47 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
divan писал(а): Как закрыть программу не используя Kernel.Quit(0) ? WinApi.PostQuitMessage(0);Можно ещё HALT (0). А что, нету штатных средств завершения GLUT.MainLoop? |
Автор: | Madzi [ Суббота, 02 Октябрь, 2010 17:17 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
Александр Ильин писал(а): divan писал(а): Как закрыть программу не используя Kernel.Quit(0) ? WinApi.PostQuitMessage(0);Можно ещё HALT (0). А что, нету штатных средств завершения GLUT.MainLoop? Для GLUT'а - нет. Но GLUT - обвязка, GLU, а GLU - обвязка GL. Так что можно стремиться использовать только GL. |
Автор: | Иван Денисов [ Суббота, 02 Октябрь, 2010 17:40 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
Александр Ильин писал(а): 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, соответственно, отпала. |
Автор: | Иван Денисов [ Суббота, 16 Октябрь, 2010 05:37 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
Разобрался с пятым уроком и шестым пока без внешней картинки (текстура генерируется). Модули буду менять в первом сообщении, а в ленте комментировать изменения. Замечание про текстуры: особенность ATI видеокарты вынуждает делать размер всех текстур равный степени 2. |
Автор: | Евгений Темиргалеев [ Воскресенье, 24 Октябрь, 2010 09:48 ] |
Заголовок сообщения: | Re: Уроки по OpenGL |
divan писал(а): Также человек, который для BB писал заголовки для библиотеки glut32.dll разбирался в этой библиотеке хорошо, поскольку в ней присутствует недокументированная функция CreateWindowWithExit ! Точнее будет "разобрался, когда писал", т.к. по упомянутым Вами граблям тоже прошёлся. Очень полезная, поскольку после закрытия окна MainLoop не останавливается и приложение работает. Может есть другие способы убить приложение, отслеживая каким либо образом состояние окна, но пока не нашел. Они описаны в документации OglGLUT, "Notes on Win32 GLUT implementation". Вы, наверное, внимания не обратили, когда читали... |
Автор: | Иван Денисов [ Среда, 01 Май, 2013 21:18 ] | ||
Заголовок сообщения: | Re: OglLessons - Уроки по OpenGL | ||
Уроки переделаны под SDL + OpenGl. GLUT оказался на деле сильно устаревшим. Выложил новые уроки сюда: http://oberon.molpit.com/pacs/OglLessons.txt. Евгений, огромная просьба обновить их в подсистемах на новую версию и также картинку просьба добавить, от этого сообщения, например. Немного доведенную SDL (изменения), которая необходима для запуска уроков, выложил сюда : http://oberon.molpit.com/pacs/Sdl.txt
|
Автор: | Евгений Темиргалеев [ Среда, 08 Май, 2013 20:54 ] |
Заголовок сообщения: | Re: OglLessons - Уроки по OpenGL |
Иван Денисов писал(а): Выложил новые уроки сюда: http://oberon.molpit.com/pacs/OglLessons.txt. Евгений, огромная просьба обновить их в подсистемах на новую версию и также картинку просьба добавить, от этого сообщения, например. Иван, огромная просьба обновить их в хранилище https://svn.oberoncore.ru/community/bbcc/
|
Автор: | Иван Денисов [ Среда, 08 Май, 2013 21:03 ] |
Заголовок сообщения: | Re: OglLessons - Уроки по OpenGL |
Евгений Темиргалеев писал(а): Иван Денисов писал(а): Выложил новые уроки сюда: http://oberon.molpit.com/pacs/OglLessons.txt. Евгений, огромная просьба обновить их в подсистемах на новую версию и также картинку просьба добавить, от этого сообщения, например. Иван, огромная просьба обновить их в хранилище https://svn.oberoncore.ru/community/bbcc/ |
Автор: | Jordan [ Понедельник, 17 Июнь, 2013 20:33 ] |
Заголовок сообщения: | Re: OglLessons - Уроки по OpenGL |
Объясните как подключить sdl к ББ. Иван Денисов писал(а): Немного доведенную SDL (изменения), которая необходима для запуска уроков, выложил сюда : http://oberon.molpit.com/pacs/Sdl.txt Как это открыть и что с этим делать. |
Автор: | Иван Денисов [ Понедельник, 17 Июнь, 2013 21:37 ] |
Заголовок сообщения: | Re: OglLessons - Уроки по OpenGL |
Jordan писал(а): Объясните как подключить sdl к ББ. Иван Денисов писал(а): Немного доведенную SDL (изменения), которая необходима для запуска уроков, выложил сюда : http://oberon.molpit.com/pacs/Sdl.txt Как это открыть и что с этим делать. Скачать, открыть в ББ, выбрать Tools → Decode, согласиться создать пару папок, открыть документ Sdl/Docu/SDL-Quick-Start.odc |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |