OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 22 Октябрь, 2018 23:30

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
 Заголовок сообщения: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Суббота, 10 Январь, 2015 05:42 

Зарегистрирован: Суббота, 02 Август, 2008 23:01
Сообщения: 43
Когда-то несколько лет назад сделал. Нашёл вот недавно в закромах, пыль стряхнул. Вдруг кому интересным покажется, как пример использования 3D. Выкладываю с ББ, а не отдельно подсистемой, так как наверняка воды утекло (биндинги к SDL поменялись). Как откроется, достаточно в разделе "Запуск" коммандер кликнуть. Можно ещё в имени модели сменить 1 на 2, чтобы другая текстура натянулась.


Вложения:
OglPract.7z [5.55 МБ]
Скачиваний: 104
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Суббота, 10 Январь, 2015 11:29 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
А что, гном очень даже ничего! Формат MS3D поддерживает анимацию?


Вложения:
dwarf1.PNG
dwarf1.PNG [ 78.13 КБ | Просмотров: 4778 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Суббота, 10 Январь, 2015 15:00 

Зарегистрирован: Суббота, 02 Август, 2008 23:01
Сообщения: 43
Угум, там скелетная анимация. Думал тогда ещё с ней повозиться, но руки так и не дошли. Вообще, наверное, конвертер можно для любого формата модели написать. Меня в своё время по части ОГЛ другое озадачило: как использовать расширения, чтобы был доступен функционал вплоть до последних версий. Например, чтобы были доступны шейдеры.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Воскресенье, 01 Март, 2015 14:16 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
Добавил загрузчик моделей к новому ББ


Вложения:
bblogo.PNG
bblogo.PNG [ 26.16 КБ | Просмотров: 4677 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Воскресенье, 01 Март, 2015 19:57 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2524
Откуда: Россия, Ярославль
Это какой-то особый фрейм будет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Воскресенье, 01 Март, 2015 21:07 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
Нет, рисовать OpenGL можно прямо в Restore.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 08:52 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2190
Откуда: Красноярск
Инструкция по сборке среды тут: http://redmine.molpit.com/projects/blackbox-sdl/wiki

У меня собралась сборка, но вот в Wine раньше она лучше работала. Теперь она мигает непрерывно :(

А так впечатляет, конечно!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 09:24 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
Иван Денисов писал(а):
Инструкция по сборке среды тут: http://redmine.molpit.com/projects/blackbox-sdl/wiki
Что-то у меня проблемы с доступом к этой странице. Уже несколько дней не могу зайти на редмайн.

Иван Денисов писал(а):
У меня собралась сборка, но вот в Wine раньше она лучше работала. Теперь она мигает непрерывно :(
В главном окне слева внизу есть три параметра сцены: счётчик кадров в секунду / время рендера одного кадра / количество пропущенных кадров. Какие их значения в вайне?

Ещё может быть виноват режим однобуферного рендера. Пока что он единственно возможный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 09:28 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2190
Откуда: Красноярск
Иван Кузьмицкий писал(а):
Иван Денисов писал(а):
Инструкция по сборке среды тут: http://redmine.molpit.com/projects/blackbox-sdl/wiki
Что-то у меня проблемы с доступом к этой странице. Уже несколько дней не могу зайти на редмайн.

Я его только-что поднял. Как только ты такое замечаешь, то сразу мне пиши. Я пока не могу установить закономерность почему он падает. Подозреваю, что из-за памяти, но статистики пока мало.

Иван Кузьмицкий писал(а):
В главном окне слева внизу есть три параметра сцены: счётчик кадров в секунду / время рендера одного кадра / количество пропущенных кадров. Какие их значения в вайне?

30/0.0287/46

Иван Кузьмицкий писал(а):
Ещё может быть виноват режим однобуферного рендера. Пока что он единственно возможный.

А почему невозможно? Ведь у тебя есть Sdl2Video.GL_SwapWindow(w) это разве не оно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 09:57 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
Иван Денисов писал(а):
Иван Кузьмицкий писал(а):
Ещё может быть виноват режим однобуферного рендера. Пока что он единственно возможный.

А почему невозможно? Ведь у тебя есть Sdl2Video.GL_SwapWindow(w) это разве не оно?
Потому что БлэкБокс перерисовывает только часть окна. Например, при вводе текста обновляется только прямоугольник, содержащий набираемую строчку. Поэтому двойная буферизация с полной очисткой буфера тут не подходит, ведь надо сохранять то, что нарисовано на предыдущем кадре. Тут возникает два варианта. Либо рисовать в двухбуферном режиме, причём сразу в два буфера - в передний и задний (OpenGL такое умеет); либо в однобуферном, полностью имитируя поведение эталона. Я пробовал оба, пока что выбрал второй вариант, как самый простой.

P.S. Зашёл на редмайн нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 10:02 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2190
Откуда: Красноярск
Еще вчера открыл для себя такую штуку как "Display lists". Это очень хорошая вещь! Пока вижу, что ты их не особо используешь, а видимо надо. Чтобы при перерисовке неизменных объектов не гонять информацию между графической картой и процессором.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 10:28 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
Дисплейные списки уже устарели, начиная с OpenGL 3.1. Вместо них лучше использовать Vertex Buffer Objects (VBO) и Vertex Array Objects (VAO).

Но у нас для отрисовки ББ сцена копеечная, там почти ничего нет, можно сказать (логотип ББ не в счёт, это отдельная сцена, такие сцены можно и нужно оптимизировать списками или VBO). Тормоза из-за медленной генерации надписей - чудовищное время отнимается, во-первых, самим SDL_TTF, а во-вторых, преобразованием сгенерированного растра в текстуру OpenGL "на лету". Я планирую сначала разобраться со второй частью. К SDL_TTF надо подходить серьёзно (я думаю, как бы не пришлось бы вообще от него избавиться, перейдя на прямую привязку к freetype).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 13:19 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2190
Откуда: Красноярск
Спасибо, Иван, многое стало понятнее. Тогда рисовать на заднем плане крутящуюся сцену, возможно, не лучшая идея... Ведь тогда все окна и меню перерисовываться должны, откуда и возникает мелькание. Было бы удобно предусмотреть рисование OpenGL сцены в одном из окон ББ.


Последний раз редактировалось Иван Денисов Понедельник, 02 Март, 2015 13:36, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 13:32 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2930
Откуда: г. Ярославль
Мелькание заборем специальным набегом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 15:43 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9011
Откуда: Россия, Орёл
Иван Денисов писал(а):
Я его только-что поднял. Как только ты такое замечаешь, то сразу мне пиши. Я пока не могу установить закономерность почему он падает. Подозреваю, что из-за памяти, но статистики пока мало.


А он на VDS поставлен?
Есть у Редмайна такая проблема, если несколько пользователей начинают работать - может памяти не хватать, падает,
приходится перезапускать "Рельсы".
Увеличение памяти помогало.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: 3D-модель с текстурой (SDL+OpenGL)
СообщениеДобавлено: Понедельник, 02 Март, 2015 16:03 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2190
Откуда: Красноярск
Илья Ермаков писал(а):
А он на VDS поставлен?
Есть у Редмайна такая проблема, если несколько пользователей начинают работать - может памяти не хватать, падает,
приходится перезапускать "Рельсы". Увеличение памяти помогало.

Все оказалось проще :) выяснил причину. 26.02.2015 в 17:03:48 хостер перезагружал сервер, а запуск Redmine у меня в автозагрузку не добавлен.
Проблемы с памятью таки победил ранее.

Rafi, извините за оффтоп, надо куда-то эти сообщения перенести...


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

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


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

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


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

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