0 голосов 712 просмотров 8.05.2020 / 15:43
DominaN
Целесообразность использования промежуточных классов, дублирущих поля экземпляра по внутренней ссылкеОткрыть спойлер Закрыть спойлер
Он используется движком для предварительной загрузки и кэширования изображений вне OpenGL контекста. И есть класс Texture: Открыть спойлер Закрыть спойлер
который используется непосредственно для передачи текстур в контекст OpenGL и дальнейшей их отрисовки. Как мы видим, многие поля дублируются, и при создании текстуры заполняются данными из AWTImage в TextureManager: Открыть спойлер Закрыть спойлер
Собственно, сделано это для того, чтобы в коде рендера можно было напрямую получать свойства текстуры вида someTexture.width, someTexture.height, someTexture.raw и т.д. вместо someTexture.image.width, someTexture.imageHeight, someTexture.image.raw - суть ясна. Вопрос в том, есть ли какой-нибудь изящный способ обойтись без дубляжа членов класса, кроме как обернуть их в метод вида getWidth() { return image.width}? Ответы
1 голос
8.05.2020 / 19:09
DominaN
Обсуждали уже с Витей в телеге, нет никакого смысла наследовать и тянуть в Texture все автшное дерьмо типа Graphics2D и т.д. Текстура в первую очередь это легковесный класс для взаимодействия напрямую с OpenGL, в то время как AWTImage - тяжелый класс для загрузки и кэширования изображений непосредственно с диска.
0 голосов
14.05.2020 / 19:22
DominaN
Я вообще избавился от связи Texture и AWTImage, оставил только создание в TextureManager. Просто AWTImage используется и вне контекста рендеринга
-2 голоса
10.05.2020 / 13:45
DominaN
Та я вообще уже от ссылки на AWTImage избавился
Всего: 3
|
Реклама |