|
大家好,我通过下面的代码简单为一个立方体设置纹理,我想实现一张纹理包裹整个立方体,而不是将整个问题重复贴到六个面中。
是不是要自己对立方体的六个面一个个指定在纹理中的对应坐标,如果是一个复杂的模型一个个面去指定纹理的坐标那得多大工作量? 或者通过3DMAX之类的软件预先将模型与纹理配置好,再导入到OSG中使用?
有没有见到的办法,可以为一个模型指定纹理图片,实现,图片多整个问题的包裹? 谢谢大家
Code:
.......
osg::ref_ptr<osg::ShapeDrawable> shape1 = new osg::ShapeDrawable;
shape1->setShape( new osg::Box(osg::Vec3(-3.0f, 0.0f, 0.0f),
2.0f, 2.0f, 1.0f) );
osg::ref_ptr<osg::Geode> root = new osg::Geode;
root->addDrawable( shape1.get() );
osg::ref_ptr<osg::Image> image = osgDB::readImageFile("Images/clockface.JPG");
osg::ref_ptr<osg::Texture2D> texture = new osg::Texture2D;
texture->setImage(image.get());
root->getOrCreateStateSet()->setTextureAttributeAndModes(0, texture.get());
osgViewer::Viewer viewer;
viewer.setSceneData( root.get() );
return viewer.run();
......
|
-
立方体纹理
|