Как стать автором
Обновить
15
0.2
Денис @Ravager

Пользователь

Отправить сообщение
судя по тому как он себя повел, при просьбе показать свой код, он либо полный неадекват либо код у него убогий. Если код хороший то ИМХО им похвалиться можно, показав его другим
да ладно? во всех исходниках в том числе DirectX сэмплах перерисовка происходила постоянно в отсутствие сообщений к оконной системе.
Я использую Qt в своем движке и при этом не запускаю Qtшный exec() a вызываю processEvents() перед отрисовкой, такой подход сильно упрощает flow игры.

Почти то же самое, или я ошибаюсь?
ИМХО я не силен в ГЛ, а как там? glDrawElements, glDrawElements?
Да — там вы просто говорите ЧТО вы будете хранить в буфере. А где будет находиться буффер и КАК — вообще это дело драйвера.

Вот именно, что в некоторых случаях лучше самому управлять ресурсами, если знаешь что делать.

DX предоставляет унифицированный интерфейс высокоуровневых абстракций над реальными объектами и методы работы с ними.

Ну не настолько уж прямо высокоуровневых. Просто функции по отрисовке и прочему сгруппированы по интерфейсам и вместо glBegin ты вызываешь device->beginScene. или вместо биндинга текстур ты используешь класс IDirect3DTexture9.

Насчет видео — PBO, то есть прямой стриминг в видеопамять.

Ок, возможно я не до конца использовал возможности OGL, но по сути PBO это тот же Offscreen Plain Surface с D3DPOOL_DEFAUL + StretchRect для копирования в текстуру через GPU
я вспомнил кстати проблемы, с которыми я столкнулся при реализации двух слоев: там проблема со шрифтом. Когда я отрисовывал текст через ID3DXFont на альфа текстуру a8r8g8b8, то на граничных пикселях текста альфа значения имели некоторое промежуточное значение между 0 и 255, а потом при отрисовке с включенным блендингом к этим пограничным пикселям повторно применялось смешивание — в результате текст выглядел убого а регулировать параметры смешивания при отрисовке id3dxfont::drawtext не представляется возможным
Да, ты прав. Блендить надо постоянно — при анимации контролов или при смене видео кадра.
изначально была идея сделать два слоя — один под видео, другой под элементы. И смешивать. Меня смутила мысль, что будет высокий pixel cost для полноэкранного режима. Каюсь, что не хватило времени на полноценное тестирование какой метод будет лучше, но думаю в будущем я займусь этим — впринципе сама отрисовка работает, и переделать придется не очень много.
сильнее low-level чем directX? я конечно могу ошибаться но как раз таки directx более низкоуровневый, и поэтому для начинающих рекомендуют использовать OGL(в нем таких заморочек как местоположение ресурса в памяти, потеря ресурсов). А насчет скорости, мы просто написали тестовый пример с HDTV потоком, и визуально приложение работало медленнее чем на DirectX, хотя там было только отображение видео потока без наложения контролов. Шейдеры в отрисовке не использовал, хотя в будущем возможно их задействую
Спасибо! Ну если что — Вы знаете как меня найти!
да изначально так и планировалось, но оценив скорость работы OGL под windows мы решили все-таки заюзать DirectX. Изначально плеер был предназначен под Windows. А насчет кроссплатформенности — вполне себе реализуемо.
мой коллега по работе уже начал делать что-то подобное… разрабатывает систему GUI с возможность рендера на Qt, DirectX и прочим. Данные о контролах выносятся в скриптовый файл(синтаксис наподобие JSON + его собственные навороты). Уже создали репозиторий на google code. Может объединимся?
дизайн разрабатывал Wonder
на нашем сервере хранится плейлист, который загружается, парсится и сохраняется в локальную БД — SQLite и из него все черпается. Также и с программой передач
для всех: «СС» — аббревиатура от названия компании «Сибирские сети» — провайдер в Новосибирске.
это прикол :) компания называется «Сибирские сети»
Сперва тестировали с помощью обычных модульных тестов. Теперь необходимо протестировать, как приложение будет работать на разных системах с различной конфигурацией. Тестированием занимается группа людей(у которых есть доступ к multicast видео-потоку)
приложение работает только для абонентов «СС» и пока что находится на стадии тестирования. Как только оно пройдет тестирование, я могу дать ссылку, но видео показываться все равно не будет, если ты не абонент компании…
в С++ результат будет 1
ок, я уже написал, что можно было и без eventFilter обойтись. Ну а кроме этого выкрутасов нет?!
на самом деле можно было обойтись и без eventFilter, через перегрузку closeEvent у виджета к примеру. Но только я не понимаю чем перегрузка QApplication лучше, все равно ведь придется перегружать event()? Ну а про оверхед ничего не могу сказать, по идее просто перед передачей событий в дерево объектов вызывается eventFilter для моего qapplication, а в коде eventFilter всего одна проверка.

Информация

В рейтинге
2 208-й
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Web Developer
Lead