Size: a a a

pro.graphon (and gamedev)

2020 June 21

S

Stas in pro.graphon (and gamedev)
Добрый день. Может кто кинуть ссылку на реализацию UI?
А то посмотрел и мой вышел корявый. Он собирал в зависимости от состояния текущие кнопки и рисовал их. При нажатии генерировалось событие и отправлялось куда-то, что уже реагировало.
источник

TG

Timur Gagiev in pro.graphon (and gamedev)
Stas
Добрый день. Может кто кинуть ссылку на реализацию UI?
А то посмотрел и мой вышел корявый. Он собирал в зависимости от состояния текущие кнопки и рисовал их. При нажатии генерировалось событие и отправлялось куда-то, что уже реагировало.
источник

S

Stas in pro.graphon (and gamedev)
Оно, спасибо!
источник

I

Ioann_V in pro.graphon (and gamedev)
Это можно и самому было найти, как и 100500 других библиотек, типа imgui e. t. c
источник

S

Stas in pro.graphon (and gamedev)
Ioann_V
Это можно и самому было найти, как и 100500 других библиотек, типа imgui e. t. c
Немного не то в imgui. Мне нужен был непосредственно пример как сам UI на уровне продукта. А в nanogui пример буквально на readme висит. То есть как понял, моя система похожая на ту, что используют, но слегка корявая. То есть найти либу для UI - это немного не тот вопрос , что задавал.
источник

S

Stas in pro.graphon (and gamedev)
(хотя полагаю вопрос кривовато задал, есть такое, да)
источник

РК

Роман Катунцев... in pro.graphon (and gamedev)
Товарищи, помогите. Изучаю вулкан, не доходит, как в реальном приложении предполаагается использовать систему коммандбуферов. То есть, вот есть буферы по одному на фреймбуфер в свапчейне. Но нет же смысла записывать сцену по два-три раза в них. Я предполагаю, что для таких целей нужен вторичный коммандбуфер, который при изменении содержания фрейма будет заменяться новым, и этот вторичный буфер будет вызываться всеми первичными, а синхронизация подмены делается через fence. Или там предполагается какая-то другая политика?
источник

АК

Антон Ковалев... in pro.graphon (and gamedev)
Stas
Немного не то в imgui. Мне нужен был непосредственно пример как сам UI на уровне продукта. А в nanogui пример буквально на readme висит. То есть как понял, моя система похожая на ту, что используют, но слегка корявая. То есть найти либу для UI - это немного не тот вопрос , что задавал.
Если ты хочешь полноценный GUI для корпоративных решений, то тут только Qt
источник

S

Stas in pro.graphon (and gamedev)
Антон Ковалев
Если ты хочешь полноценный GUI для корпоративных решений, то тут только Qt
Немного не по вопросу моему вопрос если что.
А если по твоему - ImGui кажется легче, потому что больше чем он даёт - не нужен. (пользуюсь для настроек графики)
источник

S

Stas in pro.graphon (and gamedev)
Возможно qt overkill будет, но не знаю. Посмотрю.
источник

BB

Bohdan Bessonov in pro.graphon (and gamedev)
Stas
Немного не то в imgui. Мне нужен был непосредственно пример как сам UI на уровне продукта. А в nanogui пример буквально на readme висит. То есть как понял, моя система похожая на ту, что используют, но слегка корявая. То есть найти либу для UI - это немного не тот вопрос , что задавал.
любой Html5 рендер берешь и у тебя есть продакшнн кволити гуи
источник

BB

Bohdan Bessonov in pro.graphon (and gamedev)
Роман Катунцев
Товарищи, помогите. Изучаю вулкан, не доходит, как в реальном приложении предполаагается использовать систему коммандбуферов. То есть, вот есть буферы по одному на фреймбуфер в свапчейне. Но нет же смысла записывать сцену по два-три раза в них. Я предполагаю, что для таких целей нужен вторичный коммандбуфер, который при изменении содержания фрейма будет заменяться новым, и этот вторичный буфер будет вызываться всеми первичными, а синхронизация подмены делается через fence. Или там предполагается какая-то другая политика?
Если я правильно понимаю, коммандбуфер аналог коммандлиста в дх12
Предполагается не один, на фрейм, а один на каждую задачу
Образно один буфер на рендер моделек, один буфер на расчет света, один буфер на тени и т д

Профит в том, что записывать команды в эти буферы можно асинхронно
источник

РК

Роман Катунцев... in pro.graphon (and gamedev)
Bohdan Bessonov
Если я правильно понимаю, коммандбуфер аналог коммандлиста в дх12
Предполагается не один, на фрейм, а один на каждую задачу
Образно один буфер на рендер моделек, один буфер на расчет света, один буфер на тени и т д

Профит в том, что записывать команды в эти буферы можно асинхронно
То есть, схема примерно такая, на каждый фрейм первичный коммандбуфер для текущего фреймбуфера перезаписывается новым сетом вторичных буферов, а вот вторичные могут быть как новыми, так и теми же самыми, если их сущность на сцене не изменилась, и вторичные буферы можно писать с разных потоков
источник

BB

Bohdan Bessonov in pro.graphon (and gamedev)
Роман Катунцев
То есть, схема примерно такая, на каждый фрейм первичный коммандбуфер для текущего фреймбуфера перезаписывается новым сетом вторичных буферов, а вот вторичные могут быть как новыми, так и теми же самыми, если их сущность на сцене не изменилась, и вторичные буферы можно писать с разных потоков
Не знаю что там в вулкане, возможно ответят лучше
В дх12 и дх11 (через обертку) делаем так:
Каждый кадр создаем 10 буферов
В каждый буфер записываем то что нам надо: в нулевой тени, в первый модели, в третий постпроцесс
Отправляем на отрисовку все десять буферов в нужном порядке
источник

BB

Bohdan Bessonov in pro.graphon (and gamedev)
Каждый кадр чистые буферы и каждый кадр наполняем командами
источник

РК

Роман Катунцев... in pro.graphon (and gamedev)
Вот меня на деле смущает как раз то, что такой режим работы в вулкане опционален, в вулкане можно делать одноразовые буферы, а можно не делать
источник

BB

Bohdan Bessonov in pro.graphon (and gamedev)
Я так понимаю что многоразовый буффер пригодится только если ничего не поменялось от фрейма к фрейму
источник

РК

Роман Катунцев... in pro.graphon (and gamedev)
Ну да, например в такой можно запихнуть гуй
источник

РК

Роман Катунцев... in pro.graphon (and gamedev)
В общем нашёл вот, может кому пригодится https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/
источник
2020 June 22

TG

Timur Gagiev in pro.graphon (and gamedev)
источник