Size: a a a

pro.graphon (and gamedev)

2021 April 02

U

UsernameAK in pro.graphon (and gamedev)
вот у меня и вопрос - в этом нет ничего плохого?)
источник

И

Игорь in pro.graphon (and gamedev)
Работал на движке где все было в PImpl'e и никто не жаловался
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
У меня на самом деле ещё хуже, там рендер штуки тупо как поля запихнуты. И даже так особой проблемы не вижу, главное чтобы логика их обновления не дублировалась
источник

U

UsernameAK in pro.graphon (and gamedev)
Игорь
Работал на движке где все было в PImpl'e и никто не жаловался
так вот как это называется, ёбаный в рот!
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Alexander Potapov
Можно просто рядышком хранить поле типа RenderImpl
Можно придумать более сложную штуку, где действительно у рендера своя система ресурсов, а то что вне может отдавать ему команды по типу добавь (ресурс, id), удали по id, отрисуй рендж
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Но это имеет смысл если с рендером нужно взаимодействовать как-то нестандартно. К примеру команды приходят по сети
источник

U

UsernameAK in pro.graphon (and gamedev)
Alexander Potapov
Но это имеет смысл если с рендером нужно взаимодействовать как-то нестандартно. К примеру команды приходят по сети
облачный гейминг выходит на новый уровень ниже
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Это даже хуже. В облачном просто user input и итоговый рендер на выход
источник

U

UsernameAK in pro.graphon (and gamedev)
я же и говорю, на новый уровень ниже)
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
А через это к примеру можно remote debug сделать какого нибудь удаленного убер рендер движка на суперкомпе)
источник

U

UsernameAK in pro.graphon (and gamedev)
убер рендер движок на суперкомпе - это такое завуалированное название рилтайм рейтрейсинга с 1024 семплами? :D
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
яб кончил
источник

ED

Elias Daler in pro.graphon (and gamedev)
http://robertseacord.com/wp/2021/03/20/defer-mechanism-or-c-the-movie/
В C думают "defer" добавить. Вот это будет круто, если войдёт в стандарт, и если он выйдет не через 50 лет 😅
источник

IA

Ilia Abernikhin in pro.graphon (and gamedev)
Elias Daler
Я о практике вставлять дефайны в шейдер из кода программы, а не в коде шейдера
(т.е. добавлять строчки "#define X " в код шейдера перед компиляцией)
Выглядит как какой-то хак
Сталкивался с таким хаком, но больше в контексте ветвлений шейдеры с большим количетвом ветвлений показывают очевидно плохой перформанс, а если скормить нужную инфу препроцесору и заменить динамические ветвления, ветвлениями препроцесора то можно нехило поднять перф, но тут уж кому как и для каких задач
источник

U

UsernameAK in pro.graphon (and gamedev)
Elias Daler
Он просто хитро реюзает код шейдеров вставляя define'ы из кода в строчку перед компиляцией шейдера.
Это кажется немного жестью, но мб кто-то в реальности так делает? Интересно
> но мб кто-то в реальности так делает
промотай чуть ниже!
источник

U

UsernameAK in pro.graphon (and gamedev)
я так делаю.
источник

ED

Elias Daler in pro.graphon (and gamedev)
Понятно. Ну, тогда жаль, что нет механизма лучше, чтобы это делать.
А то немного напоминает генераторы кода для Go, в котором нет generics 🌚👍
источник

U

UsernameAK in pro.graphon (and gamedev)
кстати в случае с webgl надо вообще втыкать свой препроцессор
источник

U

UsernameAK in pro.graphon (and gamedev)
потому что там препроцессор работает крайне через жопу
источник

YS

Yaroslav Savin in pro.graphon (and gamedev)
UsernameAK
я так делаю.
А дефайны в рантайме подсовываешь?
источник