Создайте свой анимированный вид как обычно. Визуализируйте это к цели визуализации. Что это значит? Ну, обычно, когда вы «рисуете» многоугольники на экране, вы фактически делаете это на нормальной поверхности (первичной поверхности), которая в итоге оказывается той, которая в конечном итоге попадает на экран. Вместо рендеринга на поверхность экрана вы можете рендерить на любую старую поверхность.
Теперь ваш HUD. Будет ли это все время оставаться одним и тем же или изменится? Изменится только часть этого?
Если все это изменится, вам нужно будет сохранить всю геометрию и текстуры HUD в памяти, и вы должны будете визуализировать их на вашей «прокручиваемой» поверхности как обычно. Вы можете применить этот финальный композитный рендер к экрану. Я бы не стал сильно беспокоиться о проблемах и производительности - HUD вряд ли может быть таким же сложным, как фон. У вас будет максимум четыре квадрата текстур?
Если весь экран статичен, то при запуске приложения вы можете отобразить его на отдельной поверхности, тогда каждый кадр рендерится с этой поверхности на анимированную поверхность, которую вы рисуете каждый кадр. Таким образом, вы можете выгрузить всю геометрию и текстуры HUD в самом начале. Конечно, это может быть случай, когда поверхность занимает больше памяти - это зависит от того, какие ресурсы больше всего нужны вашему приложению.
Если у вас была половина изменений, а половина нет, то технически вы можете предварительно визуализировать статические части, а затем визуализировать другие части по мере продвижения, но это более хлопотно, чем два других варианта.
Ваши два основных варианта зависят от динамичности HUD. Если он движется, вам нужно будет перерисовывать его на вашей сцене каждый кадр. Это отстой, но я с трудом могу представить, что геометрия сложна по сравнению с остальной частью. Если он статичен, вы можете сделать предварительный рендеринг и просто смешать одну поверхность с другой перед отправкой на экран.
Как я уже сказал, все зависит от того, какие ресурсы будет у вашего приложения.