Как разработать приложение GTK с Vulkan для Linux?

Я хотел бы разработать приложение для современных популярных дистрибутивов Linux, которое использует GTK для своего пользовательского интерфейса, а также Vulkan API для визуализации 3D-модели. В идеале я хотел бы использовать оболочку gtkmm C++ для GTK и API Vulkan C++.

Какие способы у меня есть в настоящее время для этого?

Я знаю, что могу получить контекст Vulkan, используя SDL2 и другие подобные низкоуровневые библиотеки, и я могу получить контекст OpenGL, используя GTK. Но я не нашел ресурсов для объединения этих двух подходов.

Начнем с того, что я не ограничиваюсь разработкой или ориентацией на какой-либо конкретный дистрибутив Linux. Хотя любое понимание того, почему конкретная среда делает это проще или сложнее, приветствуется.

Редактировать:

Мне известен этот вопрос: Что такое Vulkan эквивалент виджета GtkGLArea (GTK+)?

Однако с момента его последнего обновления прошло много месяцев. Мой поиск в Google не указывает на то, что положение дел изменилось, но я хотел бы оказаться неправым. Кроме того, я намеренно сформулировал свой вопрос более широко. Мне не обязательно нужен только виджет GtkVulkanArea. Я хочу знать о любом допустимом способе объединить Gtk и Vulkan. Например, можно ли встроить цикл обработки событий Gtk и виджеты в окно SDL2? А как насчет наоборот? Опять же, мой поиск в Google не очень помог, и я надеюсь, что кто-то знающий по этой теме ответит.


person Filipp    schedule 12.03.2018    source источник
comment
Возможный дубликат Что такое Vulkan эквивалент виджета GtkGLArea (ГТК+)?   -  person krOoze    schedule 13.03.2018
comment
Это не дубликат. Я знаю об этом вопросе и явно задаю его на случай, если с тех пор были обновления, такие как разработка на GTK4.   -  person Filipp    schedule 13.03.2018
comment
явно переспрашивая - я не уверен, где вы взяли такую ​​острую бритву, чтобы разделить эти волосы, но ладно.   -  person krOoze    schedule 13.03.2018
comment
Вместо этого я должен сказать, что знал об этом вопросе, был недоволен отсутствием обновлений в последующие месяцы и решил задать его повторно. Мне не нравится слово «дубликат», потому что оно предполагает ленивый вопрос, на который обычно отвечают, без исследования, чего здесь нет.   -  person Filipp    schedule 14.03.2018
comment
I don't like the word duplicate because it suggests lazily asking a commonly answered question without research, which is not the case here. – Вы неправильно понимаете повторяющееся слово, загляните в справочный центр.   -  person Tsyvarev    schedule 14.03.2018
comment
@Tsyvarev Ваша ссылка не определяет дубликат. В нем даже говорится: есть много способов задать один и тот же вопрос, и пользователь может не найти ответ, если задаст его по-другому, что в основном и говорит OP. Я бы подумал, однако, что если OP не удовлетворен ответом из похожий вопрос, он должен отредактировать свой вопрос, добавить ссылку и объяснить, почему это не решает его проблему, чтобы помочь потенциальным пользователям, которые могут захотеть ответить.   -  person BobMorane    schedule 02.04.2018
comment
@BobMorane: То, что вы цитируете из справочного центра, по-прежнему является дубликатом. Но при переполнении стека дублирование не обязательно плохо (из здесь). Это то, что спрашивающий пропускает. Я согласен с вами в том, что ссылка на аналогичный вопрос в данном вопросе и объяснение, почему это не помогает, улучшит данный вопрос.   -  person Tsyvarev    schedule 03.04.2018
comment
Хотя ответ на этот вопрос уже был там. Я бы использовал Qt, потому что у него есть QVulkanWindow.   -  person Michal Štein    schedule 24.05.2019
comment
@MichalŠtein Использование Qt не является ответом на вопрос Как использовать Vulkan и GTK вместе?   -  person Ethan Reesor    schedule 06.06.2021