Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / C++ Взаимодействие интерфейсов на уровне реализаций. (2 стр)

C++ Взаимодействие интерфейсов на уровне реализаций. (2 стр)

Поделиться

Страницы: 1 2 3 4 5 6 Следующая

loysoПостоялецwww10 ноя. 20175:38#15
Suslik
А. Ну и тут надо широко смотреть на runtime/compile-time parametric полиморфизм. И на объекты (ООП)

Правка: 10 ноя. 2017 6:17

loysoПостоялецwww10 ноя. 20175:50#16
skalogryz
> а не слишком ли высокий уровень этой самой абстракции получится?
Конечно оно работает только у Грэди Буча в книжке и не работает в реальном мире (поэтому я упомянул Идеальный).
SuslikМодераторwww10 ноя. 20175:53#17
loyso
> downcast ты имел ввиду видимо (см boost::polymorphic_downcast к примеру)
исправил, имел в виду downcast

loyso
> Оно же тупое как дрова - отдельно данные объектов, обьединенные связями.
к сожалению, в реальности всё далеко не так тривиально. например, текстуры хранятся в памяти видюхи, а в RAM их может вообще не быть. поэтому как таковых сырых "данных" для текстур вообще нигде в оперативе нет. без ограничения общности можно полагать, что мы оперируем с сущностями исключительно их GAPI-хендлами, данных у нас нет.

loysoПостоялецwww10 ноя. 20176:03#18
Suslik
> к сожалению, в реальности всё далеко не так тривиально
В chromium постоянно обсуждают и меняют язык command buffer.
И там реально ад и израиль: https://groups.google.com/a/chromium.org/forum/#!msg/graphics-dev/jQ-Q1qrUOlo/TW1MpFcgCAAJ

У command buffer есть сложное понятие resources и т.д. И там есть типы ресурсов.

Этот тред про физику и полиморфизм :) и можно смотреть на корневые идеи шире.
Спецификации http://www.gamedev.ru/code/articles/?id=4234 как раз и возникают в виде общей идеи для всего,
если слишком много про command buffer с resources думать. :)

Правка: 10 ноя. 2017 6:11

skalogryzПостоялецwww10 ноя. 20176:13#19
Suslik
> имел в виду downcast
теперь понятно, нужно учитывать контекст крестов. вопрос снят.
SuslikМодераторwww10 ноя. 20176:19#20
loyso
> http://www.gamedev.ru/code/articles/?id=4234
в этой статье я вижу смесь очевидных(пусть и правильных) обрывочных идей, творческих скитаний автора и кода с транслитом. многие из соображений, которые на 2003 год были для автора откровениями, сегодня уже давным-давно стали стандартом.

но всё это вместе никак не решает проблему взаимодействия полиморфных объектов.

Правка: 10 ноя. 2017 6:20

loysoПостоялецwww10 ноя. 20176:21#21
Suslik
Люди видят только то, что у них в голове уже есть или начало зарождаться.
Разница общности опыта, да.
SuslikМодераторwww10 ноя. 20176:24#22
loyso
> Люди видят только то, что у них в голове уже есть или начало зарождаться.
это неверно. не знаю, откуда ты это вообще придумал. и уж прошу прощения, что не замираю в трепете перед былыми аксакалами вроде aruslan'а. я тоже не первый день живу и могу судить по сути высказываний, а не по авторитету их автора.
loysoПостоялецwww10 ноя. 20176:25#23
Suslik
> автора откровениями, сегодня уже давным-давно стали стандартом.
о! а где можно эти стандарты посмотреть?
loysoПостоялецwww10 ноя. 20176:26#24
Suslik
> и уж прошу прощения, что не замираю в трепете перед былыми аксакалами вроде
> aruslan
omg. при чем тут аруслан? ты пример просил про switch/case и "внешний parametric полиморфизм"
SuslikМодераторwww10 ноя. 20176:28#25
loyso
> о! а где можно эти стандарты посмотреть?
ну так любой современный игровой двиг вроде unity/ue4 работает по той самой компонетной системе с той самой иерархией compile-time/bundle-time/run-time проверок, о которой автор писал в статье.

Правка: 10 ноя. 2017 6:29

loysoПостоялецwww10 ноя. 20176:30#26
Suslik
> по той самой компонетной системе
Нет ничего общего. Unity/ue4 - это как раз те самые "runtime динамизирующие техники"
SuslikМодераторwww10 ноя. 20176:38#27
loyso
> Нет ничего общего. Unity/ue4 - это как раз те самые "runtime динамизирующие техники"
и они всегда поддерживают кэширование связей между ресурсами если не этапе бандлинга(сборки ресурсов), то на этапе их загрузки. никто в своём уме не будет итерироваться через все подобъекты каждый кадр, чтобы искать левый закрылок, это произойдёт либо на этапе bundling'а, либо на этапе загрузки прототипа объекта "самолёт". а о том, как это делать конкретно — это уже вопрос десятый. ещё я вовсе не разделяю энтузиазма автора относительно кодогенерации для всего подряд, так как считаю, что есть решения лучше.

Правка: 10 ноя. 2017 6:50

loysoПостоялецwww10 ноя. 20176:43#28
Suslik
Оно все не про то, что ты написал. Забей :)
SuslikМодераторwww10 ноя. 20176:46#29
loyso
а, понял, то есть оно про какой-то сакральный смысл, недоступный тем, у кого в 2003 ещё лысины не было? знаем, проходили. забил.

Страницы: 1 2 3 4 5 6 Следующая

/ Форум / Программирование игр / Общее

2001—2017 © GameDev.ru — Разработка игр