Здравствуйте! Прошу помощи в данной задачке. Есть модели которые загружаются в openscenegraph проект в visual studio. Есть изображение которое используется в качестве текстуры для данных моделей. Все модели правильные могогранники. Я смог добиться того чтобы при смене изображения текстура менялась, но проблема в том что текстура натягивается на объект а не отображается корректно на каждой из сторон(к примеру куба). Посоветуйте пожалуйста как можно исправить это. Не могу прикрепить текстуру к модели в 3ds max поскольку требуется это сделать средствами osg.Вот сам код:
#include <iostream>
#include <osg/Light>
#include <osg/LightSource>
#include <osg/PositionAttitudeTransform>
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
int main(int argc, char** argv)
{
osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile("cube.3ds"); //загрузка модели
osg::ref_ptr<osg::StateSet> ss = loadedModel->getOrCreateStateSet();
osg::ref_ptr<osg::Image> image = osgDB::readImageFile("box_1.png"); //подгрузка изображения
osg::ref_ptr<osg::Texture2D> tex(new osg::Texture2D()); //создаем текстуру
tex->setImage(image);
ss->setTextureAttributeAndModes(0, tex);
osg::ref_ptr<osg::TexGen> texGen(new osg::TexGen());
texGen->setPlane(osg::TexGen::S, osg::Plane(0.075, 0.0, 0.0, 0.5));
texGen->setPlane(osg::TexGen::T, osg::Plane(0.0, 0.035, 0.0, 0.3));
ss->setTextureAttributeAndModes(0, texGen);
osgViewer::Viewer viewer; //Creating viewer
viewer.setSceneData(loadedModel);
viewer.setUpViewOnSingleScreen(0);
return viewer.run();
}/code>