У меня есть класс с именем DynamicTexture
, который принимает width
и height
текстуры в качестве параметров шаблона. Параметры используются для создания таблицы фиксированного размера (которая также является классом шаблона).
В моем случае я создаю экземпляр DynamicTexture
для различных степеней ширины / высоты (2x2, 4x4, 8x8, 16x16, 32x32 и т. Д. Вплоть до 4096x4096). Это значит, что у меня много таких объявлений:
DynamicTexture<2, 2> dTexture2;
DynamicTexture<4, 4> dTexture4;
...
DynamicTexture<4096, 4096> dTexture4096;
Теперь вопрос в том, можно ли как-нибудь автоматизировать этот процесс? Кроме того, я выбираю приблизительную dTexture, запрашивая переменную типа unsigned int
(которая показывает текущий размер, выбранный пользователем) и затем отображая текстуру:
if (currTexSize == 2) dTexture2->show();
else if (currTexSize == 4) dTexture4->show();
...
else { dTexture4096->show(); }
Опять же, есть ли способ избежать длинного списка операторов if?
ПРИМЕЧАНИЕ: Я не уверен, как сформулировать заголовок для этого конкретного вопроса. Не стесняйтесь перефразировать это.