我的OpenGL学习进阶之旅使用glDrawElements绘制的时候,不绘制任何图元,报错 1282 即 GL_INVALID_OPERATION

Posted 字节卷动

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的OpenGL学习进阶之旅使用glDrawElements绘制的时候,不绘制任何图元,报错 1282 即 GL_INVALID_OPERATION相关的知识,希望对你有一定的参考价值。

一、问题描述

在使用Opengl ES 绘制纹理的时候,因为接入的是其他人写好的EGL环境中,本来运行的好好的一个Opengl ES 纹理渲染特效,在今天因为某位同事修改了部分代码之后,导致了我的这个 Opengl ES 纹理渲染特效 不在绘制纹理了。

经过一番排查,最终确定了问题所在,但是由于代码是公司内部代码,不好拿出来,我这里模拟写一个demo,使用glDrawElements来绘制三角形图元,可以模拟出一样的错误。

二、问题模拟复现

这个效果之前在博客 【我的OpenGL学习进阶之旅】介绍顶点缓冲区对象VBO和元素数组缓冲区对象EBO,并对比使用VBO和不使用VBO绘制三角形的效果 中展示过

  • 正常的效果,绘制两个三角形

  • 出问题的效果,只绘制了一个三角形

以上是关于我的OpenGL学习进阶之旅使用glDrawElements绘制的时候,不绘制任何图元,报错 1282 即 GL_INVALID_OPERATION的主要内容,如果未能解决你的问题,请参考以下文章

我的OpenGL学习进阶之旅介绍一下 绘制图元

我的OpenGL学习进阶之旅介绍一下 绘制图元

我的OpenGL学习进阶之旅介绍一下 图元的类型:三角形直线和点精灵

我的OpenGL学习进阶之旅介绍一下 图元的类型:三角形直线和点精灵

我的OpenGL学习进阶之旅OpenGL ES 着色语言 (上)

我的OpenGL学习进阶之旅OpenGL ES 着色语言 (上)