查看: 764|回复: 2

osg加载3ds文件后再加载文件出现错误

[复制链接]

该用户从未签到

发表于 2016-9-6 09:01:28 | 显示全部楼层 |阅读模式
本帖最后由 wpjiang8888 于 2016-9-6 09:26 编辑

对osgViewerMfc 进行改造、允许加载多个模型,在加载3ds文件时,debug模式下加载3ds文件(无论是否加载纹理),再加载3ds或者osg文件,都会出现错误,定位到下面的程序段中的_DEBUG_ERROR("vector iterator not incrementable"); release模式下无问题。多次加载osg文件也问题此问题。注释掉多线程后不出现此情况,求高手指教。

_Myiter& operator++()
                {        // preincrement
#if _ITERATOR_DEBUG_LEVEL == 2
                if (this->_Getcont() == 0
                        || this->_Ptr == 0
                        || ((_Myvec *)this->_Getcont())->_Mylast <= this->_Ptr)
                        {        // report error
                        _DEBUG_ERROR("vector iterator not incrementable");
                        _SCL_SECURE_OUT_OF_RANGE;
                        }

#elif _ITERATOR_DEBUG_LEVEL == 1
                _SCL_SECURE_VALIDATE(this->_Getcont() != 0);
                _SCL_SECURE_VALIDATE_RANGE(
                        this->_Ptr != 0
                        && this->_Ptr < ((_Myvec *)this->_Getcont())->_Mylast);
#endif /* _ITERATOR_DEBUG_LEVEL */

                ++this->_Ptr;
                return (*this);
                }
请高手指教!

该用户从未签到

 楼主| 发表于 2016-9-6 09:49:34 | 显示全部楼层
问题大致清楚了,不应该直接addchild,而是通过handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& aa)来添加模型。以前做过,忘记了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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