А можно с помощью етого SDK написать рендер для МАК-са, в котором можно было бы отлаживать свой графический движок? В МАК-се ведь есть вся сцена. Можно написать свой движок в DLL которую присоединить к плагину, а потом, после отладки, в своей игре.
Возник затык. Решил переделать логику плагина. Ранее я просто хреначил EnumTree и внутри калбэка получал указатель на материал нода.
Сегодня я хочу не обходить все ноды через калбэк, а получаю GetRootNode (вроде так именуюется). Но это все не о моей загвоздке :)
Вобщем теперь я сперва хочу получать список всех материалов используемых в сцене. Вот так
MtlBaseLib* Interface::GetSceneMtls()
Все ок. Я имею указатель на некую библиотеку. Могу получить кол-во материалов MtlBaseLib::Count().
Но, как мне получить i-ый материал? Функция MtlBaseLib::GetMaterial(int i) протектед! Вижу пока выход унаследоваться. Но имхо это грабли.
Прошу вашего совета.
А усе решил задачку.
MtlBaseLib это потомок Tab<MtlBase*>
и имеет перегруженный оператор []
Когда юзается указатель на MtlBaseLib то компилер думает, что это массив MtlBaseLib-ов.
Запилил вот так:
MtlBaseLib& usedMtls = *mif->GetSceneMtls();
int matCount = usedMtls.Count();
MtlBase* mtl = usedMtls[0];
Кушать подано!