Некоторый контекст: я динамически генерирую некоторую графику на основе плиток, создавая Geom для каждой плитки (содержащей только пару трис), а затем объединяю все Geom в один GeomNode для всей карты.
Согласно документам panda3d , одно из применений GeomNode - возможность изменять текстуру для отдельных Geoms.Однако это не объясняет, как это сделать.
Вызов set_texture
для самого Geom не работает (предположительно, поскольку RenderState находится в GeomNode, а не в Geom).Я могу получить RenderState, соответствующий n-му Geom с geom_node.get_geom_state(n)
, и установить его снова с geom_node.set_geom_state(n, state)
, но я не знаю, как изменить RenderState, чтобы он применял текстуру, и из справочника API это выглядит оченьсложный.
Как изменить текстуру на отдельном Geom в GeomNode (и если ответ «поместить каждый Geom в свой собственный GeomNode», то есть ли причина иметь более одного Geom наGeomNode)