力为的技术博客

联系 聚合 管理
  154 Posts :: 1 Stories :: 561 Comments :: 0 Trackbacks
GL_INVALID_OPERATION是OpenGL一个很诡异的错误代码,不知道到底是什么引起的无效操作。
即使在调用glDrawElements和glDrawArrays的时候有机会遇到,也不容易确定到底是哪个状态出错。

这里有一种情况可以间接的触发这个错误,并且会产生蝴蝶效应,让程序在后续的执行中产生更诡异不容易定位的错误。


texture + shader + glDrawElements/glDrawArrays

即在shader中使用texture绘制物体。

如果为shader中sampler设置的location位置与glActiveTexture不一致,就会触发glDrawElements操作失败。

另外,如果shader中定义了并使用了多个sampler,即使在某种条件下没有用到,也需要给他设置个值。
posted on 2014-08-28 16:55 力为 阅读(5310) 评论(0)  编辑 收藏 引用 所属分类: 2. Graphics

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理