Dyikot
@Dyikot

Куда поместить рендер? Где он обычно расположен?

Пишу на C++ и использую SDL2 и тут есть SDL_Render который привязан к каждому окну. Раньше у меня было приложение с одним окном и как-то не думал об этом. У меня был общий для всех рисуемых объектов класс Object в которым и был указатель на SDL_Render. И я просто передавал при создании объекта SDL_Render текущего окна да и все.
Но вот решил сделать возможность создания нескольких окон.
Я вижу 2 решений данной ситуации:
1) Принимать рендер в конструкторе.
Только одна проблема надо для каждого объекта передавать этот рендер. Что не хочется и выглядит как то не очень.
2) Передавать рендер при вызове метода OnRender.
Тут только одна проблема: при создании текстур требуется рендер, а они создаются вне метода OnRender.

Может есть еще варианты решения? Как рендер реализован например в игровых движках или системах типа WPF. Просто уже ранее использовал WPF и не видел там никаких рендеров.
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
GavriKos
@GavriKos Куратор тега Разработка игр
Как рендер реализован например в игровых движках

Используется одно окно, которое сразу фуллскрин.
Ни разу не видел игр с несколькими окнами.

1) Принимать рендер в конструкторе.
Только одна проблема надо для каждого объекта передавать этот рендер. Что не хочется и выглядит как то не очень.

Нормально выглядит. DI через конструктор.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы