避免图片丢失,建议阅读微信原文:
现在我们用 OpenGL 绘制了如下的立方体:
不管我们怎么旋转立方体,从任何一个方向去看它,最多都只能看到三个面。
那么对于 OpenGL 来说,那看不到的另外三个面完全可以不用绘制它,从而提高绘制的性能。
[阅读全文]避免图片丢失,建议阅读微信原文:
现在我们用 OpenGL 绘制了如下的立方体:
不管我们怎么旋转立方体,从任何一个方向去看它,最多都只能看到三个面。
那么对于 OpenGL 来说,那看不到的另外三个面完全可以不用绘制它,从而提高绘制的性能。
[阅读全文]在之前使用 OpenGL 顶点缓冲区 VBO 的使用 为顶点坐标、纹理坐标分别绑定了顶点缓冲区,并且在 onDrawFrame 方法里面也要分别为顶点坐标、纹理坐标指定数据。
这就存在了一些重复的操作。
在 OpenGL ES 3.0 可以使用顶点数组对象来解决这一问题。
[阅读全文]在之前的绘制过程中,首先都需要将物体的顶点数据保存在内存中,然后 glDrawArrays
或 glDrawElements
绘制前,将顶点数据送入到显存中,这样会存在 I/O 开销较大的问题,性能也不够好。
可以将顶点数据存放在顶点缓冲区中,就不需要在每次绘制前把顶点数据复制进显存,而是在初始化顶点缓冲区对象时一次性将顶点数据送入显存,每次绘制时直接使用显存中的数据,可以大大提高渲染性能。
[阅读全文]避免图片丢失,建议阅读微信原文:
在 Android 中有一个类 PorterDuffXfermode ,它是用来设置颜色混合方式的,也就是在已有颜色的基础上再绘制一笔颜色,这两个颜色是如何进行混合的,是新绘制的颜色覆盖了原有颜色,还是新绘制的颜色和原有颜色混合组成另一种颜色呢。
在 OpenGL 中同样有这样颜色混合的问题。
[阅读全文]学习一下如何在 Native 代码中使用线程。
[阅读全文]在前面的博客文章中有提到 OpenGL 裁剪测试及注意点,并且裁剪测试只能裁剪一个矩形区域,相当于就是把整个内容都绘制上去了,但是透过一个小矩形区域来看绘制的物体。
除了透过矩形区域,还可以实现透过任意形状区域来观察物体,这就是要用到 OpenGL 的 Alpha 透明度测试。
关于 Alpha 透明度测试,在 用 OpenGL 对视频帧内容进行替换 也用实践用到过。
[阅读全文]学习了一段时间的 OpenGL ES,并在公司的项目中得到了运用,也算是有了一些积累,现在分享一些当初学习的资源,大家一起来学习,共同交流进步。
[阅读全文]在 OpenGL 中启用裁剪测试可以在屏幕或者帧缓冲上指定一个矩形区域,然后在该矩形区域内绘制,只有在该区域内的片元才有机会最终进入帧缓冲,不在该区域内的将会被丢弃。
[阅读全文]避免图片丢失,建议阅读微信原文:
在使用 OpenGL 绘制时,我们最多绘制的是一些简单的图形,比如三角形、圆形、立方体等,因为这些图形的顶点数量不多,还是可以手动的写出那些顶点的,可要是绘制一些复杂图形该怎么办呢?
[阅读全文]