Это немного расплывчатый вопрос, но терпите меня. Я нахожусь в процессе написания игры с использованием Python / Pyglet и openGL. В настоящее время я структурирован так, что существует объект под названием «мир», в котором находятся другие объекты с другими объектами внутри и т. Д. Я сделал это так, потому что, например, одна часть игры представляет собой платформу с другими объектами на ней, и когда я наклоняю платформу, я хочу, чтобы объекты на ней наклонялись вместе с ней. Поэтому я выполняю platform.draw (), которая вызывает glRotate, glTranslate, затем рисую каждый из объектов, сохраняя промежуточную матрицу представления модели, таким образом, все объекты на платформе перемещаются вместе.
Первый вопрос: это разумный способ организовать вещи или я должен использовать какой-то другой метод?
У меня нет класса камеры, в настоящее время я просто перевожу весь мир или его части, чтобы создать иллюзию движения. Однако в будущем я хочу иметь возможность переключать точки обзора между объектами, например, переключаться с взгляда сверху на мир сверху на вид от первого лица с одного из объектов в мире. Итак, второй вопрос: каков наилучший способ структурировать мою программу так, чтобы это было достижимо в будущем?