查看: 1130|回复: 4

模型放大后纹理不见了

[复制链接]

该用户从未签到

发表于 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);
...
是需要设置纹理的插值属性什么的吗?

该用户从未签到

发表于 2017-4-27 17:09:44 | 显示全部楼层
不是不见了,是超出视景器了吧,被裁剪了

该用户从未签到

 楼主| 发表于 2017-4-28 16:26:27 | 显示全部楼层
freesource1 发表于 2017-4-27 17:09
不是不见了,是超出视景器了吧,被裁剪了

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

该用户从未签到

发表于 2017-4-29 19:23:54 | 显示全部楼层
法线缩放归一化
getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL,osg::StateAttribute::ON);

该用户从未签到

 楼主| 发表于 2017-4-30 11:00:17 | 显示全部楼层
jevonsea 发表于 2017-4-29 19:23
法线缩放归一化
getOrCreateStateSet()->setMode(GL_RESCALE_NORMAL,osg::StateAttribute::ON);

多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表