osg学习(五十一)Warning: detected OpenGL error ‘invalid operation‘ at after RenderBin::draw(..)

在osg学习中遇到一个问题,在第一帧渲染时警告显示OpenGL错误'invalid operation'。该错误只出现一次,通常与Viewport设置有关。通过查阅资料,发现可能的原因是配置不当导致的,可以参考相关论坛讨论进行调试。建议修改osg::State的CheckForGLErrors设置为ONCE_PER_ATTRIBUTE以定位问题。
部署运行你感兴趣的模型镜像

原因是什么?

这个错误只出现一次,并且是在第一帧时出现。

 

Warning: detected OpenGL error 'invalid operation' after applying attribute Viewport 04292398

应该是执行报错

osg/Viewport.cpp
void Viewport::apply(State&) const
{
    glViewport( static_cast<GLint>(_x),static_cast<GLint>(_y),
                static_cast<GLsizei>(_width),static_cast<GLsizei>(_height) );
}

https://osg-users.openscenegraph.narkive.com/WV8ZHDLd/debugging-warning-detected-opengl-error-invalid-value-after-renderbin-draw

pState->setCheckForGLErrors(osg::State::CheckForGLErrors::ONCE_PER_ATTRIBUTE)

osg/State 
       enum CheckForGLErrors
        {
            /** NEVER_CHECK_GL_ERRORS hints that OpenGL need not be checked for, this
                is the fastest option since checking for errors does incur a small overhead.*/
            NEVER_CHECK_GL_ERRORS,
            /** ONCE_PER_FRAME means that OpenGL errors will be checked for once per
                frame, the overhead is still small, but at least OpenGL errors that are occurring
                will be caught, the reporting isn't fine grained enough for debugging purposes.*/
            ONCE_PER_FRAME,
            /** ONCE_PER_ATTRIBUTE means that OpenGL errors will be checked for after
                every attribute is applied, allow errors to be directly associated with
                particular operations which makes debugging much easier.*/
            ONCE_PER_ATTRIBUTE
        };

默认为:ONCE_PER_FRAME

 

 

 

 

 

 

您可能感兴趣的与本文相关的镜像

PyTorch 2.6

PyTorch 2.6

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值