wx_Ge94Jq7P 发表于 2017-4-24 21:20:11

模型放大后纹理不见了

求助各路大神,我用下面的语句放大模型cow.osg,渲染时发现牛表面的纹理不见了,
...
osg::ref_ptr<osg::Node> model = osgDB::readNodeFile("cow.osg");
osg::ref_ptr<osg::MatrixTransform> mt = new osg::MatrixTransform();
mt->setMatrix(osg::Matrix::scale(8.0, 8.0, 8.0));
mt->addChild(model);
...
是需要设置纹理的插值属性什么的吗?

freesource1 发表于 2017-4-27 17:09:44

不是不见了,是超出视景器了吧,被裁剪了

wx_Ge94Jq7P 发表于 2017-4-28 16:26:27

freesource1 发表于 2017-4-27 17:09
不是不见了,是超出视景器了吧,被裁剪了

裁剪会只裁剪掉纹理吗?程序表现是牛还在,但是整只牛的表面是黑色的。

jevonsea 发表于 2017-4-29 19:23:54

法线缩放归一化
getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL,osg::StateAttribute::ON);

wx_Ge94Jq7P 发表于 2017-4-30 11:00:17

jevonsea 发表于 2017-4-29 19:23
法线缩放归一化
getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL,osg::StateAttribute::ON);

多谢!
页: [1]
查看完整版本: 模型放大后纹理不见了