StromanStroman 2019-08-02 10:14 采纳率: 45%
浏览 328
已结题

为啥glDrawArrays不总是出现预期的图像呢?

各位大神你们好。
平台是iOS,用的工具是OpenGLES2.0,开发语言是Objective-C。
问题如下。
我现在试图使用OpenGLES2.0的顶点模式绘制线条,现在我以每条线条为单位,这里面每条线条都是若干个点的数据的集合。
每个线条我用一个数据模型来存储,数据模型中有一个NSData的属性来存储该数据模型对应的线条的所有的点的字节数据。
因为线条不是一条,所以我用C语法创建了一个GLuint类型的动态数组。
当我在要绘制这些线条的时候,我使用VAO数组中的一个来生成VAO,绑定VAO,然后创建VBO,VBO中使用的数据是数据模型中的NSData中的字节,绑定好VAO以后,我就把VBO删除了。
在这里我要强调的是数据模型和VAO数组中的元素都是一一对应的,不会出现错乱。
在渲染阶段,我也是顺次对各个VAO进行渲染,使用的是glDrawArrays方法,这里面用的是for循环。
而且在每次glDrawArrays之后我都会调用glFlush();glFinish();的。
这里面一次渲染是进行了若干次绘制,这若干次绘制就是用for循环来做的。
但是出来的效果并不是每次绘制都会出现预想的效果,就是说有些渲染并没有新的图像出现,请问这是为什么?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 已结题 (查看结题原因) 10月12日

    悬赏问题

    • ¥15 Excel发现不可读取的内容
    • ¥15 UE5#if WITH_EDITOR导致打包的功能不可用
    • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
    • ¥20 yolov5自定义Prune报错,如何解决?
    • ¥15 电磁场的matlab仿真
    • ¥15 mars2d在vue3中的引入问题
    • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
    • ¥15 算法题:数的划分,用记忆化DFS做WA求调
    • ¥15 chatglm-6b应用到django项目中,模型加载失败
    • ¥15 CreateBitmapFromWicBitmap内存释放问题。