При проектировании игровой архитектуры окно является «высоким» или «низким» уровнем? - PullRequest
0 голосов
/ 07 июля 2019

Я пытаюсь написать игру на Vulkan и использую систему управления окнами glfw. То, как я структурировал свой код, является иерархическим со всем вулканом / графикой на самом низком уровне и абстрагированным. На моем высшем уровне у меня есть игровой логический код.

Проблема у меня в том, на каком «уровне» поставить окно. Поскольку окно glfw так тесно взаимодействует с vulkan, я хочу сохранить его на низком уровне, но проблема в том, что мне нужно, чтобы окно также было доступно на более высоком уровне, чтобы я мог использовать его в своем игровом цикле. Если я сделаю окно доступным на более высоком уровне, тогда я в основном включаю код на вулканском языке на высоком уровне, где я не хочу, чтобы это было (даже с оберткой вокруг glfwwindow, у меня все еще будет класс, который напрямую использует низкоуровневую графику API на высоком уровне, который я не хочу).

Так что же лучше всего делать с окнами при проектировании игрового движка?

...